Class OpenXRHandProvider
Hand tracking provider for the OpenXR platform.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.Hands.OpenXR
Syntax
public class OpenXRHandProvider : XRHandSubsystemProvider
Methods
Destroy()
See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Destroy().
Declaration
public override void Destroy()
Overrides
GetHandLayout(NativeArray<Boolean>)
Gets the layout of hand joints for this provider, by having the provider mark each index corresponding to a XRHandJointID get marked as true if the provider attempts to track that joint.
Declaration
public override void GetHandLayout(NativeArray<bool> handJointsInLayout)
Parameters
Type | Name | Description |
---|---|---|
NativeArray<Boolean> | handJointsInLayout | Each index corresponds to a XRHandJointID. For each
joint that the provider will attempt to track, mark that spot as
true by calling |
Overrides
Remarks
Called once on creation so that before the subsystem is even started, so the user can immediately create a valid hierarchical structure as soon as they get a reference to the subsystem without even needing to start it.
Start()
See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Start().
Declaration
public override void Start()
Overrides
Stop()
See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Stop().
Declaration
public override void Stop()
Overrides
TryUpdateHands(XRHandSubsystem.UpdateType, ref Pose, NativeArray<XRHandJoint>, ref Pose, NativeArray<XRHandJoint>)
Attempts to retrieve current hand-tracking data from the provider.
Declaration
public override XRHandSubsystem.UpdateSuccessFlags TryUpdateHands(XRHandSubsystem.UpdateType updateType, ref Pose leftHandRootPose, NativeArray<XRHandJoint> leftHandJoints, ref Pose rightHandRootPose, NativeArray<XRHandJoint> rightHandJoints)
Parameters
Type | Name | Description |
---|---|---|
XRHandSubsystem.UpdateType | updateType | Informs the provider which kind of timing the update is being requested under. |
Pose | leftHandRootPose | Update this and include |
NativeArray<XRHandJoint> | leftHandJoints | Array of hand joints to fill out for the left hand. These are
initialized with a copy of the current joint data for the left hand,
so if the last known tracking data for a particular joint is still
fine, you don't need to fill out that data again. If you update
these, include |
Pose | rightHandRootPose | Update this and include |
NativeArray<XRHandJoint> | rightHandJoints | Array of hand joints to fill out for the right hand. These are
initialized with a copy of the current joint data for the right hand,
so if the last known tracking data for a particular joint is still
fine, you don't need to fill out that data again. If you update
these, include |
Returns
Type | Description |
---|---|
XRHandSubsystem.UpdateSuccessFlags | Returns XRHandSubsystem.UpdateSuccessFlags to describe which tracking data was successfully updated. |