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 |
|
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
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
OnStart()
Start the subsystem by starting the provider.
Declaration
protected sealed override void OnStart()
Overrides
OnStop()
Stop the subsystem by stopping the provider.
Declaration
protected sealed override 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 |
|