跳转至主要内容

Haply 逆向服务

Inverse Service作为后台进程在您的计算机上运行,并实时将Haply 上的触觉设备与您的应用程序连接起来。该进程负责处理您代码底层的所有工作:设备识别、串行通信、安全监控和状态传输——这样您就可以专注于实现用户体验。

系统要求与兼容性​

该服务可在主流桌面平台上运行,并可通过 WebSocket 客户端和 JSON 解析器以任何编程语言进行调用:

  • 平台: Windows 10 及以上版本(MSVC)、Linux(.deb-Paket),macOS
  • 支持语言:Python、JavaScript/TypeScript、C++、C#、Rust、Go、Java……凡是支持 WebSocket + JSON 的语言

官方支持的集成​

Haply 为Haply 、Inverse Unity Package、Toia、Geomagic Freeform和NVIDIA Isaac Lab维护专属集成方案。

此外,该服务可在任何具备 WebSocket 客户端和 JSON 解析器的平台或运行时环境中使用——我们已经将其与虚幻引擎(Unreal Engine)、TouchDesigner以及其他实时或模拟技术栈结合使用过。只要您的环境能够通过 WebSocket 进行连接,即可控制 Inverse 设备。

您可以在公开的示例代码库中找到各语言的具体示例:C++和Python。

通信接口​

该服务提供了两个通信渠道:

Kanal港口运输Zweck
模拟10001WebSocket实时命令/状态循环(1条消息输入 → 1个状态输出)
活动10020WebSocket(仅读取)系统事件:安全、电池、连接、控制速率警告
超文本传输协定10001REST无状态配置查询、设置、会话管理、设备检测

所有有效数据均为 JSON 格式。有关标准封装、端口和内容类型规则,请参阅JSON 规范。

应用场景​

Ziel入门
向触觉设备发送力或位置目标实时控制
配置基础设置、安装、预设或滤波器会议配置
在场景中移动(通过鼠标控制移动)导航模块
监听系统事件(安全、电池、连接)事件与监控
通过实例学习教程

坐标系​

Haply 的内部坐标系为右手系,Z 轴向上(+X 向右,+Y 向前,+Z 向上)。您可以通过一次基础变换将其映射到应用程序的坐标系——一旦设置完成,所有输入和输出都会自动进行转换。

有两种变换可将该设备定位到您的场景中:

  • 蒙太奇——设备的物理偏移(通过预设或显式设置)
  • 工作区——用于摄像机或场景导航的运行时偏移量(可通过手动或导航模块设置)

完整的坐标处理流程请参见“装配与工作区”部分。

执行该服务​

Inverse Service 可以以两种模式运行:

  • 嵌入Haply Hub (推荐) ——Haply Hub包含最新版本的服务,并在Hub打开时自动启动。无需手动配置;您将始终获得最新的错误修复。
  • 独立部署——使用Inverse Installer 将特定服务版本安装为Windows 服务或Unix 守护进程。这对于持续集成(CI)、无头部署或未运行 Hub 的计算机非常有用。

管理独立服务​

Windows — 打开“服务”应用:按下 Win+R, 请输入 services.msc 然后,查找“Haply 反向服务”,右键单击 → 启动/停止/重启。

Linux (systemd):

systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot

完整的 API 参考​

有关每个端点和每条消息的完整、可机读规范: