Ultraleap Unity Plugin 6.11.0
MattGrayUL
released this
15 Aug 14:41
·
1239 commits
to develop
since this release
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features of 6.11.0 include:
Added
- (Physics Hands) Finger displacement values to each finger
- (Physics Hands) Interface based events for easier development
- Please see the updated scripts in the Physics Hands example scene for more information
- (HandRays) Add methods to invoke handray Frame & State Change in inherited classes
- (LeapXRServiceProvider) Use of device transforms from the service when using Default device offset mode. This does not include tilt/rotation
Changed
- (Physics Hands) Burst compute is now used to improve certain physics calculation performance
- In Unity 2020+ this is used for "hand is colliding" functions only
- In Unity 2022+ all collision functions are handled by Burst
- (Physics Hands) Parameters of the hand (e.g. contact distance) are now controlled at the provider level and have adjusted defaults for better interactions
- (Physics Hands) OnObjectStateChange event has been replaced with SubscribeToStateChanges
- This is tailored to handle specific Rigidbodies and will only fire when your subscribed Rigidbody is affected
- (Physics Hands) Hand and bone states have been improved and are more consistent with expectations
- (Physics Hands) Updated example scene with new events and better visuals
- (Physics Hands) Updated PhysicsBone IsObjectGrabbable calculations to use the closest point on the bone to the hovered object
- (Physics Hands) Improved Physics Hands grasp helpers to take into account grabs where bones are facing each other
- (Locomotion) Expose teleport anchor list & last teleported anchor
- (Locomotion) Moved Jump Gems further away from the arm, to account for sleeves
- (Locomotion) Added functionality to update the initial position and rotations of the TP anchor after the first Awake
Fixed
- (Physics Hands) Hand forces are reduced when pushing into objects with fingers
- (Physics Hands) Stopped physics buttons from rotating incorrectly
- (Locomotion) Jump Gems look for audio sources in their children, even if the audio source was set
- (Locomotion) If pinched gem was null, jump gem teleport could still be in a selected state
- (Locomotion) Teleport ray did not change to an invalid colour when no colliders were hit
- (Core) Fixed hands juddering in XR when interpolation is turned off on the LeapXRServiceProvider. Turning off interpolation now turns off head pose interpolation
- (PoseViewer) Pose viewer rotation does not match the targets rotation
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- The OpenXR Leap Provider palm can be in unexpected position when using pre-1.4.3 OpenXR Layer. A workaround is to ensure you use 1.4.3 or newer - installed by the 5.12.0 or newer Tracking Service Installer
- Running both the Ultraleap XRHands Subsystem and another XRHands Subsystem at the same time causes unstable results. Only enable one at a time.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Community Support
Thanks to our contributors:
@MaxPalmer-UH
@rblenkinsopp
@MattGrayUL
@Dwarph
@rorygames
@MattFiler
@BryceNewell-UL
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.