跳至主要内容

DeviceMapper 组件

Haply Inverse Unity 插件中的DeviceMapper组件用于管理Haply 设备(例如Inverse3 和 VerseGrip)的发现、映射和连接,并将其与场景中的 GameObject 及设备控制器关联。 它提供了一个统一的交互接口,可根据运行时条件实现动态控制和配置。

概述​

DeviceMapper的主要功能是列出已连接的设备,并将它们映射到场景中的设备控制器。

DeviceMapper 组件

基本设置​

DeviceMapper组件包含以下基本设置:

  • 自动获取设备列表:启用后,DeviceMapper 将在启动时通过 HTTP 请求自动获取已连接设备的列表。
  • 自动分配:启用后,DeviceMapper 会自动将已连接的设备映射到场景中的设备控制器。
  • 自动连接:启用后,DeviceMapper 会自动建立与设备之间的 WebSocket 连接。

高级设置​

DeviceMapper 高级设置

点击 Show Advanced Settings 点击按钮,即可访问 设备映射器 组件的其他设置:

  • 设备清单 URI:用于获取已连接设备列表的 URI。默认值为 http://localhost:10000/3.1/devices。
  • 取回重试延迟:如果首次请求失败,则在重新尝试获取设备列表之前需等待的时间(单位:秒)。默认值为 5。
  • 服务器 URI:用于连接设备服务器的 URI。默认值为 ws://localhost:10001。

统计信息​

展开 Statistics 折叠栏之后,设备映射器 将提供连接速率和 JSON 数据负载内容的统计信息,帮助开发者在开发过程中监控和管理设备,并便于排查问题。

Ready 事件​

当所有已连接的设备都完成配对和连接后,DeviceMapper 组件会触发 Ready 事件。 该事件表示此时可以安全地调用设备的 getter 方法(例如 GetInverse3Controller 或 GetVerseGripController),以获取场景中的设备控制器,以便进行后续交互。

设备控制器列表​

在 Unity 编辑器中,DeviceMapper 将提供一个动态列表,显示与已连接设备关联的场景设备控制器。 该列表包含设备类型、ID 和连接状态等详细信息。

设备列表

高级用法​

请参阅《设备映射》教程,了解如何在脚本中分步使用DeviceMapper组件手动列出、映射和连接设备。