我的项目中有HoloToolkit-Unity-2017.4.3.0-Refresh
,但是内置脚本中的一些已经过时了。我解决了这个问题,最近添加了一个OnInputClicked
方法,但是在尝试构建此方法时,其他脚本中存在太多错误,因此我改用了MRTK v2。
我环顾了一下,但似乎在任何MRTK v2s文档中都找不到有关如何为HoloLens设备创建click事件的教程。 IInputHandler
不再位于MRTK中,但是IMixedRealityInputHandler
的工作原理相同吗?
下面的代码是clickEvent在HoloToolkit
中的外观。 MRTK v2是否仍然相同?
public void OnInputClicked(InputEventData eventData)
{
...
}
这是否足以触发其他方法,还是我必须在void Update()
-ish中添加click事件?另外一个-是否足以通过hololens触发点击事件?
谢谢!
答案 0 :(得分:1)
我调查了一下,然后将其更改为(?)
public class NewBehaviourScript : MonoBehaviour, IMixedRealityInputHandler
{
public void OnInputUp(InputEventData eventData)
{
}
public void OnInputDown(InputEventData eventData)
{
}
}
或者也许您更想要IMixedRealityPointerHandler
public class NewBehaviourScript : MonoBehaviour, IMixedRealityPointerHandler
{
public void OnPointerUp(MixedRealityPointerEventData eventData)
{
}
public void OnPointerDown(MixedRealityPointerEventData eventData)
{
}
public void OnPointerClicked(MixedRealityPointerEventData eventData)
{
}
}
并且是肯定的,afaik应该足以调用那些方法(当然,它还需要在GameObject或其子级上的某个位置使用Collider)。
Here,您可以找到有关MRTK 2中可用的输入以及如何进行设置的完整概述。
答案 1 :(得分:1)
文档中有《 HTK到MRTK的移植指南》:https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/HTKToMRTKPortingGuide.html#interface-and-event-mappings
其中包含一个接口映射表,该表应有助于将预制件和接口从HTK迁移到MRTK v2。
就此特定情况而言,IMixedRealityPointerHandler
确实是您要寻找的,如果您需要知道何时单击了特定按钮(分配给特定指针)。如果您只是想知道何时释放任何按钮,IMixedRealityInputHandler
可能是您的更好选择。