← 返回 索引页
3.1.0 更新日志
依赖项
- Haply Inverse SDK 版本 3.1.0:
- 已更新以支持
Inverse SDK 3.x.x通信协议。 - 增强了 JSON 序列化,以与
Inverse SDK 3.1.0的载荷格式保持一致。
- 已更新以支持
破坏性变更
-
库移除与重构:
- 移除了
Haply.Inverse2.x.x 库。 - 为提高一致性,重构了命名空间:
Haply.Inverse.Unity→Haply.Inverse。Haply.Inverse.Unity.Internal→Haply.Inverse。
- 移除了
-
组件名称更新:
DeviceBehaviour→DeviceControllerBase。CursorBehaviour→CursorBase。- 编辑器类更新:
DeviceBehaviourEditor→DeviceControllerBaseEditor。
-
控制器重构:
Inverse3→Inverse3Controller。VerseGrip→VerseGripController。Inverse3Controller中的属性和方法名称更新:Joint3→Angle3。JointsAngles→AngularPosition。JointsAngularVelocity→AngularVelocity。JointsAnglesOutput→AngularPositionOutput。JointsSetAngles→SetAngularPosition。JointsSetTorques→SetAngularTorque。
-
坐标转换系统:
- 更新了
Icon Forward Pose预设,以补偿默认设备控制器的旋转(90° 和 -90°)。 - 将变换逻辑更新为 轴置换 → 缩放 → 偏移,现已与 Unity 的内置逻辑保持一致。
此前采用的是 轴置换 → 平移 → 偏移(缩放后),直观性较差,与经过优化的内置方法的兼容性也较低。
- 将
Vector3Settings重命名为PositionConverter,将QuaternionSettings重命名为RotationConverter。
- 更新了
-
事件系统变更:
Inverse3Controller中的DeviceStateChanged事件现使用EventHandler和Inverse3EventArgs。VerseGripController中的DeviceStateChanged事件现使用EventHandler和VerseGripEventArgs。
缺失/已移除的功能
-
暂缓的功能:
- ConnectionMonitorWindow、ClientConfiguration 和 PerformanceData 已暂时移除。这些功能将在后续更新中恢复。
-
API 变更:
- 移除了
Inverse3Controller.RequestOrientation()方法。 - 移除了
OrientationChangedAsync事件。
- 移除了
新功能
-
无线设备支持:
- 全面支持新款无线 VerseGrip Stylus 设备。
-
协议升级:
ClientConnection已升级,以支持Inverse SDK 3.x.x通信协议。
-
设备映射:
- 新增用于在运行时设备设置中启用或禁用自动映射和自动连接的选项。
- 新增以下方法,以改进设备管理:
FetchDeviceListOnce和StartFetchingDeviceListWithRetry用于获取设备列表。GetInverse3Devices和GetVerseGripDevices用于获取已连接设备列表。GetInverse3Controllers和GetVerseGripControllers用于按左右手、设备类型等条件获取场景控制器。MapDevices用于将设备映射到指定控制器。UnmapDevices用于移除设备映射。SwapInverse3和SwapVerseGrip用于在控制器之间交换设备。
-
探测功能增强:
Inverse3Controller中新增ProbeCursorPosition方法,可在不发送控制指令的情况下获取光标位置。Inverse3Controller中新增ProbeAngularPosition方法,可在不发送控制指令的情况下获取角位置。
-
Inverse3Gizmos:
- Gizmos 现在可在运行时和编辑器模式下正确遵循坐标转换、手性和场景变换。
- 在工作空间中心显示设备的三轴手柄(反映设备的实际轴向)。
修复与改进
- 性能:
- 优化了坐标转换器,以提升性能和稳定性。
- 光标半径计算:
CursorBase现在会为所有基本网格计算缩放后的半径。
- 安全检查:
- 防止控制模式之间发生不安全的切换。
← 返回 索引页