Class AROcclusionManager
The manager for the occlusion subsystem.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Assembly: Unity.XR.ARFoundation.dll
Syntax
[DisallowMultipleComponent]
[DefaultExecutionOrder(-2147483647)]
public sealed class AROcclusionManager : SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>
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
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 | 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 |
---|---|
bool | When |
environmentDepthTexture
The environment depth texture.
Declaration
public Texture2D environmentDepthTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The environment depth texture, if any. Otherwise, |
humanDepthTexture
The human segmentation depth texture.
Declaration
public Texture2D humanDepthTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The human segmentation depth texture, if any. Otherwise, |
humanSegmentationDepthMode
The mode for generating the human segmentation depth texture. This method is obsolete. Use requestedHumanDepthMode or currentHumanDepthMode instead.
Declaration
[Obsolete("Use requestedSegmentationDepthMode or currentSegmentationDepthMode instead. (2020-01-15)")]
public HumanSegmentationDepthMode humanSegmentationDepthMode { get; set; }
Property Value
Type | Description |
---|---|
HumanSegmentationDepthMode |
humanSegmentationStencilMode
The mode for generating the human segmentation stencil texture. This method is obsolete. Use requestedHumanStencilMode or currentHumanStencilMode instead.
Declaration
[Obsolete("Use requestedSegmentationStencilMode or currentSegmentationStencilMode instead. (2020-01-14)")]
public HumanSegmentationStencilMode humanSegmentationStencilMode { get; set; }
Property Value
Type | Description |
---|---|
HumanSegmentationStencilMode |
humanStencilTexture
The human segmentation stencil texture.
Declaration
public Texture2D humanStencilTexture { get; }
Property Value
Type | Description |
---|---|
Texture2D | The human segmentation stencil texture, if any. Otherwise, |
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
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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 | If this method returns |
Returns
Type | Description |
---|---|
bool | Returns |
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.
Update()
Callback as the manager is being updated.
Declaration
public void Update()
Events
frameReceived
An event which fires each time an occlusion camera frame is received.
Declaration
public event Action<AROcclusionFrameEventArgs> frameReceived
Event Type
Type | Description |
---|---|
Action<AROcclusionFrameEventArgs> |