跳至主要内容
版本: 3.4.x

Inverse3 和 VerseGrip 光标

Haply Inverse Unity Package 为Inverse3 和 VerseGrip 设备引入了专门的光标组件,可在 Unity 环境中实现精确控制和交互。 这些组件(Inverse3 Cursor 和VerseGrip Cursor)旨在根据相应设备控制器的数据动态调整游戏对象的位置和旋转。

概述​

光标组件是实体Haply 设备与 Unity 中虚拟游戏对象之间的桥梁,可将设备的位置和旋转数据转换为游戏对象的移动和方向。 通过这种转换,用户可以以直观的方式与虚拟环境进行交互,用虚拟响应来反映他们的物理动作。

游标基类​

游标组件的核心是 CursorBase 类共享的基础功能。 Inverse3Cursor 和 VerseGripCursor. 这包括管理设备关联、模型实例化和可见性控制。

关键特性和方法​

  • 设备将光标与其控制设备相连,运行时自动设置。
  • 模型预制:指定游标模型的预制板,该预制板会自动实例化为 ModelParent.
  • 模型父变换定义实例化模型预制件的父变换。如果未设置,则默认为游标的变换。
  • 模型:直接引用场景中现有的游标模型。如果设置为 ModelPrefab.
  • HideControllerModel:控制光标模型的可见性,允许根据游戏要求进行动态显示/隐藏操作。
  • 半径:代表光标模型的半径(如果是球体),根据模型的网格边界计算得出。
  • 光滑度: PositionSmoothness 和 RotationSmoothness 提供了平滑光标位置和旋转的选项,增强了用户体验。

注意:在光标组件中正确引用光标模型对于避免意外行为至关重要。

光标

使用触觉装配创建的默认光标模型以彩色圆点代表三个轴:向前(蓝色)、向上(绿色)和向 右(红色)。 这种设计有助于在虚拟环境中直观显示设备的方向。对于校准过的 VerseGrip,"向前"应与指向方向一致,"向上 "应与顶面一致。

Inverse3 光标组件​

Inverse3Cursor 专门针对Inverse3 设备,更新光标在 Unity 中的本地位置,以反映设备的物理位置。

"(《世界人权宣言》) PositionSmoothness 该设置可调整光标移动的平滑度,通过控制光标对物理移动的响应速度来增强用户体验。

VerseGrip 光标组件​

VerseGripCursor 将功能扩展到 VerseGrip 设备,更新 Unity 中光标的旋转,以反映设备的物理旋转。

"(《世界人权宣言》) useDeviceLocalSpace 设置允许在世界或父对象方向之间选择光标对齐方式,提高了设计的灵活性。

"(《世界人权宣言》) RotationSmoothness 设置可控制光标的旋转平滑度,使开发人员能够微调光标对 VerseGrip 方向变化的物理响应速度。

实施细节​

初始化时,游标组件将实例化指定的 ModelPrefab 作为 ModelParent 如果 Model 未分配,确保场景中的视觉呈现。 这些组件与其相关的 设备控制器根据物理设备的移动实时调整光标的位置和旋转。

这两个组件可以连接到同一个 GameObject 上以控制其位置和旋转,也可以连接到不同的 GameObject 上以满足不同的使用情况,从而为开发人员在 Unity 中创建身临其境的触觉体验提供了一个多功能工具集。