跳至主要内容
版本: 2.2.0

← 返回索引页

2.1.1 更新日志

依赖关系

  • 更新了haply-inverse-c.dll2.1.1 版(要求逆向 SDK >= 2.1)
  • 更新了Haply.Inverse.dll2.1.1 版
  • 已添加com.unity.xr.core-utils2.3.0 版
警告

2022.1.0f1 之前的 Unity 版本不兼容。 如果遇到兼容性问题,请更新到更高版本。

突破性变化

  • Inverse3 和 VerseGrip 通过 device 作为 ConnectionStateChanged 事件第一项
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • 设备映射器 State 属性改为只读

新功能

  • Inverse3Body组件将 Inverse3 设备的身体方向应用于指定的游戏对象。
  • 逆 3:
    • 设备数据(检查器)显示 ControlMode 最后 Force, PositionAngles 发送到设备。
    • JointsAnglesJointsAngularVelocity.
    • Powered 表示设备当前是否有电。
    • PowerSupplyStatusChanged 当电源状态发生变化时触发的统一事件。
    • Orientation 获取 Inverse3 设备的当前方向。
    • OrientationChangedAsync 事件时触发。
    • RequestOrientation() 来手动申请身体方向。
    • ControlMode 获取当前控制模式(CursorForce、CursorPosition、JointsTorques、JointsAngles)。
    • ControlModeChanged 每当控制模式发生变化时触发的统一事件。
    • ForceOutput, PositionOutput, JointsTorqueOutputJointsAnglesOutput 获取当前输出。
    • Release() 重置设备控制,方法是发送一个无效力(替换......)。 TryResetForce()).
    • CoordinateConverter 用预设文件或直接值定义坐标转换设置。
    • ErrorEvent 当 ClientConnection 错误事件附加映射设备时(在主线程上)触发
  • VerseGrip:
    • CoordinateConverter 用预设文件或直接值定义坐标转换设置。
    • ErrorEvent 当 ClientConnection 错误事件附加映射设备时(在主线程上)触发
  • 设备映射器:
    • 映射运行时连接的设备。
    • 获取每个 Inverse3 设备的 Inverse3电源机身方向
    • DeviceInfoPollingMode 模式 Manual, Once (默认)或 Continuous
    • devicesInfoPollDelay 安全最小值设为 1sec 如果要求身体定向、 0.5sec 否则
    • 仅在组件启用时初始化。
    • 过滤设备获取器:
      • GetInverse3Devices(handedness) 检索按指定手性筛选的 Inverse3 设备。
      • GetVerseGripDevices(handedness) 检索与 Inverse3 设备关联的、符合指定手势的 VerseGrip 设备。 指定手势的与反向 3 设备相关联的 VerseGrip 设备。
      • GetInverse3(handedness) 检索第一个符合指定手性的 Inverse3 设备。
      • GetInverse3(verseGrip) 检索与给定 VerseGrip 设备相关联的 Inverse3 设备。
      • GetVerseGrip(inverse3) 检索与指定 Inverse3 设备相关联的 VerseGrip 设备。
  • 在 VerseGripCursor 和 Inverse3Body 组件上添加了方向设置
  • VerseGrip.Orientation 顶替 VerseGrip.LocalRotation.
  • 明确 逆 3D数据 类型的逆 3 缓存:
    • 缓存状态属性: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • 缓存控制输出 属性 ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter 用于将接收和发送的数据与指定的坐标系进行转换。
    • 缓存订阅客户端,以便自动更新。
    • 在缓存更新时触发事件。
  • 明确 Joint3 具有树形浮点成员的结构体 j0, j1j2 (由 JointsSetTorqueJointsSetAngles).
  • 明确 VerseGripData 类型的 VerseGrip 缓存:
    • 缓存状态属性: Orientation, IsAttached, ButtonCount.
    • 缓存按钮状态。
    • 缓存订阅客户端,以便自动更新。
    • coordinateConverter 用于将接收到的数据转换为指定的坐标系。
    • 在缓存更新时触发事件。
  • 坐标转换器 (替换 UnityConvert) 来单独定义如何将设备坐标空间转换为 统一坐标空间:
    • Inverse3CoordinateConverter 来转换光标坐标和身体方向。
    • VerseGripCoordinateConverter 来转换 VerseGrip 方向。
    • Vector3SettingsQuaternionSettings 结构体,用于存储坐标系转换设置。
    • 从组件或 "资产 "菜单为 Inverse3 和 VerseGrip 创建默认坐标转换器预设。
      • Inverse3(光标正前方)转换器的设置适用于光标朝向用户的设备,LED 指示灯位于 侧。
      • 反向3(LED 正前方)转换器,用于设置 LED 正对用户的设备,光标在侧面。 侧。
      • VerseGrip(默认)转换器,用于设备指向屏幕,按钮位于顶部。
  • 客户端连接 获得 FirmwareVersion, GravityCompensationTorqueScaling 设备上打开。
  • 连接监控器 显示 GravityCompensation, TorqueScalingPowerSupply.

错误修复

  • Inverse3.DeviceStateChanged 也用 JointsSetTorqueJointsSetAngles.
  • 断开连接后自动重新连接设备。
  • 在构建退出时清理客户端轮询线程。
  • 修正了错误并提高了稳定性。
  • 修复场景卸载/加载后的设备映射

已停用

  • ClientConnection.Configuration.HapticFrequencyHz 改为 HapticPollFrequency
  • ClientConnection.Configuration.PollDelayNs 改为 HapticPollDelayNs
  • DeviceBehaviour.ConnectionStateChangedAsync 将在下一个主要版本中删除
  • Inverse3.Position 改为 Inverse3.CursorPosition
  • Inverse3.LocalPosition 改为 Inverse3.CursorLocalPosition
  • Inverse3.TryResetForce() 改为 Release()
  • VerseGrip.LocalRotation 改为 VerseGrip.Orientation
  • JointsSetTorque(Vector3) 改为 JointsSetTorques(Joint3)
  • JointsSetTorque(float, float, float) 改为 JointsSetTorques(float, float, float)
  • JointsSetAngles(Vector3) 改为 JointsSetAngles(Joint3)

← 返回索引页