docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class OpenXRHandProvider

    Hand tracking provider for the OpenXR platform.

    Inheritance
    object
    SubsystemProvider
    SubsystemProvider<XRHandSubsystem>
    XRHandSubsystemProvider
    OpenXRHandProvider
    Inherited Members
    XRHandSubsystemProvider.GetFingerShapeConfiguration(XRHandFingerID)
    SubsystemProvider<XRHandSubsystem>.TryInitialize()
    SubsystemProvider.running
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.XR.Hands.OpenXR
    Assembly: Unity.XR.Hands.dll
    Syntax
    public class OpenXRHandProvider : XRHandSubsystemProvider

    Methods

    Destroy()

    See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Destroy().

    Declaration
    public override void Destroy()
    Overrides
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.Hands.XRHandSubsystem>.Destroy()

    GetHandLayout(NativeArray<bool>)

    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<bool> handJointsInLayout

    Each index corresponds to a XRHandJointID. For each joint that the provider will attempt to track, mark that spot as true by calling .ToIndex() on that ID.

    Overrides
    XRHandSubsystemProvider.GetHandLayout(NativeArray<bool>)
    Remarks

    Called once on creation so that before the subsystem is even started, 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. This is called before any call to GetFingerShapeConfiguration(XRHandFingerID).

    Start()

    See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Start().

    Declaration
    public override void Start()
    Overrides
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.Hands.XRHandSubsystem>.Start()

    Stop()

    See UnityEngine.SubsystemsImplementation.SubsystemProvider<TSubsystem>.Stop().

    Declaration
    public override void Stop()
    Overrides
    UnityEngine.SubsystemsImplementation.SubsystemProvider<UnityEngine.XR.Hands.XRHandSubsystem>.Stop()

    TryUpdateHands(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 XRHandSubsystem.UpdateSuccessFlags.LeftHandRootPose in the return value to update the left hand's root pose.

    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 XRHandSubsystem.UpdateSuccessFlags.LeftHandJoints in the return value to have the changes reflected in the subsystem.

    Pose rightHandRootPose

    Update this and include XRHandSubsystem.UpdateSuccessFlags.RightHandRootPose in the return value to update the right hand's root pose.

    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 XRHandSubsystem.UpdateSuccessFlags.RightHandJoints in the return value to have the changes reflected in the subsystem.

    Returns
    Type Description
    XRHandSubsystem.UpdateSuccessFlags

    Returns XRHandSubsystem.UpdateSuccessFlags to describe which tracking data was successfully updated.

    Overrides
    XRHandSubsystemProvider.TryUpdateHands(XRHandSubsystem.UpdateType, ref Pose, NativeArray<XRHandJoint>, ref Pose, NativeArray<XRHandJoint>)
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)