跳过至主要内容

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 检查器视图​

inverse3 控件的检查器

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

inverse3 控制器运行时

Inverse3 吉兹莫​

提供显示设备位置和光标最大移动距离的视觉指示器。颜色根据是用于左手还是右手而有所不同。

  • 蓝色表示左手用的设备。
  • 红色表示右手用的设备。
  • 对于左右设置未分配的设备,在运行时确定之前,将同时显示两种颜色。

inverse3 “左手用”和“右手用”的标识

VerseGrip 控制器​

Inverse3 与控制器类似,VerseGrip 控制器会将 VerseGrip 设备分配给已关联的游戏对象。 该组件对于利用 VerseGrip 特有的输入功能至关重要。

VerseGrip 的主要功能与 API​

  • 设备状态变化事件:通知设备方向和按钮状态的变化。通过提供及时的反馈,支持根据用户输入和设备方向实现交互式应用程序。

  • 按钮互动:用于检测按钮操作的方法(GetButton、GetButtonDown、GetButtonUp)并具备该功能,实现了对触觉线程的输入机制。

  • 附件状态:监控与其他设备的连接状态,Attached 以及 Detached 将通过事件进行通知。这对于依赖设备物理配置的应用程序非常有用。

VerseGrip 检查器视图​

VerseGrip 控制器的检查器

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

VerseGrip 控制器运行时