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
currentEnvironmentDepthMode
Get the environment depth mode currently in use by the provider.
Declaration
public EnvironmentDepthMode currentEnvironmentDepthMode { get; }
Property Value
Type | Description |
---|---|
EnvironmentDepthMode |
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 |
currentOcclusionPreferenceMode
Get the occlusion preference mode currently in use by the provider.
Declaration
public OcclusionPreferenceMode currentOcclusionPreferenceMode { get; }
Property Value
Type | Description |
---|---|
OcclusionPreferenceMode |
provider
The implementation specific provider of occlusion functionality.
Declaration
protected XROcclusionSubsystem.Provider provider { get; }
Property Value
Type | Description |
---|---|
XROcclusionSubsystem.Provider | The implementation specific provider of occlusion functionality. |
requestedEnvironmentDepthMode
Specifies the environment depth mode.
Declaration
public EnvironmentDepthMode requestedEnvironmentDepthMode { get; set; }
Property Value
Type | Description |
---|---|
EnvironmentDepthMode | The environment depth mode. |
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. |
requestedOcclusionPreferenceMode
Specifies the requested occlusion preference mode.
Declaration
public OcclusionPreferenceMode requestedOcclusionPreferenceMode { get; set; }
Property Value
Type | Description |
---|---|
OcclusionPreferenceMode | The requested occlusion preference mode. |
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 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(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 |
|
TryAcquireEnvironmentDepthConfidenceCpuImage(out XRCpuImage)
Tries to acquire the latest environment depth confidence CPU image.
Declaration
public bool TryAcquireEnvironmentDepthConfidenceCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | If this method returns |
Returns
Type | Description |
---|---|
Boolean | Returns |
TryAcquireEnvironmentDepthCpuImage(out XRCpuImage)
Tries to acquire the latest environment depth CPU image.
Declaration
public bool TryAcquireEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | If this method returns |
Returns
Type | Description |
---|---|
Boolean | Returns |
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 |
TryGetEnvironmentDepth(out XRTextureDescriptor)
Gets the environment depth texture descriptor.
Declaration
public bool TryGetEnvironmentDepth(out XRTextureDescriptor environmentDepthDescriptor)
Parameters
Type | Name | Description |
---|---|---|
XRTextureDescriptor | environmentDepthDescriptor | The environment 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 environment depth texture. |
TryGetEnvironmentDepthConfidence(out XRTextureDescriptor)
Gets the environment depth confidence texture descriptor.
Declaration
public bool TryGetEnvironmentDepthConfidence(out XRTextureDescriptor environmentDepthConfidenceDescriptor)
Parameters
Type | Name | Description |
---|---|---|
XRTextureDescriptor | environmentDepthConfidenceDescriptor | The environment depth confidence 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 environment depth confidence texture. |
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. |