Class CustomPassVolume
Unity Monobehavior that manages the execution of custom passes. It provides
Implements
Inherited Members
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.
Declaration
[Tooltip("Sets the Volume priority in the stack. A higher value means higher priority. You can use negative values.")]
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 CustomPass AddPassOfType<T>() where T : CustomPass
Returns
Type | Description |
---|---|
CustomPass | 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. |