Class XRHumanBodySubsystem
Defines an interface for interacting with human body functionality.
Inheritance
Implements
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Assembly: Unity.XR.ARSubsystems.dll
Syntax
public class XRHumanBodySubsystem : TrackingSubsystem<XRHumanBody, XRHumanBodySubsystem, XRHumanBodySubsystemDescriptor, XRHumanBodySubsystem.Provider>, 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 |
---|---|
bool |
|
pose2DRequested
Whether 2D human body pose estimation is requested.
Declaration
public bool pose2DRequested { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
pose3DEnabled
Whether 3D human body pose estimation is enabled.
Declaration
public bool pose3DEnabled { get; }
Property Value
Type | Description |
---|---|
bool |
|
pose3DRequested
Whether 3D human body pose estimation is requested.
Declaration
public bool pose3DRequested { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
pose3DScaleEstimationEnabled
Whether 3D human body scale estimation is enabled.
Declaration
public bool pose3DScaleEstimationEnabled { get; }
Property Value
Type | Description |
---|---|
bool |
|
pose3DScaleEstimationRequested
Whether 3D human body scale estimation is requested.
Declaration
public bool pose3DScaleEstimationRequested { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
Methods
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 can 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. |
Register(XRHumanBodySubsystemCinfo)
Register the descriptor for the human body subsystem implementation.
Declaration
[Obsolete("XRHumanBodySubsystem.Register(XRHumanBodySubsystemCinfo) has been deprecated in AR Foundation version 6.0. Use XRHumanBodySubsystemDescriptor.Register(XRHumanBodySubsystemDescriptor.Cinfo) instead.")]
public static bool Register(XRHumanBodySubsystemCinfo humanBodySubsystemCinfo)
Parameters
Type | Name | Description |
---|---|---|
XRHumanBodySubsystemCinfo | humanBodySubsystemCinfo | The human body subsystem implementation construction information. |
Returns
Type | Description |
---|---|
bool |
|