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. |