内容来自官方文档
操作系统:Win10
Unity版本:2019.4
MRTK版本:2.4.0
注意:需要的脚本可以通过在Assets文件夹搜索找到
Unity中模拟输入交互
MRTK 支持编辑器中的输入模拟。 单击 Unity 的播放按钮以运行场景,然后使用以下按键来模拟输入:
- 按 W、A、S、D 键可移动相机。
- 在按住鼠标右键的同时移动鼠标可以四处浏览。
- 按空格键(右手)或左 Shift 键(左手)以显示模拟双手
- 按 T 或 Y 键以将模拟双手保持在视野中
- 按 Q 或 E(水平)/R 或 F(垂直)来旋转模拟双手
抓取和移动对象
附加 ObjectManipulator.cs
(支持双手缩放旋转) 和 NearInteractionGrabbable.cs
脚本,使对象可抓取 ,对象需要有Box Collider
组件(组件中的Material属性选择Manipulator Material)。
精确移动或旋转对象(边界控制)
将 BoundsControl.cs
分配到某个对象以使用边界框(用于缩放和旋转对象的界面)。
使对象响应输入事件
将 PointerHandler.cs
分配到某个对象。 在检查器中,可使用事件 OnPointerDown()
、OnPointerUp()
、OnPointerClicked()
和 OnPointerDragged()
。若要在脚本中使用这些事件,请实现 IMixedRealityPointerHandler
。
添加视觉反馈
- 将
Interactable.cs
分配到某个对象。可以实现触发(选中、抓取等)时变色。
- MRTK 标准着色器
创建一个Material,Shader属性选择Mixed Reality Toolkit>Standard。添加到对象上可以实现光标经过对象表面时有高亮。
添加音频反馈
将 AudioSource 添加到某个对象。 然后,在公开输入事件的脚本(例如 Interactable.cs
或 PointerHandler.cs
)中,将带有 AudioSource 的对象分配到该事件,并选择 AudioSource.PlayOneShot()
。 可以使用自己的音频剪辑,或从 MRTK 的音频资产中进行选择。
添加HoloLens 2 样式按钮预制件
搜索pressableButton即可找到,拖入场景即可使用,自带选中效果,有Interactable.cs,可以自定义触发事件。
实现对象跟随
将 RadialView.cs
或 Follow.cs
脚本分配到某个对象 。此脚本是Solver脚本系列的一部分。会自动添加 SolverHandler.cs
。可以指定最小/最大距离和最小/最大视图角度。 以下示例演示如何在 0.4 到 0.8 米范围内以 15° 的视图角度定位对象。
使对象始终朝向自己
将 Billboard.cs
脚本分配到某个对象。不管你处于哪个位置,该对象都会朝向你。可以指定枢轴选项。