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

基本设置
DeviceMapper 组件包含以下基本设置:
- Auto Fetch Devices List:启用后,DeviceMapper 会在启动时通过 http 请求自动获取已连接设备的列表。
- Auto Assign:启用后,DeviceMapper 会自动将已连接的设备映射到场景中的设备控制器。
- Auto Connect:启用后,DeviceMapper 会自动打开与设备之间的 websocket 连接。
高级设置

点击 Show Advanced Settings 按钮,即可访问 DeviceMapper 组件的其他设置:
- Device List URI:用于获取已连接设备列表的 URI。默认值为
http://localhost:10000/3.1/devices。 - Fetch Retry Delay:若首次请求失败,则在重新尝试获取设备列表之前的延迟时间(单位:秒)。默认值为
5。 - Server URI:用于连接设备服务器的 URI。默认值为
ws://localhost:10001。
统计信息
展开 Statistics 折叠栏后,DeviceMapper 会提供连接速率和 JSON 数据负载内容的统计信息,帮助开发者在开发过程中监控和管理设备,并便于排查问题。
Ready 事件
当所有已连接的设备都完成映射和连接后,DeviceMapper 组件会触发 Ready 事件。
该事件表示此时可以安全地调用设备 getter 方法(例如 GetInverse3Controller 或 GetVerseGripController),以获取场景中的设备控制器,进行后续交互。
设备控制器列表
在 Unity 编辑器中,DeviceMapper 会提供一个动态列表,显示与已连接设备关联的场景设备控制器。
该列表包含设备类型、ID 和连接状态等详细信息。

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