输入模拟 - MRTK3

借助 MRTK 的输入模拟,你可以在 Unity 编辑器中测试各种类型的交互,而无需生成它们并将其部署到设备。 通过使用输入模拟,可以在设计和开发过程中快速迭代你的想法。 使用键盘和鼠标组合来控制模拟输入。

输入模拟服务模拟可能在 Unity 编辑器中不可用的设备和平台的行为。 示例包括:

  • HoloLens 或 VR 设备头部跟踪
  • HoloLens 手势
  • HoloLens 2 关节手跟踪
  • HoloLens 2 眼部跟踪

警告

在使用 Unity 的 XR 全息仿真 > 模拟模式 =“在编辑器中模拟”时,输入模拟不起作用。Unity 的编辑器内模拟将从 MRTK 的输入模拟中控制。 若要使用 MRTK 输入模拟,需要将 XR 全息模拟设置为:

模拟模式 =“无”

如何设置 MRTK3 输入模拟

在将输入模拟添加到场景中之前,请确保已在 MRTK3 的项目设置下启用“手部合成子系统”。 有关配置 MRTK3 设置的详细信息,请参阅子系统 - MRTK3。 如果未启用“手部合成子系统”,MRTK3 的手部模拟将不起作用。

接下来,将 MRTKInputSimulator 添加到场景中。 此预制件将通过输入模拟器组件启用 MRTK3 的输入模拟。 此组件使用 Unity 输入系统的 Input Action 资产来定义用于移动模拟器相机、眼睛凝视和手部的键绑定。 MRTK3 的输入模拟器预制件指定默认键绑定,如如何使用 MRTK3 输入模拟中所述。 这些键绑定在默认输入操作资产 MRTKInputSimulatorControl 中配置,其中包含两个控制方案(或控制集)。 一个控制集使用旧版 MRTK2 密钥绑定,另一个控制集使用较新版 MRTK3 键绑定。 默认情况下,MRTKInputSimulator 预制件使用 MRTK3 控件集,但这可通过设置模拟器的 Control Set 属性来更改。

An image showing a Unity inspector for MRTK3's input simulator component.

可通过更改输入模拟器组件上的 Input Action Reference 属性,修改输入模拟器的键绑定和可用控制集。 建议通过从项目窗口的右键单击菜单中选择“创建”>“输入操作”(而不是更改 MRTKInputSimulatorControls)来创建新资产。

如何使用 MRTK3 输入模拟(MRTK3 输入模拟器默认控件)

Camera

移动

操作 设备 控件 控件集 说明
水平移动 键盘 A / D 全部
键盘 向左/向右箭头 全部
垂直移动 键盘 Q/E 或上一页/下一页 全部
键盘 上一页/下一页 全部
深度移动 键盘 W / S 全部
键盘 向上/向下箭头 全部

旋转

操作 设备 控件 控件集 说明
间距 鼠标 向右按钮 + 向前/向后 全部
Yaw 鼠标 向右按钮 + 向左/向右 全部
Roll 鼠标 向右按钮 + 向上滚轮/向下滚轮 全部

眼部凝视

注意

为了更好地匹配提供眼动跟踪支持的硬件的行为,启用时会始终跟踪模拟眼睛视线。

视线

操作 设备 控件 控件集 说明
水平视线 键盘 + 鼠标 Tab + 鼠标向左/向右 全部
垂直视线 键盘 + 鼠标 Tab 键 + 向上/向下拖动鼠标 全部

左手/控制器

跟踪

操作 设备 控件 控件集 说明
锁定跟踪 键盘 T 全部 在预定位置切换左手开关
瞬时跟踪 键盘 左 Shift 键 全部 在鼠标当前位置切换左手开关
键盘 左 Alt 键 MRTK v3
键盘 左 Ctrl 键 MRTK v2

移动

操作 设备 控件 控件集 说明
水平移动 键盘 + 鼠标 左 Shift 键 + 鼠标左键/右键 全部
垂直移动 键盘 + 鼠标 左 Shift 键 + 向上/向下拖动鼠标 全部
深度移动 键盘 + 鼠标 左 Shift 键 + 鼠标滚轮向上/向下 全部

旋转

操作 设备 控件 控件集 说明
间距 键盘 + 鼠标 左 Alt 键 + 鼠标向前/后退 MRTK v3
键盘 + 鼠标 左 Ctrl 键 + 鼠标向前/后退 MRTK v2
Yaw 键盘 + 鼠标 左 Ctrl 键 + 鼠标向左/向右 MRTK v3
键盘 + 鼠标 左 Ctrl 键 + 鼠标向左/向右 MRTK v2
Roll 键盘 + 鼠标 左 Alt 键 + 鼠标滚轮向上/向下 MRTK v3
键盘 + 鼠标 左 Ctrl 键 + 鼠标滚轮向上/向下 MRTK v2

交互

操作 设备 控件 控件集 说明
手柄(按钮) 键盘 左 Shift 键 + G 全部
键盘 左 Alt 键 + G MRTK v3
键盘 左 Ctrl 键 + G MRTK v2
扳机键(按钮) 键盘 + 鼠标 左 Shift 键 + 鼠标左键 全部
键盘 + 鼠标 左 Alt 键 + 鼠标左键 MRTK v3
键盘 + 鼠标 左 Ctrl 键 + 鼠标左键 MRTK v2

姿势

操作 设备 控件 控件集 说明
更改无偏向姿势 键盘 左 Shift 键 + P 全部 在平面和就绪位置之间切换无偏向(静态)手部姿势。
面对相机 键盘 左 Shift 键 + F 全部 在面向相机和与相机向前向量对齐之间切换控制器旋转状况。

右手/控制器

跟踪

操作 设备 控件 控件集 说明
锁定跟踪 键盘 Y 全部 在预定位置切换左手开关
瞬时跟踪 键盘 Space 全部 在鼠标当前位置切换左手开关
键盘 左 Ctrl 键 MRTK v3
键盘 右 CTRL 键 MRTK v2

移动

操作 设备 控件 控件集 说明
水平移动 键盘 + 鼠标 空格 + 鼠标左键/右键 全部
垂直移动 键盘 + 鼠标 空格 + 向上/向下拖动鼠标 全部
深度移动 键盘 + 鼠标 空格 + 鼠标滚轮向上/向下 全部

旋转

操作 设备 控件 控件集 说明
间距 键盘 + 鼠标 左 Ctrl 键 + 鼠标向前/后退 MRTK v3
键盘 + 鼠标 右 Ctrl 键 + 鼠标向前/后退 MRTK v2
Yaw 键盘 + 鼠标 左 Ctrl 键 + 鼠标向左/向右 MRTK v3
键盘 + 鼠标 右 Ctrl 键 + 鼠标左键/右键 MRTK v2
Roll 键盘 + 鼠标 左 Ctrl 键 + 鼠标滚轮向上/向下 MRTK v3
键盘 + 鼠标 右 Ctrl 键 + 鼠标滚轮向上/向下 MRTK v2

交互

操作 设备 控件 控件集 说明
手柄(按钮) 空格 + G 全部
键盘 左 Ctrl 键 + G MRTK v3
键盘 右 CTRL 键 + G MRTK v2
扳机键(按钮) 键盘 + 鼠标 空格 + 鼠标左键 全部
键盘 + 鼠标 左 Ctrl 键 + 鼠标左键 MRTK v3
键盘 + 鼠标 右 Ctrl 键 + 鼠标左键 MRTK v2

姿势

操作 设备 控件 控件集 说明
更改无偏向姿势 键盘 空格 + P 全部 在平面和就绪位置之间切换无偏向(静态)手部姿势。
面对相机 键盘 空格 + F 全部 在面向相机和与相机向前向量对齐之间切换控制器旋转状况。