Class XROcclusionSubsystem
Defines an interface for interacting with occlusion functionality.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public abstract class XROcclusionSubsystem : XRSubsystem<XROcclusionSubsystemDescriptor>, ISubsystem
Constructors
XROcclusionSubsystem()
Construct the subsystem by creating the functionality provider.
Declaration
public XROcclusionSubsystem()
Properties
currentHumanDepthMode
Get the human segmentation depth mode currently in use by the provider.
Declaration
public HumanSegmentationDepthMode currentHumanDepthMode { get; }
Property Value
| Type | Description |
|---|---|
| HumanSegmentationDepthMode |
currentHumanStencilMode
Get the current segmentation stencil mode in use by the subsystem.
Declaration
public HumanSegmentationStencilMode currentHumanStencilMode { get; }
Property Value
| Type | Description |
|---|---|
| HumanSegmentationStencilMode |
requestedHumanDepthMode
Specifies the human segmentation depth mode.
Declaration
public HumanSegmentationDepthMode requestedHumanDepthMode { get; set; }
Property Value
| Type | Description |
|---|---|
| HumanSegmentationDepthMode | The human segmentation depth mode. |
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown when setting the human segmentation depth mode to enabled if the implementation does not support human segmentation. |
requestedHumanStencilMode
Specifies the human segmentation stencil mode.
Declaration
public HumanSegmentationStencilMode requestedHumanStencilMode { get; set; }
Property Value
| Type | Description |
|---|---|
| HumanSegmentationStencilMode | The human segmentation stencil mode. |
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown when setting the human segmentation stencil mode to enabled if the implementation does not support human segmentation. |
Methods
CreateProvider()
Create the implementation specific functionality provider.
Declaration
protected abstract XROcclusionSubsystem.Provider CreateProvider()
Returns
| Type | Description |
|---|---|
| XROcclusionSubsystem.Provider | The implementation specific functionality provider. |
GetMaterialKeywords(out List<String>, out List<String>)
Get the enabled and disabled shader keywords for the material.
Declaration
public void GetMaterialKeywords(out List<string> enabledKeywords, out List<string> disabledKeywords)
Parameters
| Type | Name | Description |
|---|---|---|
| List<String> | enabledKeywords | The keywords to enable for the material. |
| List<String> | disabledKeywords | The keywords to disable for the material. |
GetTextureDescriptors(Allocator)
Gets the occlusion texture descriptors associated with the current AR frame.
Declaration
public NativeArray<XRTextureDescriptor> GetTextureDescriptors(Allocator allocator)
Parameters
| Type | Name | Description |
|---|---|---|
| Allocator | allocator | The allocator to use when creating the returned |
Returns
| Type | Description |
|---|---|
| NativeArray<XRTextureDescriptor> | An array of texture descriptors. |
Remarks
The caller owns the returned NativeArray and is responsible for calling Dispose on it.
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(XROcclusionSubsystemCinfo)
Register the descriptor for the occlusion subsystem implementation.
Declaration
public static bool Register(XROcclusionSubsystemCinfo occlusionSubsystemCinfo)
Parameters
| Type | Name | Description |
|---|---|---|
| XROcclusionSubsystemCinfo | occlusionSubsystemCinfo | The occlusion subsystem implementation construction information. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
TryAcquireHumanDepthCpuImage(out XRCpuImage)
Tries to acquire the latest human depth CPU image.
Declaration
public bool TryAcquireHumanDepthCpuImage(out XRCpuImage cpuImage)
Parameters
| Type | Name | Description |
|---|---|---|
| XRCpuImage | cpuImage | If this method returns |
Returns
| Type | Description |
|---|---|
| Boolean | Returns |
TryAcquireHumanStencilCpuImage(out XRCpuImage)
Tries to acquire the latest human stencil CPU image.
Declaration
public bool TryAcquireHumanStencilCpuImage(out XRCpuImage cpuImage)
Parameters
| Type | Name | Description |
|---|---|---|
| XRCpuImage | cpuImage | If this method returns |
Returns
| Type | Description |
|---|---|
| Boolean | Returns |
TryGetHumanDepth(out XRTextureDescriptor)
Gets the human depth texture descriptor.
Declaration
public bool TryGetHumanDepth(out XRTextureDescriptor humanDepthDescriptor)
Parameters
| Type | Name | Description |
|---|---|---|
| XRTextureDescriptor | humanDepthDescriptor | The human depth texture descriptor to be populated, if available from the provider. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if the implementation does not support human depth texture. |
TryGetHumanStencil(out XRTextureDescriptor)
Gets the human stencil texture descriptor.
Declaration
public bool TryGetHumanStencil(out XRTextureDescriptor humanStencilDescriptor)
Parameters
| Type | Name | Description |
|---|---|---|
| XRTextureDescriptor | humanStencilDescriptor | The human stencil texture descriptor to be populated, if available from the provider. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if the implementation does not support human stencil texture. |