跳转至正文

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对象关联,并会根据设备方向的更新而旋转。
  • 坐标转换:定义设备方向如何转换为游戏世界中的方向,从而确保映射的准确性和可定制性。
  • 光标数据:显示游戏世界中光标的旋转值。
  • 设备数据:显示设备的本地旋转值、按钮状态和连接状态。
  • 活动: 为了支持场景或 UI 交互,会在主线程上触发 Unity 事件。
    • 就绪:当设备准备好使用时,会发送信号。
    • Button Down:发生在按钮被按下时。
    • Button Up:当手离开按钮时触发。
    • 附图:显示设备连接到 Inverse3 时的状态。
    • 已断开:表示设备已从 Inverse3 上断开。

versegrip 控制器运行时