← 返回索引页
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)将被替换为