docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class XROcclusionSubsystem

    Defines an interface for interacting with occlusion functionality.

    Inheritance
    object
    SubsystemWithProvider
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>
    XROcclusionSubsystem
    SimulationOcclusionSubsystem
    Implements
    ISubsystem
    Inherited Members
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnCreate()
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnStart()
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnStop()
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.OnDestroy()
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.subsystemDescriptor
    SubsystemWithProvider<XROcclusionSubsystem, XROcclusionSubsystemDescriptor, XROcclusionSubsystem.Provider>.provider
    SubsystemWithProvider.Start()
    SubsystemWithProvider.OnStart()
    SubsystemWithProvider.Stop()
    SubsystemWithProvider.OnStop()
    SubsystemWithProvider.Destroy()
    SubsystemWithProvider.OnDestroy()
    SubsystemWithProvider.running
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.XR.ARSubsystems
    Assembly: Unity.XR.ARSubsystems.dll
    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
    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 true, temporal smoothing is applied to the environment depth image. Otherwise, no temporal smoothing is applied.

    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

    GetMaterialKeywords(out List<string>, out List<string>)

    Get the enabled and disabled shader keywords for the material.

    Declaration
    [Obsolete("GetMaterialKeywords(out List<string>, out List<string>) has been deprecated in AR Foundation version 6.0. Use GetShaderKeywords() instead.")]
    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.

    GetShaderKeywords()

    Get the enabled and disabled shader keywords for the material.

    Declaration
    public ShaderKeywords GetShaderKeywords()
    Returns
    Type Description
    ShaderKeywords

    Returns an ShaderKeywords with the enabled and disabled shader keywords 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 NativeArray.

    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
    [Obsolete("XROcclusionSubsystem.Register(XROcclusionSubsystemCinfo) has been deprecated in AR Foundation version 6.0. Use XROcclusionSubsystemDescriptor.Register(XROcclusionSubsystemDescriptor.Cinfo) instead.")]
    public static bool Register(XROcclusionSubsystemCinfo occlusionSubsystemCinfo)
    Parameters
    Type Name Description
    XROcclusionSubsystemCinfo occlusionSubsystemCinfo

    The occlusion subsystem implementation construction information.

    Returns
    Type Description
    bool

    true if the descriptor was registered. Otherwise, false.

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if an XRCpuImage was successfully acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if an XRCpuImage was successfully acquired. Returns false otherwise.

    Remarks

    Whether the depth image is smoothed or raw depends on the value of environmentDepthTemporalSmoothingEnabled.

    See Also
    environmentDepthTemporalSmoothingEnabled
    environmentDepthTemporalSmoothingRequested

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if an XRCpuImage was successfully acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if an XRCpuImage was successfully acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if the raw environment depth CPU image was acquired. Returns false otherwise.

    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 true, an acquired XRCpuImage. The CPU image must be disposed by the caller.

    Returns
    Type Description
    bool

    Returns true if the smoothed environment depth CPU image was acquired. Returns false otherwise.

    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
    bool

    true if the environment depth texture descriptor is available and is returned. Otherwise, false.

    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
    bool

    true if the environment depth confidence texture descriptor is available and is returned. Otherwise, false.

    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
    bool

    true if the human depth texture descriptor is available and is returned. Otherwise, false.

    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
    bool

    true if the human stencil texture descriptor is available and is returned. Otherwise, false.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if the implementation does not support human stencil texture.

    Implements

    ISubsystem
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)