Class AROcclusionManager
The manager for the occlusion subsystem.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Assembly: Unity.XR.ARFoundation.dll
Syntax
[DisallowMultipleComponent]
[DefaultExecutionOrder(-2147483647)]
[AddComponentMenu("XR/AR Foundation/AR Occlusion Manager")]
public sealed class AROcclusionManager : SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>
Remarks
Related information: Occlusion
Properties
currentEnvironmentDepthMode
Get the current environment depth mode in use by the subsystem.
Declaration
public EnvironmentDepthMode currentEnvironmentDepthMode { get; }
Property Value
Type | Description |
---|---|
EnvironmentDepthMode |
currentHumanDepthMode
Get the current human segmentation depth mode in use by the subsystem.
Declaration
public HumanSegmentationDepthMode currentHumanDepthMode { get; }
Property Value
Type | Description |
---|---|
HumanSegmentationDepthMode |
currentHumanStencilMode
Get the current mode in use for generating the human segmentation stencil mode.
Declaration
public HumanSegmentationStencilMode currentHumanStencilMode { get; }
Property Value
Type | Description |
---|---|
HumanSegmentationStencilMode |
currentOcclusionPreferenceMode
Get the current occlusion preference mode in use by the subsystem.
Declaration
public OcclusionPreferenceMode currentOcclusionPreferenceMode { get; }
Property Value
Type | Description |
---|---|
OcclusionPreferenceMode |
environmentDepthConfidenceTexture
The environment depth confidence texture.
Declaration
[Obsolete("environmentDepthConfidenceTexture is deprecated in AR Foundation version 6.1. Use TryGetEnvironmentDepthConfidenceTexture() instead.", false)]
public Texture2D environmentDepthConfidenceTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The environment depth confidence texture, if any. Otherwise, |
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 |
---|---|
bool | true if temporal smoothing is applied to the environment depth image. Otherwise, false. |
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 |
---|---|
bool | true if environment depth temporal smoothing is requested. Otherwise, false. |
environmentDepthTexture
The environment depth texture.
Declaration
[Obsolete("environmentDepthTexture is deprecated in AR Foundation version 6.1. Use TryGetEnvironmentDepthTexture() instead.", false)]
public Texture2D environmentDepthTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The environment depth texture, if any. Otherwise, |
humanDepthTexture
The human segmentation depth texture, if any. Otherwise, null.
Declaration
public Texture2D humanDepthTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The human segmentation depth texture. |
humanStencilTexture
The human segmentation stencil texture, if any. Otherwise, null.
Declaration
public Texture2D humanStencilTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The human segmentation stencil texture. |
requestedEnvironmentDepthMode
Get or set the requested environment depth mode.
Declaration
public EnvironmentDepthMode requestedEnvironmentDepthMode { get; set; }
Property Value
Type | Description |
---|---|
EnvironmentDepthMode |
requestedHumanDepthMode
Get or set the requested human segmentation depth mode.
Declaration
public HumanSegmentationDepthMode requestedHumanDepthMode { get; set; }
Property Value
Type | Description |
---|---|
HumanSegmentationDepthMode |
requestedHumanStencilMode
Get or set the requested mode for generating the human segmentation stencil texture.
Declaration
public HumanSegmentationStencilMode requestedHumanStencilMode { get; set; }
Property Value
Type | Description |
---|---|
HumanSegmentationStencilMode |
requestedOcclusionPreferenceMode
Get or set the requested occlusion preference mode.
Declaration
public OcclusionPreferenceMode requestedOcclusionPreferenceMode { get; set; }
Property Value
Type | Description |
---|---|
OcclusionPreferenceMode |
Methods
OnBeforeStart()
Callback before the subsystem is started (but after it is created).
Declaration
protected override void OnBeforeStart()
Overrides
OnDisable()
Callback when the manager is being disabled.
Declaration
protected override void OnDisable()
Overrides
TryAcquireEnvironmentDepthConfidenceCpuImage(out XRCpuImage)
Attempt to get the latest environment depth confidence CPU image. This provides direct access to the raw pixel data.
Declaration
public bool TryAcquireEnvironmentDepthConfidenceCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | The environment depth confidence CPU image, if this method returns true. |
Returns
Type | Description |
---|---|
bool |
Remarks
The XRCpuImage
must be disposed to avoid resource leaks.
TryAcquireEnvironmentDepthCpuImage(out XRCpuImage)
Attempt to get the latest environment depth CPU image. This provides direct access to the raw pixel data.
Declaration
public bool TryAcquireEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | The environment depth CPU image, if this method returns true. |
Returns
Type | Description |
---|---|
bool |
Remarks
The XRCpuImage
must be disposed to avoid resource leaks.
TryAcquireHumanDepthCpuImage(out XRCpuImage)
Attempt to get the latest human depth CPU image. This provides direct access to the raw pixel data.
Declaration
public bool TryAcquireHumanDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | The human depth CPU image, if this method returns true. |
Returns
Type | Description |
---|---|
bool |
Remarks
The XRCpuImage
must be disposed to avoid resource leaks.
TryAcquireHumanStencilCpuImage(out XRCpuImage)
Attempt to get the latest human stencil CPU image. This provides directly access to the raw pixel data.
Declaration
public bool TryAcquireHumanStencilCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | An acquired |
Returns
Type | Description |
---|---|
bool |
Remarks
The XRCpuImage
must be disposed to avoid resource leaks.
TryAcquireRawEnvironmentDepthCpuImage(out XRCpuImage)
Attempt to get the latest raw environment depth CPU image. This provides direct access to the raw pixel data.
Declaration
public bool TryAcquireRawEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | The raw environment depth CPU image, if this method returns true. |
Returns
Type | Description |
---|---|
bool |
Remarks
Note
The XRCpuImage
must be disposed to avoid resource leaks.
This differs from TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) in that it always tries to acquire the
raw environment depth image, whereas TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) depends on the value
of environmentDepthTemporalSmoothingEnabled.
TryAcquireSmoothedEnvironmentDepthCpuImage(out XRCpuImage)
Attempt to get the latest smoothed environment depth CPU image. This provides direct access to the raw pixel data.
Declaration
public bool TryAcquireSmoothedEnvironmentDepthCpuImage(out XRCpuImage cpuImage)
Parameters
Type | Name | Description |
---|---|---|
XRCpuImage | cpuImage | The smoothed environment depth CPU image, if this method returns true. |
Returns
Type | Description |
---|---|
bool |
Remarks
Note
The XRCpuImage
must be disposed to avoid resource leaks.
This differs from TryAcquireEnvironmentDepthCpuImage(out XRCpuImage) in that it always tries to acquire the
smoothed environment depth image, whereas TryAcquireEnvironmentDepthCpuImage(out XRCpuImage)
depends on the value of environmentDepthTemporalSmoothingEnabled.
TryGetEnvironmentDepthConfidenceTexture(out ARGpuTexture)
Gets environment depth confidence texture, if possible. On OpenXR platforms, this may be a RenderTexture. Otherwise, the texture is of type Texture2D.
Declaration
public bool TryGetEnvironmentDepthConfidenceTexture(out ARGpuTexture depthConfidenceTexture)
Parameters
Type | Name | Description |
---|---|---|
ARGpuTexture | depthConfidenceTexture | The output environment depth confidence texture, if this method returns true. |
Returns
Type | Description |
---|---|
bool | true if |
TryGetEnvironmentDepthTexture(out Texture)
Gets environment depth texture, if possible. On OpenXR platforms, this may be a RenderTexture. Otherwise, the texture is of type Texture2D.
Declaration
public bool TryGetEnvironmentDepthTexture(out Texture depthTexture)
Parameters
Type | Name | Description |
---|---|---|
Texture | depthTexture | The output environment depth texture, if this method returns true. |
Returns
Type | Description |
---|---|
bool | true if |
Update()
Callback as the manager is being updated.
Declaration
public void Update()
Events
frameReceived
An event that fires each time an occlusion camera frame is received.
Declaration
public event Action<AROcclusionFrameEventArgs> frameReceived
Event Type
Type | Description |
---|---|
Action<AROcclusionFrameEventArgs> |