Class XROcclusionSubsystem
Defines an interface for interacting with occlusion functionality.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public class XROcclusionSubsystem : SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>, 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 |
environmentDepthTemporalSmoothingEnabled
Whether temporal smoothing is applied to the environment depth image. Query for support with environmentDepthTemporalSmoothingSupported.
Declaration
public bool environmentDepthTemporalSmoothingEnabled { get; }
Property Value
Type | Description |
---|---|
Boolean | Read Only. |
environmentDepthTemporalSmoothingRequested
Whether temporal smoothing should be applied to the environment depth image. Query for support with environmentDepthTemporalSmoothingSupported.
Declaration
public bool environmentDepthTemporalSmoothingRequested { get; set; }
Property Value
Type | Description |
---|---|
Boolean | When |
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
|
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
|
requestedOcclusionPreferenceMode
Specifies the requested occlusion preference mode.
Declaration
public OcclusionPreferenceMode requestedOcclusionPreferenceMode { get; set; }
Property Value
Type | Description |
---|---|
OcclusionPreferenceMode | The requested occlusion preference mode. |
Methods
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.
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 |
Remarks
Whether the depth image is smoothed or raw depends on the value of environmentDepthTemporalSmoothingEnabled.
See Also
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 |
TryAcquireRawEnvironmentDepthCpuImage(out XRCpuImage)
Tries to acquire the latest raw environment depth CPU image.
Declaration
public bool TryAcquireRawEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | If this method returns |
Returns
Type | Description |
---|---|
Boolean | Returns |
Remarks
This method differs from TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) in that it always tries to acquire the raw depth image, whereas the image provided by TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) depends on the value of environmentDepthTemporalSmoothingEnabled.
TryAcquireSmoothedEnvironmentDepthCpuImage(out XRCpuImage)
Tries to acquire the latest smoothed environment depth CPU image.
Declaration
public bool TryAcquireSmoothedEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | If this method returns |
Returns
Type | Description |
---|---|
Boolean | Returns |
Remarks
This method differs from TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) in that it always tries to acquire the temporally smoothed depth image, whereas the image provided by TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) depends on the value of environmentDepthTemporalSmoothingEnabled.
The type of smoothing applied is implementation dependent; refer to the documentation for the specific provider in use.
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 |
|
Remarks
Whether the depth image is smoothed or raw depends on the value of environmentDepthTemporalSmoothingEnabled.
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. |