Class XRHumanBodySubsystem
Defines an interface for interacting with human body functionality.
Inheritance
Inherited Members
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 | 
  | 
      
pose2DRequested
Whether 2D human body pose estimation is requested.
Declaration
public bool pose2DRequested { get; set; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
pose3DEnabled
Whether 3D human body pose estimation is enabled.
Declaration
public bool pose3DEnabled { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
pose3DRequested
Whether 3D human body pose estimation is requested.
Declaration
public bool pose3DRequested { get; set; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
pose3DScaleEstimationEnabled
Whether 3D human body scale estimation is enabled.
Declaration
public bool pose3DScaleEstimationEnabled { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
pose3DScaleEstimationRequested
Whether 3D human body scale estimation is requested.
Declaration
public bool pose3DScaleEstimationRequested { get; set; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
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
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 override sealed void OnDestroyed()
  Overrides
OnStart()
Start the subsystem by starting the provider.
Declaration
protected override sealed void OnStart()
  Overrides
OnStop()
Stop the subsystem by stopping the provider.
Declaration
protected override sealed void OnStop()
  Overrides
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 | 
  |