跳转至正文

← 返回索引页

2.1.1 变更日志

依赖关系​

  • haply-将inverse-c.dll更新至 2.1.1 版(要求:Inverse SDK >= 2.1)
  • Haply将.Inverse.dll更新至 2.1.1 版
  • 添加了com.unity.xr.core-utils版本 2.3.0
警告

与 Unity2022.1.0f1 之前的版本不再兼容。 如果遇到兼容性问题,请更新至最新版本。

影响兼容性的变更​

  • Inverse3 以及 VerseGrip是 ConnectionStateChanged 作为事件的第一个参数 device传递。
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • DeviceMapper的 State 该属性已更改为只读。

新功能​

  • Inverse3Body组件会将Inverse3 设备的主体方向应用到指定的 GameObject 上。
  • Inverse3:
    • 设备数据(检查器)是 ControlMode发送到设备的最后一条 Force, Position 或者 Angles显示。
    • JointsAngles 以及 JointsAngularVelocity.
    • Powered表示该设备当前是否通电。
    • PowerSupplyStatusChanged 每当电源状态发生变化时,Unity 事件就会触发。
    • Orientation用于获取Inverse3 设备的当前方向。
    • OrientationChangedAsync 每当主体方向发生变化时,都会触发此事件。
    • RequestOrientation()会手动请求主机方向。
    • ControlMode获取当前控制模式(CursorForce、CursorPosition、JointsTorques、JointsAngles)。
    • ControlModeChanged 每当控制模式发生变化时,Unity 事件就会触发。
    • ForceOutput, PositionOutput, JointsTorqueOutput 以及 JointsAnglesOutput获取当前输出值。
    • Release()通过发送空请求来重置设备控制(TryResetForce()(代替)。
    • CoordinateConverter通过预设文件或直接输入的值来定义坐标转换设置。
    • ErrorEvent当与已映射设备相关的 ClientConnection 错误事件被添加时(在主线程中),该事件会被触发。
  • VerseGrip:
    • CoordinateConverter通过预设文件或直接输入的值来定义坐标转换设置。
    • ErrorEvent当与已映射设备相关的 ClientConnection 错误事件被添加时(在主线程中),该事件会被触发。
  • 设备映射器:
    • 映射运行时连接的设备。
    • 获取每个Inverse3 设备的Inverse3 电源和 机身方向。
    • DeviceInfoPollingMode 模式是 Manual, Once(默认值)或 Continuous是。
    • devicesInfoPollDelay当请求主机方向时,其安全下限为 1sec, 否则 0.5sec是。
    • 仅当组件处于激活状态时才会进行初始化。
    • 已筛选设备的获取器:
      • GetInverse3Devices(handedness)该方法返回按指定手性(handedness)过滤后的Inverse3 设备。
      • GetVerseGripDevices(handedness)获取与指定手部方向匹配且已连接至Inverse3 设备的 VerseGrip设备。
      • GetInverse3(handedness)该方法会获取第一个与指定手部方向匹配的Inverse3 设备。
      • GetInverse3(verseGrip)获取与给定的VerseGrip设备配对的Inverse3 设备。
      • GetVerseGrip(inverse3)该方法用于获取与指定Inverse3 设备关联的VerseGrip设备。
  • 已将OrientationSettings添加到 VerseGripCursor 和 Inverse3Body 组件中。
  • VerseGrip.Orientation这个 VerseGrip.LocalRotation将其替换为。
  • Inverse3 针对缓存的显式 逆 3D数据 类型:
    • 缓存状态属性: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • 缓存的控制输出属性: ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter用于将接收和发送的数据转换为指定的坐标系。
    • 缓存通过订阅客户端来自动更新。
    • 缓存更新时,会触发该事件。
  • 三个 float 成员 j0, j1, j2具有……的显式 Joint3 结构体(JointsSetTorque 以及 JointsSetAngles(用于……)。
  • VerseGrip 缓存的显式 VerseGripData 类型:
    • 缓存状态属性: Orientation, IsAttached, ButtonCount.
    • 缓存的按钮状态。
    • 缓存通过订阅客户端来自动更新。
    • coordinateConverter用于将接收到的数据转换为指定的坐标系。
    • 缓存更新时,会触发该事件。
  • 坐标转换器(UnityConvert (替代)分别定义了将设备坐标系 转换为 Unity 坐标系的方法:
    • Inverse3CoordinateConverter将光标坐标和主体方向进行转换。
    • VerseGripCoordinateConverter可转换 VerseGrip 的方向。
    • Vector3Settings 以及 QuaternionSettings 该结构体用于存储坐标系转换设置。
    • 在“组件”或“资源”菜单中,为Inverse3 和VerseGrip创建默认坐标转换器预设。
      • Inverse3 (手臂向前姿势)转换器:此设置适用于手臂朝向用户且 LED 图标位于侧面的 设备。
      • Inverse3 (图标向前姿势)转换器:此设置适用于 LED 图标朝向用户且手臂位于侧面的 设备。
      • VerseGrip(默认)转换器:适用于屏幕朝上且用户输入按钮位于顶部的设备。
  • 当设备打开时 客户端连接这个 FirmwareVersion, GravityCompensation, TorqueScaling获取。
  • 连接监控器是 GravityCompensation, TorqueScaling, PowerSupply显示。

错误修复​

  • JointsSetTorque 以及 JointsSetAngles 使用时也 Inverse3.DeviceStateChanged修复了该现象被触发的错误
  • 断开连接后,设备将自动重新连接
  • 构建结束时清理客户端轮询线程
  • 修复了错误并提高了稳定性。
  • 在场景卸载/加载后修改设备映射

停止资助​

  • 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)将被替换为

←返回目录页