docs.unity3d.com
    Show / Hide Table of Contents

    Class AROcclusionManager

    The manager for the occlusion subsystem.

    Inheritance
    Object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>
    AROcclusionManager
    Inherited Members
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.subsystem
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.descriptor
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.GetActiveSubsystemInstance()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.EnsureSubsystemInstanceSet()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnEnable()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnDisable()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnDestroy()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnBeforeStart()
    SubsystemLifecycleManager<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnAfterStart()
    UnityEngine.MonoBehaviour.IsInvoking()
    UnityEngine.MonoBehaviour.CancelInvoke()
    UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
    UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
    UnityEngine.MonoBehaviour.CancelInvoke(System.String)
    UnityEngine.MonoBehaviour.IsInvoking(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
    UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
    UnityEngine.MonoBehaviour.StopCoroutine(System.String)
    UnityEngine.MonoBehaviour.StopAllCoroutines()
    UnityEngine.MonoBehaviour.print(System.Object)
    UnityEngine.MonoBehaviour.useGUILayout
    UnityEngine.MonoBehaviour.runInEditMode
    UnityEngine.Behaviour.enabled
    UnityEngine.Behaviour.isActiveAndEnabled
    UnityEngine.Component.GetComponent(System.Type)
    UnityEngine.Component.GetComponent<T>()
    UnityEngine.Component.TryGetComponent(System.Type, UnityEngine.Component)
    UnityEngine.Component.TryGetComponent<T>(T)
    UnityEngine.Component.GetComponent(System.String)
    UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInChildren(System.Type)
    UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInChildren(System.Type)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInParent(System.Type)
    UnityEngine.Component.GetComponentInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentInParent<T>()
    UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInParent(System.Type)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInParent<T>()
    UnityEngine.Component.GetComponents(System.Type)
    UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
    UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponents<T>()
    UnityEngine.Component.CompareTag(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
    UnityEngine.Component.SendMessageUpwards(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, System.Object)
    UnityEngine.Component.SendMessage(System.String)
    UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object)
    UnityEngine.Component.BroadcastMessage(System.String)
    UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.transform
    UnityEngine.Component.gameObject
    UnityEngine.Component.tag
    UnityEngine.Object.GetInstanceID()
    UnityEngine.Object.GetHashCode()
    UnityEngine.Object.Equals(System.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Instantiate<T>(T)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
    UnityEngine.Object.Destroy(UnityEngine.Object)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
    UnityEngine.Object.FindObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfType(System.Type, System.Boolean)
    UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
    UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
    UnityEngine.Object.DestroyObject(UnityEngine.Object)
    UnityEngine.Object.FindSceneObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
    UnityEngine.Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type, System.Boolean)
    UnityEngine.Object.ToString()
    UnityEngine.Object.name
    UnityEngine.Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.ARFoundation
    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
    UnityEngine.Texture2D

    The environment depth confidence texture, if any. Otherwise, null.

    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 true, temporal smoothing is applied to the environment depth image. Otherwise, no temporal smoothing is applied.

    environmentDepthTexture

    The environment depth texture.

    Declaration
    public Texture2D environmentDepthTexture { get; }
    Property Value
    Type Description
    UnityEngine.Texture2D

    The environment depth texture, if any. Otherwise, null.

    humanDepthTexture

    The human segmentation depth texture.

    Declaration
    public Texture2D humanDepthTexture { get; }
    Property Value
    Type Description
    UnityEngine.Texture2D

    The human segmentation depth texture, if any. Otherwise, null.

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

    The human segmentation stencil texture, if any. Otherwise, null.

    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
    UnityEngine.XR.ARFoundation.SubsystemLifecycleManager<UnityEngine.XR.ARSubsystems.XROcclusionSubsystem, UnityEngine.XR.ARSubsystems.XROcclusionSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XROcclusionSubsystem.Provider>.OnBeforeStart()

    OnDisable()

    Callback when the manager is being disabled.

    Declaration
    protected override void OnDisable()
    Overrides
    UnityEngine.XR.ARFoundation.SubsystemLifecycleManager<UnityEngine.XR.ARSubsystems.XROcclusionSubsystem, UnityEngine.XR.ARSubsystems.XROcclusionSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XROcclusionSubsystem.Provider>.OnDisable()

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage.

    Returns
    Type Description
    Boolean

    Returns true if the CPU image was acquired. Returns false otherwise.

    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>
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023