跳到主要内容

Inverse3 与 VerseGrip 控制器

Inverse3 与 VerseGrip 控制器经过精心设计,借助 设备映射器,可将各自的物理设备与 Unity 游戏对象无缝集成。 这些组件利用高频传感器数据,可在虚拟环境中实现精确且灵敏的控制。 两者的功能在逻辑和能力上高度协调一致,确保统一的用户体验。

这些控制器是 Haply Inverse Unity Package 的基石,通过充分利用 Haply 硬件的先进能力,使开发者能够打造沉浸式、可交互的 VR 应用。 它们能够高效处理设备本地坐标与游戏世界空间参数之间的转换,确保真实、引人入胜的交互体验。

Inverse3 控制器​

Inverse3 控制器组件对于将 Inverse3 设备与其对应的游戏对象关联起来至关重要。 它利用高频传感器数据,在虚拟空间中准确反映设备的物理运动。主要功能包括:

Inverse3 主要功能与 API​

  • 设备状态变化事件:作为 Inverse3 控制器 的核心,该事件在每个触觉帧触发,实时提供光标位置和速度的更新。 对于需要持续跟踪设备状态或实现实时控制命令的应用而言,该事件至关重要。

  • 获取位置与速度:提供 CursorPosition、CursorVelocity、CursorLocalPosition 和 CursorLocalVelocity 等属性,用于获取设备的当前状态,对于准确地将物理运动映射到虚拟空间至关重要。

  • 力与位置控制:提供 SetCursorForce 和 SetCursorPosition 等方法,用于直接操控设备,使开发者能够施加力或设置位置,从而增强虚拟交互。

Inverse3 检视面板​

inverse3-controller-editor

  • 设备:选择特定设备。点击 <refresh device list> 会使用设备映射器在编辑器模式下获取设备,并更新所有 设备 下拉菜单。
  • 左右手:根据设备的左右手配置筛选设备。
  • 光标:链接到 Inverse3Cursor 对象,该对象会随设备位置更新同步移动。
  • 本体:连接到代表设备物理本体方向的 Inverse3Body。
  • 坐标转换:定义设备的光标位置和本体方向如何转换到游戏世界中,确保映射准确且可自定义。
  • 光标数据: 显示光标在游戏世界中的位置。
  • 设备数据: 显示设备的实时输入和输出数据。
  • 事件:在主线程上触发的 Unity 事件,用于促进场景交互或 UI 更新。
    • Ready:表示设备已准备就绪,可以使用。
    • ControlModeChanged:表示设备控制模式(例如力控制或位置控制)的变化。
    • PowerSupplyStatusChanged:通知设备电源状态的变化。

inverse3-controller-runtime

Inverse3 Gizmos​

提供设备位置以及光标最大可达距离的视觉指示,并根据左右手进行颜色编码。

  • 蓝色表示左手设备。
  • 红色表示右手设备。
  • 对于左右手未分配的设备,在运行时确定之前会同时显示两种颜色。

inverse3-left-right

VerseGrip 控制器​

与 Inverse3 控制器类似,VerseGrip 控制器会将 VerseGrip 设备分配给关联的游戏对象。 该组件对于使用 VerseGrip 独有的输入功能至关重要。

VerseGrip 主要功能与 API​

  • 设备状态变化事件:通知设备方向和按键状态的变化,通过及时反馈用户输入和设备方向,支持交互式应用。

  • 按键交互:提供用于检测按键交互的方法(GetButton、GetButtonDown、GetButtonUp),从而将输入机制引入触觉线程。

  • 附接状态:监控设备与其他设备的附接状态,通过 Attached 和 Detached 事件发出信号,适用于依赖设备物理配置的应用。

VerseGrip 检视面板​

versegrip-controller-editor

  • 设备:选择特定设备。点击 <refresh device list> 会在编辑器模式下激活客户端,并刷新所有 设备 下拉菜单。
  • 光标:链接到 VerseGripCursor 对象,该对象会根据设备方向的更新而旋转。
  • 坐标转换:定义设备方向如何转换到游戏世界中,确保映射准确且可自定义。
  • 光标数据: 显示光标在游戏世界中的旋转。
  • 设备数据: 显示设备的本地旋转、按键状态和附接状态。
  • 事件:在主线程上触发 Unity 事件,以支持场景或 UI 交互。
    • Ready:表示设备已准备就绪,可以使用。
    • Button Down:按键按下时触发。
    • Button Up:按键释放时触发。
    • Attached:表示设备已附接到 Inverse3。
    • Detached:表示设备已从 Inverse3 分离

versegrip-controller-runtime