【发布时间】:2020-05-01 06:19:32
【问题描述】:
我想知道,只需订阅 Interactable OnClick 事件,我是用左手还是右手按下按钮。如果不将此信息与 OnClick 事件一起传递,这是否可行?
在决定接受点击请求之前,该按钮有相当多的逻辑要执行,因此通过全局侦听器复制所有这些是不可行的。
是否可以从其他地方获取 OnClick 信息?是否可以查询潜在的点击来源?
【问题讨论】:
标签: mrtk
我想知道,只需订阅 Interactable OnClick 事件,我是用左手还是右手按下按钮。如果不将此信息与 OnClick 事件一起传递,这是否可行?
在决定接受点击请求之前,该按钮有相当多的逻辑要执行,因此通过全局侦听器复制所有这些是不可行的。
是否可以从其他地方获取 OnClick 信息?是否可以查询潜在的点击来源?
【问题讨论】:
标签: mrtk
在不改变 Interactable 类的情况下,我发现的唯一方法是向 FocusProvider 查询活动指针,它一定是按下按钮的那个(在我的例子中): https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/Input/Pointers.html
【讨论】:
https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/Input/Controllers.html
设置您的控制器,记下轴名称,在代码中您可以在任何 GameObject 的更新循环中执行类似的操作:
if (Input.GetAxis("Axis1D.PrimaryHandButton") > 0.5f) {
// this axis (button) is pressed do something
}
【讨论】: