跳到主要内容

← 返回索引页

2.0.0 更新日志

依赖项​

  • Haply Inverse Runtime SDK 2.0.0 版本
    • haply-inverse-service.exe:最低 2.0.0 版本(必须在后台运行)
    • haply-inverse-c.dll:2.0.0 版本(已包含)
  • Haply.Inverse.dll:2.0.0 版本(已包含)

破坏性变更​

  • 将 HapticThread 和 HandleThread 替换为 Inverse3 和 VerseGrip。
  • 使用 DeviceStateChanged(device) 高频订阅事件替代 Run(callback) 方法。
  • 将 hapticThread.onInitialized 事件替换为 Inverse3.DeviceOpened。
  • 将 handleThread.onInitialized 事件替换为 VerseGrip.DeviceOpened。
  • 触觉回调参数不再包含光标的 position 和 velocity。
  • 移除了线程安全的托管 AdditionalData,改为由用户自行定义数据处理方式。

新功能​

  • 监控窗口(Window > Haply > Connection Monitor),用于可视化已连接设备的状态。
  • Haply 创建菜单(GameObject > Haply > Haptic Rig),可一键完成场景设置,并自动添加所有必需的 GameObjects。
  • DeviceMapper,用于自动分配 Inverse3 和 VerseGrip 设备。
  • Client Configuration 组件,用于特定连接场景,并可控制所需的触觉循环 频率。
  • Inverse3 组件 (替代 HapticThread),用于在空间中定位 Inverse3 设备、获取其位置, 并在高频线程中控制力。
    • Inverse3.DeviceStateChanged 事件,在高频运行的独立触觉线程中触发。
    • 自动将设备局部空间转换为场景世界空间,所用的线程安全缓存变换矩阵为 LocalToWorldMatrix 和 WorldToLocalMatrix。
    • Inverse3.LocalPosition 和 Inverse3.LocalVelocity 提供设备局部空间中未经处理的 光标坐标。
    • Inverse3.Position 和 Inverse3.Velocity 提供经世界空间变换后的光标坐标。
    • Inverse3.SetLocalForce 和 Inverse3.SetLocalPosition 方法,用于通过局部 坐标控制设备。
    • Inverse3.SetForce 和 Inverse3.SetPosition 方法,用于通过世界坐标控制设备。
    • Inverse3.JointsSetTorque,用于直接控制电机。
    • Inverse3.JointsSetAngles,用于直接控制设备的臂部位置。
    • Inverse3.WorkspaceCenter 根据左右手方向提供工作空间中心坐标。
  • VerseGrip 组件 (替代 HandleThread),用于在高频线程中获取 VerseGrip 的姿态, 以及按钮状态和吸附状态。
    • VerseGrip.DeviceStateChanged 事件,在高频运行的独立触觉线程中触发。
    • VerseGrip.GetButton、VerseGrip.GetButtonDown 和 VerseGrip.GetButtonUp 方法,供触觉线程内使用, 其逻辑与 UnityEngine.Input 保持一致。
    • Unity 事件在主线程中触发,用于场景和 UI 交互:VerseGrip.ButtonDown、VerseGrip.ButtonUp、VerseGrip.Attached, 以及 VerseGrip.Detached。
  • Inverse3Cursor 和 VerseGripCursor 组件,用于在场景中可视化光标的位置和姿态, 并管理模型。
  • HapticOrigin GameObject,便于工作空间的缩放与定位。
  • 使用 gizmos 可视化设备位置、姿态及左右手方向。
  • 使用 gizmos 可视化可达工作空间。
  • 日志过滤功能。
  • 教程示例。
  • 实验性示例。

问题修复与改进​

  • 检测到设备时即提供 Inverse3 的左右手方向,无需再打开设备进行查询。
  • 设备自动检测 (借助 Haply Inverse Service 和 DeviceMapper)
  • 将触觉循环频率从约 1000Hz 提升至约 4000kHz。

← 返回索引页