docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class CustomPassVolume

    Unity Monobehavior that manages the execution of custom passes. It provides

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    CustomPassVolume
    Implements
    IVolume
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.Rendering.HighDefinition
    Assembly: Unity.RenderPipelines.HighDefinition.Runtime.dll
    Syntax
    [ExecuteAlways]
    public class CustomPassVolume : MonoBehaviour, IVolume

    Fields

    customPasses

    List of custom passes to execute

    Declaration
    [SerializeReference]
    public List<CustomPass> customPasses
    Field Value
    Type Description
    List<CustomPass>

    fadeRadius

    Distance where the volume start to be rendered, the fadeValue field in C# will be updated to the normalized blend factor for your custom C# passes In the fullscreen shader pass and DrawRenderers shaders you can access the _FadeValue

    Declaration
    [Min(0)]
    public float fadeRadius
    Field Value
    Type Description
    float

    injectionPoint

    Where the custom passes are going to be injected in HDRP

    Declaration
    public CustomPassInjectionPoint injectionPoint
    Field Value
    Type Description
    CustomPassInjectionPoint

    priority

    The volume priority, used to determine the execution order when there is multiple volumes with the same injection point. Custom Pass Volume with a higher value is rendered first.

    Declaration
    public float priority
    Field Value
    Type Description
    float

    Properties

    colliders

    The colliders of the volume if isGlobal is false

    Declaration
    public List<Collider> colliders { get; }
    Property Value
    Type Description
    List<Collider>

    fadeValue

    Fade value between 0 and 1. it represent how close you camera is from the collider of the custom pass. 0 when the camera is outside the volume + fade radius and 1 when it is inside the collider.

    Declaration
    public float fadeValue { get; }
    Property Value
    Type Description
    float

    The fade value that should be applied to the custom pass effect

    isGlobal

    Whether or not the volume is global. If true, the component will ignore all colliders attached to it

    Declaration
    public bool isGlobal { get; set; }
    Property Value
    Type Description
    bool

    targetCamera

    Use this field to force the custom pass volume to be executed only for one camera.

    Declaration
    public Camera targetCamera { get; set; }
    Property Value
    Type Description
    Camera

    Methods

    AddPassOfType(Type)

    Add a pass of type passType in the active pass list

    Declaration
    public CustomPass AddPassOfType(Type passType)
    Parameters
    Type Name Description
    Type passType

    The type of the CustomPass to create

    Returns
    Type Description
    CustomPass

    The new custom

    AddPassOfType<T>()

    Add a pass of type passType in the active pass list

    Declaration
    public T AddPassOfType<T>() where T : CustomPass
    Returns
    Type Description
    T

    The new custom

    Type Parameters
    Name Description
    T

    The type of the CustomPass to create

    GetActivePassVolume(CustomPassInjectionPoint)

    Gets the currently active Custom Pass Volume for a given injection point. Note this function returns only the first active volume, not the others that will be executed.

    Declaration
    [Obsolete("In order to support multiple custom pass volume per injection points, please use GetActivePassVolumes.")]
    public static CustomPassVolume GetActivePassVolume(CustomPassInjectionPoint injectionPoint)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point to get the currently active Custom Pass Volume for.

    Returns
    Type Description
    CustomPassVolume

    Returns the Custom Pass Volume instance associated with the injection point.

    GetActivePassVolumes(CustomPassInjectionPoint, List<CustomPassVolume>)

    Gets the currently active Custom Pass Volume for a given injection point.

    Declaration
    public static void GetActivePassVolumes(CustomPassInjectionPoint injectionPoint, List<CustomPassVolume> volumes)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point to get the currently active Custom Pass Volume for.

    List<CustomPassVolume> volumes

    The list of custom pass volumes to popuplate with the active volumes.

    GetGlobalCustomPasses(CustomPassInjectionPoint)

    Gets all the custom passes registered at a specific injection point. This includes both enabled and disabled custom passes.

    Declaration
    public static List<CustomPassVolume.GlobalCustomPass> GetGlobalCustomPasses(CustomPassInjectionPoint injectionPoint)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point used to filer the resulting custom pass list.

    Returns
    Type Description
    List<CustomPassVolume.GlobalCustomPass>

    The list of all the global custom passes in the injection point provided in parameter. If no custom pass were registered for the injection point, an empty list is returned.

    RegisterGlobalCustomPass(CustomPassInjectionPoint, CustomPass, float)

    Register a custom pass instance at a given injection point. This custom pass will be executed by every camera with custom pass enabled in their frame settings.

    Declaration
    public static void RegisterGlobalCustomPass(CustomPassInjectionPoint injectionPoint, CustomPass customPassInstance, float priority = 0)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point where the custom pass will be executed.

    CustomPass customPassInstance

    The instance of the custom pass to execute. The same custom pass instance can be registered multiple times.

    float priority

    Define the execution order of the custom pass. Custom passes are executed from high to low priority.

    RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint, CustomPass, float)

    Similar to the RegisterGlobalCustomPass with a protection ensuring that only one custom pass type is existing at a certain injection point. The same custom pass type can still be registered to multiple injection point as long as there is only one of this type per injection point.

    Declaration
    public static bool RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint injectionPoint, CustomPass customPassInstance, float priority = 0)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point where the custom pass will be executed.

    CustomPass customPassInstance

    The instance of the custom pass to execute. The type of the custom pass will also be used to check if there is already a custom pass of this type registered.

    float priority

    Define the execution order of the custom pass. Custom passes are executed from high to low priority.

    Returns
    Type Description
    bool

    UnregisterAllGlobalCustomPasses()

    Unregister all global custom passes registered by any system. This function unregister both active and inactive custom passes.

    Declaration
    public static bool UnregisterAllGlobalCustomPasses()
    Returns
    Type Description
    bool

    True if at least one custom pass was removed. False otherwise.

    UnregisterAllGlobalCustomPasses(CustomPassInjectionPoint)

    Unregister all global custom passes at a specific injection point. This function unregister both active and inactive custom passes.

    Declaration
    public static bool UnregisterAllGlobalCustomPasses(CustomPassInjectionPoint injectionPoint)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    The injection point where you want all the custom passes to be removed.

    Returns
    Type Description
    bool

    True if at least one custom pass was removed. False otherwise.

    UnregisterGlobalCustomPass(CustomPass)

    Remove a custom from the execution lists.

    Declaration
    public static bool UnregisterGlobalCustomPass(CustomPass customPassInstance)
    Parameters
    Type Name Description
    CustomPass customPassInstance

    The custom pass instance to remove. If the custom pass instance exists at multiple injection points, they will all be removed.

    Returns
    Type Description
    bool

    True if one or more custom passes were removed. False otherwise.

    UnregisterGlobalCustomPass(CustomPassInjectionPoint, CustomPass)

    Unregister a custom from the injection point execution list. If the same custom pass instance is registered multiple times, they will all be removed.

    Declaration
    public static bool UnregisterGlobalCustomPass(CustomPassInjectionPoint injectionPoint, CustomPass customPassInstance)
    Parameters
    Type Name Description
    CustomPassInjectionPoint injectionPoint

    Selects from which injection point the custom pass instance will be removed

    CustomPass customPassInstance

    The custom pass instance to unregister.

    Returns
    Type Description
    bool

    True if one or more custom passes were removed. False otherwise.

    Implements

    UnityEngine.Rendering.IVolume
    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)