0

HoloToolkit-Unity-2017.4.3.0-Refresh的项目中有一些,但内置脚本中的一些已经过时了。我解决了这个问题,最近添加了一个OnInputClicked方法,但是在尝试构建它时,其他脚本中有很多错误,我更改为 MRTK v2。

我环顾四周,但似乎找不到任何关于如何在任何 MRTK v2s 文档中为 HoloLens 设备制作点击事件的教程。IInputHandler不再在 MRTK 中,但IMixedRealityInputHandler工作方式相同吗?

下面的代码是 clickEvent 与HoloToolkit. MRTK v2 还是一样吗?

public void OnInputClicked(InputEventData eventData)
{ 
   ...
}

这是否足以触发其他方法,还是我必须在void Update()-ish 中添加点击事件?另一个也是 - 这足以通过 hololens 触发点击事件吗?

谢谢!

4

2 回答 2

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)。

在这里,您可以找到有关 MRTK 2 中可用的输入以及如何设置它的完整概述。

于 2019-04-12T12:31:57.273 回答
1

文档中有一个 HTK 到 MRTK 移植指南:https ://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/HTKToMRTKPortingGuide.html#interface-and-event-mappings

这包含一个接口映射表,它应该有助于将预制件和接口从 HTK 迁移到 MRTK v2。

就这种特定情况而言IMixedRealityPointerHandler,如果您需要知道何时单击特定按钮(分配给特定指针),则确实是您正在寻找的。如果您只是想知道任何按钮何时被释放,这对您来说IMixedRealityInputHandler可能是一个更好的选择。

于 2019-04-26T19:30:05.637 回答