Inverse3 与 VerseGrip 控制器
Inverse3 VerseGrip 控制器经过精心设计,借助设备映射器,可将相应的物理设备与 Unity 游戏对象无缝集成。 这些组件利用高频传感器数据,可在虚拟环境中实现精确且灵敏的控制。 两者的功能在逻辑和能力上高度协调一致,确保了统一的用户体验。
这些控制器是Haply Inverse Unity Package的基石,通过充分利用Haply 硬件的先进功能,使开发者能够打造沉浸式、可交互的VR应用。 它们能够高效处理设备本地坐标与游戏世界空间参数之间的转换,确保真实、引人入胜的交互体验。
Inverse3 控制器
Inverse3 控制器组件对于将Inverse3 设备与其对应的游戏对象建立关联至关重要。 它利用高频传感器数据,在虚拟空间中准确反映设备的物理运动。主要功能包括:
Inverse3 主要功能与 API
-
设备状态变化事件:作为Inverse3 控制器的核心,该事件在每个触觉帧中触发,实时提供光标位置和速度的更新。 对于需要持续跟踪设备状态或实现实时控制命令的应用而言,该事件至关重要。
-
获取位置和速度:提供
CursorPosition、CursorVelocity、CursorLocalPosition和CursorLocalVelocity等属性,用于获取设备的当前状态,这对将物理运动准确映射到虚拟空间至关重要。 -
力和位置控制:提供
SetCursorForce和SetCursorPosition等方法,用于直接操控设备,使开发者能够施加力或设置位置,从而增强虚拟交互。
Inverse3 查看面板

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

Inverse3 小玩意儿
提供设备位置以及光标最大可达距离的视觉提示,并根据左右手使用情况进行颜色区分。
- 蓝色表示左手侧的设备。
- 红色表示右手侧的设备。
- 对于尚未分配左右手的设备,在运行时确定之前,会同时显示两种颜色。

VerseGrip 控制器
与Inverse3 控制器类似,VerseGrip控制器会将VerseGrip设备分配给关联的游戏对象。 该组件对于使用VerseGrip特有的输入功能至关重要。
VerseGrip 的主要功能与 API
-
设备状态变化事件:通知设备方向和按键状态的变化,通过及时反馈用户输入和设备方向,支持交互式应用。
-
按键交互:提供用于检测按键交互的方法(
GetButton、GetButtonDown、GetButtonUp),从而将输入机制引入触觉线程。 -
连接状态:监控设备与其他设备的连接状态,通过
Attached和Detached该事件发出信号,适用于依赖设备物理配置的应用程序。
VerseGrip 查看面板

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