MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

了解如何使用MRTK在混合现实中实现一些最广泛使用的常见交互模式。

  • 如何在Unity编辑器中模拟输入交互?
  • 如何抓取和移动物体?
  • 如何调整对象大小?
  • 如何精确地移动或旋转对象?
  • 如何使对象响应输入事件?
  • 如何添加视觉反馈?
  • 如何添加音频反馈?
  • 如何使用HoloLens 2样式的按钮预制件?
  • 如何使物体跟随您?
  • 如何使物体面对你?

如何在Unity编辑器中模拟输入交互?

MRTK支持编辑器内输入仿真。只需单击Unity的播放按钮即可运行场景。使用这些键模拟输入。按W,A,S,D键移动相机。按住鼠标右键,然后移动鼠标环顾四周。要举起模拟手,请按空格键(右手)或向左Shift键(左手)以使模拟手保持在视图中,请按T或Y键要旋转模拟手,请按Q或E(水平)/ R或F(垂直)

如何抓取和移动物体?

为了使对象可抓取,请分配以下两个脚本:ManipulationHandler.cs和NearInteractionGrabbable.cs(用于通过关节手跟踪输入进行直接抓取)ManipulationHandler支持近距离和远距离交互。您可以使用HoloLens 2的关节式手跟踪输入(近),手射线(远),运动控制器的光束(远),HoloLens凝视光标和空气轻击(远)来抓取和移动对象。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何调整对象大小?

ManipulationHandler.cs支持双手缩放/旋转。它可以与各种输入类型配合使用,例如HoloLens 2的关节式手输入,HoloLens 1的注视+手势输入以及Windows Mixed Reality沉浸式耳机的运动控制器输入。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何精确地移动或旋转对象?

将BoundingBox.cs分配给对象以使用“边界框”,即用于缩放和旋转对象的界面。默认情况下,它显示HoloLens 1样式的蓝色手柄和电线。要使用HoloLens 2样式的基于接近度的动画控制柄,您需要分配预制件和材料。有关配置详细信息,请参阅边界框文档和BoundingBoxExamples.unity场景。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何使对象响应输入事件?

将PointerHandler.cs分配给一个对象。在检查器中,您将能够使用事件OnPointerDown(),OnPointerUp(),OnPointerClicked(),OnPointerDragged()。要在脚本中使用这些事件,请实现IMixedRealityPointerHandler。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何添加视觉反馈?

将Interactable.cs分配给一个对象。在检查器中,创建一个新主题。使用Interactable的主题配置文件,您可以轻松地将视觉反馈添加到所有可用的输入交互状态。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

Interactable提供了各种类型的主题,包括着色器主题,该主题使您可以按交互状态控制着色器的属性。

视觉反馈的另一个重要组成部分是MRTK标准着色器。使用MRTK标准着色器,您可以轻松添加视觉反馈效果,例如悬停灯和接近灯。由于MRTK Standard着色器执行的计算比Unity Standard着色器少得多,因此您可以创建出色的体验。

创建一个新材质,然后选择“着色器”“混合现实工具包”>“标准”。或者,您可以选择使用MRTK标准着色器的现有材料之一。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何添加音频反馈?

将AudioSource添加到对象。然后,在公开输入事件的脚本中(例如Interactable.cs或PointerHandler.cs),将对象分配给事件,然后选择AudioSource.PlayOneShot()。您可以使用音频剪辑,也可以从MRTK的音频资产中选择一种。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何使用HoloLens 2样式的按钮预制件?

MRTK提供了各种类型的HoloLens 2的shell(OS)样式按钮。它提供了复杂的视觉反馈,例如接近灯,压缩盒和按钮表面的波纹效果。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

只需将HoloLens 2样式的可按下按钮预制件之一拖放到场景中即可。预制件使用上面介绍的Interactable.cs。您可以在Interactable中使用诸如OnClick()之类的公开事件来触发操作。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何使物体跟随您?

将RadialView.cs脚本分配给对象。它是Solver脚本系列的一部分,可让您在3D空间中实现各种类型的对象定位。SolverHandler.cs将被自动添加。下面是RadialView配置示例,可实现“懒惰跟随”标记的行为,就像HoloLens shell中的“开始”菜单一样。您可以指定最小/最大距离和最小/最大视角。下面的示例显示了将对象定位在15°范围内的0.4m和0.8m之间的范围内。调整“ Lerp Time”值,以使位置更新更快或更慢。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

如何使物体面对你?

将Billboard.cs脚本分配给一个对象。无论您处于什么位置,它都将始终面对您。您可以指定枢轴选项。

MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)
MRTK 101:如何使用混合现实工具包Unity进行基本交互(HoloLens 2,HoloLens,Windows混合现实,Open VR)

准备为混合现实创造惊人的体验吗?请访问以下页面,了解有关MRTK和混合现实的更多信息。

关于作者

东尹公园的图片Dong Yoon Park
UX Designer @Microsoft

原创文章,作者:游戏开发极客,如若转载,请注明出处:https://hololens2.cn/2020/10/17/mrtk-101%ef%bc%9a%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%b7%b7%e5%90%88%e7%8e%b0%e5%ae%9e%e5%b7%a5%e5%85%b7%e5%8c%85unity%e8%bf%9b%e8%a1%8c%e5%9f%ba%e6%9c%ac%e4%ba%a4%e4%ba%92%ef%bc%88hololens-2/

发表评论

电子邮件地址不会被公开。 必填项已用*标注