← Back to index page
2.1.1 Changelog
Dependencies
- Updated haply-inverse-c.dll version 2.1.1 (require Inverse SDK >= 2.1)
- Updated Haply.Inverse.dll version 2.1.1
- Added com.unity.xr.core-utils version 2.3.0
warning
Broke compatibility with Unity versions before 2022.1.0f1. Please update to a later version if you encounter compatibility issues.
Breaking Changes
- Inverse3 and VerseGrip pass
deviceasConnectionStateChangedevent first argumentConnectionStateChanged(state, prevState)>ConnectionStateChanged(device, state, prevState)ConnectionStateChangedAsync(state, prevState)>ConnectionStateChangedAsync(device, state, prevState)
- DeviceMapper
Stateproperty changed to readonly
New Features
- Inverse3Body component apply the body orientation of an Inverse3 device to a specified GameObject.
- Inverse3:
- Device Data (inspector) displays
ControlModeand lastForce,PositionorAnglessent to the device. JointsAnglesandJointsAngularVelocity.Poweredindicates whether the device is currently powered.PowerSupplyStatusChangedunity event triggered whenever there is a change in the power supply status.Orientationgets the current orientation of the Inverse3 device.OrientationChangedAsyncevent triggered whenever the body orientation changes.RequestOrientation()to manually request the body orientation.ControlModeget the current control mode (CursorForce, CursorPosition, JointsTorques, JointsAngles).ControlModeChangedunity event triggered whenever the control mode changes.ForceOutput,PositionOutput,JointsTorqueOutputandJointsAnglesOutputget the current outputs.Release()reset the device control by sending a null force (replaceTryResetForce()).CoordinateConverterto define coordinate conversion settings with preset file or direct value.ErrorEventfired (on main thread) when ClientConnection error event append with mapped device
- Device Data (inspector) displays
- VerseGrip:
CoordinateConverterto define coordinate conversion settings with preset file or direct value.ErrorEventfired (on main thread) when ClientConnection error event append with mapped device
- DeviceMapper:
- Map devices connected at runtime.
- Gets Inverse3 Power Supply and Body Orientation for each Inverse3 devices.
DeviceInfoPollingModemodesManual,Once(default) orContinuousdevicesInfoPollDelaywith safe minimum set to1secif body orientation is requested,0.5secotherwise.- Initialize only on component enabled.
- Filtered device getters:
GetInverse3Devices(handedness)retrieves Inverse3 devices filtered by the specified handedness.GetVerseGripDevices(handedness)retrieves VerseGrip devices associated with Inverse3 devices that match the specified handedness.GetInverse3(handedness)retrieves the first Inverse3 device that matches the specified handedness.GetInverse3(verseGrip)retrieves the Inverse3 device associated with a given VerseGrip device.GetVerseGrip(inverse3)retrieves the VerseGrip device associated with a specified Inverse3 device.
- OrientationSettings added on VerseGripCursor and Inverse3Body components .
VerseGrip.OrientationreplaceVerseGrip.LocalRotation.- Explicit Inverse3Data type for Inverse3 cache:
- cached states properties:
CursorPosition,JointsAngles,JointsAngularVelocity,Orientation, GravityCompensation,StatusPowerSupply,ConfigTorqueScaling- cached control output
properties:
ControlMode,CursorForceOutput,CursorPositionOutput,JointsTorqueOutput,JointsAnglesOutput. coordinateConverterused to convert received and sent data with specified coordinate system.- cache subscribe to client to be updated automatically.
- fire events on cache updates.
- cached states properties:
- Explicit
Joint3struct with tree float membersj0,j1andj2(used byJointsSetTorqueandJointsSetAngles). - Explicit VerseGripData type for VerseGrip cache:
- cached states properties:
Orientation,IsAttached,ButtonCount. - cached button states.
- cache subscribe to client to be updated automatically.
coordinateConverterused to convert received data with specified coordinate system.- fire events on cache updates.
- cached states properties:
- CoordinateConverter (replace
UnityConvert) to individually define how to convert device coordinate space into Unity coordinate space:Inverse3CoordinateConverterto convert cursor coordinates and body orientation.VerseGripCoordinateConverterto convert VerseGrip orientation.Vector3SettingsandQuaternionSettingsstructs used to store coordinate system conversion settings.- Create default coordinate converter presets for Inverse3 and VerseGrip from the components or Assets menu.
- Inverse3 (Arm Forward Pose) converter with settings for device with the arm facing the user, the LED icon on the side.
- Inverse3 (Icon Forward Pose) converter with settings for device with the LED icon facing the user, the arm on the side.
- VerseGrip (default) converter for device pointing the screen with the user input button on top.
- ClientConnection gets
FirmwareVersion,GravityCompensationandTorqueScalingon device opened. - ConnectionMonitor displays
GravityCompensation,TorqueScalingandPowerSupply.
Bug Fixes
Inverse3.DeviceStateChangedtriggered also withJointsSetTorqueandJointsSetAngles.- Automatically reconnect device after disconnect.
- Clean client polling thread on build exit.
- Fixed bugs and improved stability.
- Fixed device mapping after scene unload/load
Deprecated
ClientConnection.Configuration.HapticFrequencyHzreplaced byHapticPollFrequencyClientConnection.Configuration.PollDelayNsreplaced byHapticPollDelayNsDeviceBehaviour.ConnectionStateChangedAsyncwill be removed on next major releaseInverse3.Positionreplaced byInverse3.CursorPositionInverse3.LocalPositionreplaced byInverse3.CursorLocalPositionInverse3.TryResetForce()replaced byRelease()VerseGrip.LocalRotationreplaced byVerseGrip.OrientationJointsSetTorque(Vector3)replaced byJointsSetTorques(Joint3)JointsSetTorque(float, float, float)replaced byJointsSetTorques(float, float, float)JointsSetAngles(Vector3)replaced byJointsSetAngles(Joint3)
← Back to index page