跳转至主要内容

Inverse3 和VerseGrip光标

Haply 的Inverse Unity Package为Inverse3 和VerseGrip设备引入了专用手柄组件,可在Unity环境中实现精准的控制与交互。 这些组件——Inverse3 手柄组件和VerseGrip手柄组件——旨在根据相应设备控制器传来的数据,动态调整游戏对象的位置和旋转。

概述​

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

CursorBase 类​

光标组件的核心是该类 CursorBase,它提供了以下功能所共有的基本功能: Inverse3Cursor et VerseGripCursor. 这包括管理与设备的关联、模型的实例化以及可见性的控制。

关键属性与方法​

  • 设备:将光标与控制它的设备关联起来,该设备在运行时自动确定。
  • 模型预制 : 指定一个用于光标模型的预制件(prefab),该预制件将自动作为 ModelParent.
  • ModelParent:定义已实例化模型预制件的父变换。如果未定义,则默认采用光标的变换。
  • 模型 : 直接引用场景中现有的光标模型。如果此字段已定义,则实例化 ModelPrefab 被忽略了。
  • HideControllerModel:控制光标模型的可见性,可根据游戏需求动态显示或隐藏该模型。
  • 半径:表示光标模型的半径(若为球体),该半径根据模型网格(mesh)的边界计算得出。
  • 光滑度 : PositionSmoothness et RotationSmoothness 提供了光标位置和旋转的平滑处理选项,从而提升了用户体验。

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

光标

使用Haptic Rig 创建的默认光标模型包含代表三个轴的彩色点:前(蓝色)、上(绿色)和右(红色)。 这种设计有助于直观地显示设备在虚拟环境中的朝向。对于已校准的 VerseGrip,"前"应与指向方向对齐,而"上"应与顶面对齐。

光标组件Inverse3​

Inverse3Cursor 该功能专为Inverse3 设备设计,可更新Unity中光标的本地位置,以反映设备的物理位置。

该参数 PositionSmoothness 可调节光标移动的平滑度,通过控制光标对物理移动的响应速度,从而提升用户体验。

VerseGrip 滑块组件​

VerseGripCursor 将功能扩展至VerseGrip设备,通过更新Unity中的光标旋转设置,使其反映设备的物理旋转状态。

该参数 useDeviceLocalSpace 允许在世界坐标系和父对象坐标系之间选择光标的对齐方式,从而提供了更大的设计灵活性。

该参数 RotationSmoothness 控制光标旋转的平滑度,使开发人员能够精细调整光标对VerseGrip物理方向变化的响应灵敏度。

实现细节​

在初始化时,光标组件会实例化 ModelPrefab 被指定为……的子项 ModelParent si简体中文(大陆) Model 未被分配,这确保了该场景中具有视觉呈现。 这些组件会与其 设备控制器 关联对象,根据设备的物理运动实时调整光标的位置和旋转角度。

这两个组件既可以附加到同一个 GameObject 上以控制其位置和旋转,也可以附加到不同的 GameObject 上以满足不同的使用场景,从而为开发者提供了一个多功能的工具,用于在 Unity 中创建沉浸式的触觉体验。