Inverse3 以及 VerseGrip 控制器
Inverse3 此外,VerseGrip 控制器经过专门设计,利用Device Mapper将各自的物理设备无缝集成到 Unity 的游戏对象中。 通过利用高频传感器数据,这些组件能够在虚拟环境中实现精准且响应迅速的控制。 两者的功能在逻辑和功能层面都相互协调,从而提供统一的用户体验。
这些控制器是“Haply Inverse Unity Package”的基础,通过充分利用Haply 硬件的高级功能,使开发者能够构建具有出色沉浸感和交互性的VR应用程序。 它们巧妙地管理设备本地坐标与游戏世界空间参数之间的转换,从而确保实现自然且引人入胜的交互体验。
Inverse3 控制器
Inverse3 控制器组件对于将Inverse3 设备与相应的游戏对象关联起来至关重要。 它利用高频传感器数据,将设备的物理运动精确地反映到虚拟空间中。其主要功能如下:
Inverse3 的主要功能和 API
-
设备状态变化事件:Inverse3 是控制器中的核心事件,会在每个触觉帧中触发,并提供光标位置和速度的实时更新。 对于需要持续跟踪设备状态的应用程序,以及在实现实时控制命令时,该事件必不可少。
-
检索位置和速度:
CursorPosition、CursorVelocity、CursorLocalPosition、CursorLocalVelocity提供诸如等属性,可用于访问设备的当前状态。这对将物理运动精确映射到虚拟空间至关重要。 -
力和位置控制:
SetCursorForceやSetCursorPosition提供了诸如……等方法,可直接操作设备。开发者可以施加力或设置位置,从而增强虚拟空间中的交互体验。
Inverse3 检查器视图

- 设备:选择特定设备。
<refresh device list>点击后,将使用 Device Mapper 在编辑模式下获取设备,并获取所有 设备 更新下拉菜单。 - 手性:根据左右手使用的设置对设备进行筛选。
- 光标:与Inverse3Cursor对象关联,并随设备位置的更新而移动。
- 主体:连接到表示设备物理本体方向的Inverse3Body。
- 坐标转换:定义如何将设备光标位置和本体方向转换为游戏世界中的坐标。可实现精确且可自定义的映射。
- 光标数据:显示光标在游戏世界中的位置。
- 设备数据:显示设备的实时输入数据和输出数据。
- 活动:这是一种由主线程触发的 Unity 事件,可简化场景交互和 UI 更新。
- 就绪:当设备可用时会发送通知。
- ControlModeChanged:表示设备控制模式(例如:力控制或位置控制)发生了变化。
- PowerSupplyStatusChanged:通知设备供电状态发生变化。

Inverse3 吉兹莫
提供显示设备位置和光标最大移动距离的视觉指示器。颜色根据是用于左手还是右手而有所不同。
- 蓝色表示左手用的设备。
- 红色表示右手用的设备。
- 对于左右设置未分配的设备,在运行时确定之前,将同时显示两种颜色。

VerseGrip 控制器
Inverse3 与控制器类似,VerseGrip 控制器会将 VerseGrip 设备分配给已关联的游戏对象。 该组件对于利用 VerseGrip 特有的输入功能至关重要。
VerseGrip 的主要功能与 API
-
设备状态变化事件:通知设备方向和按钮状态的变化。通过提供及时的反馈,支持根据用户输入和设备方向实现交互式应用程序。
-
按钮互动:用于检测按钮操作的方法(
GetButton、GetButtonDown、GetButtonUp)并具备该功能,实现了对触觉线程的输入机制。 -
附件状态:监控与其他设备的连接状态,
Attached以及Detached将通过事件进行通知。这对于依赖设备物理配置的应用程序非常有用。
VerseGrip 检查器视图

- 设备:选择特定设备。
<refresh device list>点击后,客户端将进入编辑模式,所有 设备 下拉菜单将更新。 - 光标:与VerseGripCursor对象关联,并根据设备方向的变化进行旋转。
- 坐标转换:定义如何将设备方向转换为游戏世界中的方向。可实现精确且可自定义的映射。
- 光标数据:显示游戏世界中光标的旋转状态。
- 设备数据:显示设备的本地旋转角度、按钮状态以及连接状态。
- 活动:在主线程中触发 Unity 事件,以支持场景和 UI 的交互。
- 就绪:当设备可用时会发送通知。
- Button Down:当按钮被按下时触发。
- Button Up:当按钮被松开时触发。
- 附注:当设备连接到Inverse3 时会显示此信息。
- 已断开连接:当设备从Inverse3 断开连接时显示此状态
