跳转至主要内容

Inverse3 和VerseGrip控制器

Inverse3 控制器和VerseGrip​

Inverse3 和VerseGrip控制器旨在通过Device Mapper,将各自的物理外设与Unity游戏对象进行集成。 通过利用高频传感器数据,这些组件可在虚拟环境中实现精准且响应迅速的操控。 无论在逻辑还是功能方面,它们都实现了无缝对接,从而提供统一的用户体验。

这些控制器是 UnityHaply Inverse 套件的核心组成部分,该套件使开发者能够利用Haply 硬件的先进功能,创建沉浸式且交互式的 VR 应用。 它们能够轻松处理设备本地坐标与游戏世界空间参数之间的转换,从而确保交互体验真实且引人入胜。

控制器Inverse3​

Inverse3 控制器组件对于将Inverse3 外设与其对应的游戏对象进行绑定至关重要。 它利用高频传感器数据,在虚拟空间中精确反映外设的物理运动。其主要功能如下:

的主要功能和 APIInverse3​

  • “设备状态变化”事件:作为Inverse3 控制器的核心,该事件会在每次触觉帧中触发,并提供光标位置和速度的实时更新。 对于需要持续跟踪设备状态或实现实时控制的应用程序而言,该事件至关重要。

  • 位置和速度的恢复 : 提供以下房产,例如 CursorPosition, CursorVelocity, CursorLocalPosition et CursorLocalVelocity 以获取设备的当前状态,这对将物理动作与虚拟空间精确匹配至关重要。

  • 力与位置控制 : 提供诸如以下方法: SetCursorForce et SetCursorPosition 直接操控设备,使开发人员能够施加力或设定位置,从而丰富虚拟交互体验。

Vue 检查器Inverse3​

控制器编辑器Inverse3

  • 设备 : 选择特定设备。点击 <refresh device list> 利用设备映射器在“编辑器”模式下检索设备,并更新所有下拉列表 设备.
  • 手性:根据设备的手性设置(左撇子或右撇子)进行筛选。
  • 光标:即Inverse3Cursor 对象,其移动与设备的位更新同步。
  • Body:连接到Inverse3Body,该对象表示设备本体的物理姿态。
  • 坐标转换:定义光标位置和设备本体的朝向在游戏世界中如何进行变换,以确保精确且可自定义的映射关系。
  • 光标数据:显示光标在游戏世界中的位置。
  • 设备数据:显示设备的实时输入和输出数据。
  • 活动 : 在主线程上触发的 Unity 事件,这些事件有助于与场景进行交互或更新界面。
    • 就绪:表示设备已准备就绪,可以使用了。
    • ControlModeChanged:指示设备控制模式的变化(例如,力控制或位置控制)。
    • PowerSupplyStatusChanged:指示设备电源状态的变化。

控制器执行Inverse3

小玩意儿Inverse3​

提供设备位置以及光标可达的最大距离的视觉指示,并根据左右方向采用不同的颜色编码。

  • 蓝色部分表示适用于左手操作的设备。
  • 红色标记的是适用于右手的设备。
  • 对于未指定方向的设备,将同时显示这两种颜色,直到在运行时确定其方向为止。

GizmosInverse3 左侧和右侧

VerseGrip 控制器​

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

VerseGrip的主要功能和API​

  • “设备状态变化”事件:该事件会通知设备方向和按钮状态的变化,从而使交互式应用程序能够快速响应用户的输入和设备方向的变化。

  • 按钮交互 : 提供用于检测按钮交互的方法(GetButton, GetButtonDown, GetButtonUp),从而将输入机制路由到触觉线程。

  • 隶属国 : 监控其与其他设备的连接状态,并通过事件通知变化情况 Attached et Detached. 适用于依赖设备物理配置的应用程序。

VerseGrip 检查员视角​

控制器编辑器

  • 设备 : 选择特定的设备。点击 <refresh device list> 将客户端切换至编辑模式,并刷新所有下拉列表 设备.
  • 光标:与VerseGripCursor 对象相关联,该光标会根据设备的姿态更新而旋转。
  • 坐标转换:定义设备方向在游戏世界中的转换方式,以实现精确且可自定义的映射。
  • 光标数据:显示光标在游戏世界中的旋转角度。
  • 设备数据:显示设备的本地旋转角度、按钮状态和连接状态。
  • 活动 : 在主线程上触发 Unity 事件,以支持与场景或界面的交互。
    • “就绪”:表示设备已准备好投入使用。
    • 按钮被按下:当按钮被按下时触发。
    • 按钮松开:当按钮被松开时触发。
    • 已连接:表示该设备已连接至Inverse3 。
    • “Détaché”:表示该设备已从Inverse3

versegrip-controller-runtime