Inverse3 与 VerseGrip 光标
Haply Inverse Unity Package 引入了专为Inverse3 和 VerseGrip 设备设计的光标组件,可在 Unity 环境中实现精确的控制与交互。 这两个组件,即Inverse3 Cursor和VerseGrip Cursor,旨在根据对应的设备控制器提供的数据,动态调整游戏对象的位置和旋转。
概述
光标组件在物理Haply 设备与 Unity 中的虚拟游戏对象之间起到桥梁作用,将设备的位置和旋转数据转换为游戏对象的移动和朝向。 这种转换使用户能够以直观的方式与虚拟环境进行交互,并通过虚拟反馈映射其物理动作。
CursorBase 类
光标组件的核心是 CursorBase 类,它提供了 Inverse3Cursor 和 VerseGripCursor 共享的基础功能。
其中包括设备关联管理、模型实例化和可见性控制。
主要属性与方法
- 设备:将光标与其控制设备关联,并在运行时自动进行设置。
- 模型预制:指定光标模型所使用的预制体(Prefab),该预制体会自动作为
ModelParent对子对象进行实例化。 - ModelParent:定义实例化模型预制体的父级变换(Transform)。若未设置,则默认为光标的变换。
- 模型:直接引用场景中已有的光标模型。如果设置此选项,则跳过
ModelPrefab的实例化。 - HideControllerModel:控制光标模型的可见性,可根据游戏需求动态显示或隐藏。
- 半径:如果光标模型为球体,则表示其半径,该半径由模型的网格包围盒计算得出。
- 光滑度:
PositionSmoothness和RotationSmoothness提供了平滑光标位置和旋转的选项,以提升用户体验。
注意:在 Cursor 组件中正确引用光标模型至关重要,否则可能会导致意外行为。

通过Haptic Rig创建的默认光标模型带有彩色圆点,分别代表三个轴:Forward(蓝色)、Up(绿色)和Right(红色)。 该设计有助于在虚拟环境中直观地观察设备的朝向。对于已校准的VerseGrip,Forward应与指向方向对齐,Up应与顶面对齐。
Inverse3 Cursor 组件
Inverse3Cursor 专为Inverse3 设备设计,可在 Unity 中更新光标的本地位置,以反映设备的实际物理位置。
PositionSmoothness 该设置可用于调节光标移动的平滑度,通过控制光标对物理运动的响应速度来提升用户体验。
VerseGrip Cursor 组件
VerseGripCursor 将该功能扩展至 VerseGrip 设备,并在 Unity 中更新光标的旋转,以反映设备实际的物理旋转。
useDeviceLocalSpace 设置允许在世界坐标与父对象朝向之间选择光标的对齐方式,从而提高设计的灵活性。
RotationSmoothness 设置用于控制光标旋转平滑度的参数,使开发者能够微调光标对物理 VerseGrip 方向变化的响应速度。
实现细节
初始化时,若未分配 Model,光标组件会将指定的 ModelPrefab 作为 ModelParent 对子对象进行实例化,以确保其在场景中的可视化呈现。
这些组件会与其关联的 控制器设备 保持同步,实时调整光标的位置和旋转,以跟随设备的物理运动。
这两个组件既可以挂载在同一个 GameObject 上,同时控制其位置和旋转,也可以分别挂载到不同的对象上以适应不同的使用场景,为开发者在 Unity 中创建沉浸式触觉体验提供了多功能工具集。