docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class VolumeManager

    A global manager that tracks all the Volumes in the currently loaded Scenes and does all the interpolation work.

    Inheritance
    object
    VolumeManager
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.Rendering
    Assembly: Unity.RenderPipelines.Core.Runtime.dll
    Syntax
    public sealed class VolumeManager

    Properties

    baseComponentTypeArray

    The current list of all available types that derive from VolumeComponent.

    Declaration
    public Type[] baseComponentTypeArray { get; }
    Property Value
    Type Description
    Type[]

    baseComponentTypes

    The current list of all available types that derive from VolumeComponent.

    Declaration
    [Obsolete("Please use baseComponentTypeArray instead.")]
    public IEnumerable<Type> baseComponentTypes { get; }
    Property Value
    Type Description
    IEnumerable<Type>

    customDefaultProfiles

    Collection of additional default profiles that can be used to override default values for volume components in a way that doesn't cause any overhead at runtime. Unity applies these Volume Profiles to its internal component default state after globalDefaultProfile and qualityDefaultProfile. The custom profiles are applied in the order that they appear in the collection.

    Declaration
    public ReadOnlyCollection<VolumeProfile> customDefaultProfiles { get; }
    Property Value
    Type Description
    ReadOnlyCollection<VolumeProfile>

    globalDefaultProfile

    Global default profile that provides default values for volume components. VolumeManager applies this profile to its internal component default state first, before qualityDefaultProfile and customDefaultProfiles.

    Declaration
    public VolumeProfile globalDefaultProfile { get; }
    Property Value
    Type Description
    VolumeProfile

    instance

    The current singleton instance of VolumeManager.

    Declaration
    public static VolumeManager instance { get; }
    Property Value
    Type Description
    VolumeManager

    isInitialized

    Returns whether Initialize(VolumeProfile, VolumeProfile) has been called, and the class is in valid state. It is not valid to use VolumeManager before this returns true.

    Declaration
    public bool isInitialized { get; }
    Property Value
    Type Description
    bool

    qualityDefaultProfile

    Quality level specific volume profile that is applied to the default state after globalDefaultProfile and before customDefaultProfiles.

    Declaration
    public VolumeProfile qualityDefaultProfile { get; }
    Property Value
    Type Description
    VolumeProfile

    stack

    A reference to the main VolumeStack.

    Declaration
    public VolumeStack stack { get; set; }
    Property Value
    Type Description
    VolumeStack
    See Also
    VolumeStack

    Methods

    CheckDefaultVolumeState()

    Checks component default state. This is only used in the editor to handle entering and exiting play mode because the instances created during playmode are automatically destroyed.

    Declaration
    [Conditional("UNITY_EDITOR")]
    public void CheckDefaultVolumeState()

    CheckStack(VolumeStack)

    Checks the state of a given stack. This is only used in the editor to handle entering and exiting play mode because the instances created during playmode are automatically destroyed.

    Declaration
    [Conditional("UNITY_EDITOR")]
    public void CheckStack(VolumeStack stack)
    Parameters
    Type Name Description
    VolumeStack stack

    The stack to check.

    CreateStack()

    Creates and returns a new VolumeStack to use when you need to store the result of the Volume blending pass in a separate stack.

    Declaration
    public VolumeStack CreateStack()
    Returns
    Type Description
    VolumeStack

    A new VolumeStack instance with freshly loaded components.

    See Also
    VolumeStack
    Update(VolumeStack, Transform, LayerMask)

    Deinitialize()

    Deinitialize VolumeManager. Should be called from RenderPipeline.Dispose().

    Declaration
    public void Deinitialize()

    DestroyStack(VolumeStack)

    Destroy a Volume Stack

    Declaration
    public void DestroyStack(VolumeStack stack)
    Parameters
    Type Name Description
    VolumeStack stack

    Volume Stack that needs to be destroyed.

    GetVolumeComponentDefaultState(Type)

    Retrieve the default state for a given VolumeComponent type. Default state is defined as "default-constructed VolumeComponent + Default Profiles evaluated in order".

    Declaration
    public VolumeComponent GetVolumeComponentDefaultState(Type volumeComponentType)
    Parameters
    Type Name Description
    Type volumeComponentType

    Type of VolumeComponent

    Returns
    Type Description
    VolumeComponent

    VolumeComponent in default state, or null if the type is not found

    Remarks

    If you want just the VolumeComponent with default-constructed values without overrides from Default Profiles, use CreateInstance(Type).

    GetVolumes(LayerMask)

    Get all volumes on a given layer mask sorted by influence.

    Declaration
    public Volume[] GetVolumes(LayerMask layerMask)
    Parameters
    Type Name Description
    LayerMask layerMask

    The LayerMask that Unity uses to filter Volumes that it should consider.

    Returns
    Type Description
    Volume[]

    An array of volume.

    Initialize(VolumeProfile, VolumeProfile)

    Initialize VolumeManager with specified global and quality default volume profiles that are used to evaluate the default state of all VolumeComponents. Should be called from RenderPipeline constructor.

    Declaration
    public void Initialize(VolumeProfile globalDefaultVolumeProfile = null, VolumeProfile qualityDefaultVolumeProfile = null)
    Parameters
    Type Name Description
    VolumeProfile globalDefaultVolumeProfile

    Global default volume profile.

    VolumeProfile qualityDefaultVolumeProfile

    Quality default volume profile.

    IsComponentActiveInMask<T>(LayerMask)

    Checks if a VolumeComponent is active in a given LayerMask.

    Declaration
    public bool IsComponentActiveInMask<T>(LayerMask layerMask) where T : VolumeComponent
    Parameters
    Type Name Description
    LayerMask layerMask

    The LayerMask to check against

    Returns
    Type Description
    bool

    true if the component is active in the LayerMask, false otherwise.

    Type Parameters
    Name Description
    T

    A type derived from VolumeComponent

    OnVolumeComponentChanged(VolumeComponent)

    Call when a VolumeComponent is modified to trigger default state update if necessary.

    Declaration
    public void OnVolumeComponentChanged(VolumeComponent component)
    Parameters
    Type Name Description
    VolumeComponent component

    VolumeComponent that has changed.

    OnVolumeProfileChanged(VolumeProfile)

    Call when a VolumeProfile is modified to trigger default state update if necessary.

    Declaration
    public void OnVolumeProfileChanged(VolumeProfile profile)
    Parameters
    Type Name Description
    VolumeProfile profile

    VolumeProfile that has changed.

    Register(Volume, int)

    Registers a new Volume in the manager. Unity does this automatically when a new Volume is enabled, or its layer changes, but you can use this function to force-register a Volume that is currently disabled.

    Declaration
    public void Register(Volume volume, int layer)
    Parameters
    Type Name Description
    Volume volume

    The volume to register.

    int layer

    The LayerMask that this volume is in.

    See Also
    Unregister(Volume, int)

    ResetMainStack()

    Resets the main stack to be the default one. Call this function if you've assigned the main stack to something other than the default one.

    Declaration
    public void ResetMainStack()

    SetCustomDefaultProfiles(List<VolumeProfile>)

    Assign the given VolumeProfiles as custom default profiles and update the default component state.

    Declaration
    public void SetCustomDefaultProfiles(List<VolumeProfile> profiles)
    Parameters
    Type Name Description
    List<VolumeProfile> profiles

    List of VolumeProfiles to set as default profiles, or null to clear them.

    SetGlobalDefaultProfile(VolumeProfile)

    Assign the given VolumeProfile as the global default profile and update the default component state.

    Declaration
    public void SetGlobalDefaultProfile(VolumeProfile profile)
    Parameters
    Type Name Description
    VolumeProfile profile

    The VolumeProfile to use as the global default profile.

    SetQualityDefaultProfile(VolumeProfile)

    Assign the given VolumeProfile as the quality default profile and update the default component state.

    Declaration
    public void SetQualityDefaultProfile(VolumeProfile profile)
    Parameters
    Type Name Description
    VolumeProfile profile

    The VolumeProfile to use as the quality level default profile.

    Unregister(Volume, int)

    Unregisters a Volume from the manager. Unity does this automatically when a Volume is disabled or goes out of scope, but you can use this function to force-unregister a Volume that you added manually while it was disabled.

    Declaration
    public void Unregister(Volume volume, int layer)
    Parameters
    Type Name Description
    Volume volume

    The Volume to unregister.

    int layer

    The LayerMask that this Volume is in.

    See Also
    Register(Volume, int)

    Update(VolumeStack, Transform, LayerMask)

    Updates the Volume manager and stores the result in a custom VolumeStack.

    Declaration
    public void Update(VolumeStack stack, Transform trigger, LayerMask layerMask)
    Parameters
    Type Name Description
    VolumeStack stack

    The stack to store the blending result into.

    Transform trigger

    A reference Transform to consider for positional Volume blending.

    LayerMask layerMask

    The LayerMask that Unity uses to filter Volumes that it should consider for blending.

    See Also
    VolumeStack

    Update(Transform, LayerMask)

    Updates the global state of the Volume manager. Unity usually calls this once per Camera in the Update loop before rendering happens.

    Declaration
    public void Update(Transform trigger, LayerMask layerMask)
    Parameters
    Type Name Description
    Transform trigger

    A reference Transform to consider for positional Volume blending

    LayerMask layerMask

    The LayerMask that the Volume manager uses to filter Volumes that it should consider for blending.

    Extension Methods

    ReflectionUtils.GetField(object, string)
    ReflectionUtils.GetFields(object)
    ReflectionUtils.Invoke(object, string, params object[])
    ReflectionUtils.SetField(object, string, object)
    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, T)
    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)