docs.unity3d.com
    Show / Hide Table of Contents

    Class XRHumanBodySubsystem

    Defines an interface for interacting with human body functionality.

    Inheritance
    Object
    Subsystem
    Subsystem<XRHumanBodySubsystemDescriptor>
    XRSubsystem<XRHumanBodySubsystemDescriptor>
    TrackingSubsystem<XRHumanBody, XRHumanBodySubsystemDescriptor>
    XRHumanBodySubsystem
    Inherited Members
    TrackingSubsystem<XRHumanBody, XRHumanBodySubsystemDescriptor>.GetChanges(Allocator)
    XRSubsystem<XRHumanBodySubsystemDescriptor>.running
    XRSubsystem<XRHumanBodySubsystemDescriptor>.OnDestroy()
    XRSubsystem<XRHumanBodySubsystemDescriptor>.Start()
    XRSubsystem<XRHumanBodySubsystemDescriptor>.Stop()
    Subsystem<XRHumanBodySubsystemDescriptor>.SubsystemDescriptor
    Subsystem.Destroy()
    Namespace: UnityEngine.XR.ARSubsystems
    Syntax
    public abstract class XRHumanBodySubsystem : TrackingSubsystem<XRHumanBody, XRHumanBodySubsystemDescriptor>, ISubsystem

    Constructors

    XRHumanBodySubsystem()

    Construct the subsystem by creating the functionality provider.

    Declaration
    public XRHumanBodySubsystem()

    Properties

    pose2DEnabled

    Whether 2D human body pose estimation is enabled.

    Declaration
    public bool pose2DEnabled { get; }
    Property Value
    Type Description
    Boolean

    true if 2D human body pose estimation is enabled. Otherwise, false.

    pose2DRequested

    Whether 2D human body pose estimation is requested.

    Declaration
    public bool pose2DRequested { get; set; }
    Property Value
    Type Description
    Boolean

    true if 2D human body pose estimation is requested. Otherwise, false.

    pose3DEnabled

    Whether 3D human body pose estimation is enabled.

    Declaration
    public bool pose3DEnabled { get; }
    Property Value
    Type Description
    Boolean

    true if 3D human body pose estimation is enabled. Otherwise, false.

    pose3DRequested

    Whether 3D human body pose estimation is requested.

    Declaration
    public bool pose3DRequested { get; set; }
    Property Value
    Type Description
    Boolean

    true if 3D human body pose estimation is requested. Otherwise, false.

    pose3DScaleEstimationEnabled

    Whether 3D human body scale estimation is enabled.

    Declaration
    public bool pose3DScaleEstimationEnabled { get; }
    Property Value
    Type Description
    Boolean

    true if 3D human body scale estimation is enabled. Otherwise, false.

    pose3DScaleEstimationRequested

    Whether 3D human body scale estimation is requested.

    Declaration
    public bool pose3DScaleEstimationRequested { get; set; }
    Property Value
    Type Description
    Boolean

    true if 3D human body scale estimation is requested. Otherwise, false.

    provider

    The implementation specific provider of human body functionality.

    Declaration
    protected XRHumanBodySubsystem.Provider provider { get; }
    Property Value
    Type Description
    XRHumanBodySubsystem.Provider

    The implementation specific provider of human body functionality.

    Methods

    CreateProvider()

    Create the implementation specific functionality provider.

    Declaration
    protected abstract XRHumanBodySubsystem.Provider CreateProvider()
    Returns
    Type Description
    XRHumanBodySubsystem.Provider

    The implementation specific functionality provider.

    GetChanges(Allocator)

    Query the provider for the trackable changes.

    Declaration
    public override TrackableChanges<XRHumanBody> GetChanges(Allocator allocator)
    Parameters
    Type Name Description
    Allocator allocator

    The memory allocator to use for allocating the arrays.

    Returns
    Type Description
    TrackableChanges<XRHumanBody>

    The trackable human body changes.

    Overrides
    UnityEngine.XR.ARSubsystems.TrackingSubsystem<UnityEngine.XR.ARSubsystems.XRHumanBody, UnityEngine.XR.ARSubsystems.XRHumanBodySubsystemDescriptor>.GetChanges(Unity.Collections.Allocator)

    GetHumanBodyPose2DJoints(Allocator)

    Gets the human body pose 2D joints for the current frame.

    Declaration
    public NativeArray<XRHumanBodyPose2DJoint> GetHumanBodyPose2DJoints(Allocator allocator)
    Parameters
    Type Name Description
    Allocator allocator

    The allocator to use for the returned array memory.

    Returns
    Type Description
    NativeArray<XRHumanBodyPose2DJoint>

    The array of body pose 2D joints.

    Remarks

    The returned array may be empty if the system is not enabled for human body pose 2D or if the system does not detect a human in the camera image.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if the implementation does not support human body pose 2D.

    GetSkeleton(TrackableId, Allocator, ref NativeArray<XRHumanBodyJoint>)

    Query the provider for the skeleton joints for the requested trackable identifier.

    Declaration
    public void GetSkeleton(TrackableId trackableId, Allocator allocator, ref NativeArray<XRHumanBodyJoint> skeleton)
    Parameters
    Type Name Description
    TrackableId trackableId

    The human body trackable identifier for which to query.

    Allocator allocator

    The memory allocator to use for the returned arrays.

    NativeArray<XRHumanBodyJoint> skeleton

    The array of skeleton joints to update and returns.

    OnDestroyed()

    Destroy the subsystem by destroying the provider.

    Declaration
    protected sealed override void OnDestroyed()
    Overrides
    UnityEngine.XR.ARSubsystems.XRSubsystem<UnityEngine.XR.ARSubsystems.XRHumanBodySubsystemDescriptor>.OnDestroyed()

    OnStart()

    Start the subsystem by starting the provider.

    Declaration
    protected sealed override void OnStart()
    Overrides
    UnityEngine.XR.ARSubsystems.XRSubsystem<UnityEngine.XR.ARSubsystems.XRHumanBodySubsystemDescriptor>.OnStart()

    OnStop()

    Stop the subsystem by stopping the provider.

    Declaration
    protected sealed override void OnStop()
    Overrides
    UnityEngine.XR.ARSubsystems.XRSubsystem<UnityEngine.XR.ARSubsystems.XRHumanBodySubsystemDescriptor>.OnStop()

    Register(XRHumanBodySubsystemCinfo)

    Register the descriptor for the human body subsystem implementation.

    Declaration
    public static bool Register(XRHumanBodySubsystemCinfo humanBodySubsystemCinfo)
    Parameters
    Type Name Description
    XRHumanBodySubsystemCinfo humanBodySubsystemCinfo

    The human body subsystem implementation construction information.

    Returns
    Type Description
    Boolean

    true if the descriptor was registered. Otherwise, false.

    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023