Class PostProcessLayer
This is the component responsible for rendering post-processing effects. It must be put on every camera you want post-processing to be applied to.
Inherited Members
Namespace: UnityEngine.Rendering.PostProcessing
Assembly: solution.dll
Syntax
[ExecuteInEditMode]
[DisallowMultipleComponent]
[ImageEffectAllowedInSceneView]
[AddComponentMenu("Rendering/Post-process Layer", 1000)]
[RequireComponent(typeof(Camera))]
public sealed class PostProcessLayer : MonoBehaviour
Fields
Name | Description |
---|---|
antialiasingMode | The anti-aliasing method to use for this camera. By default it's set to |
breakBeforeColorGrading | If |
debugLayer | The debug layer is reponsible for rendering debugging information on the screen. It will only be used if this layer is referenced in a PostProcessDebug component. |
fastApproximateAntialiasing | Fast Approximate Anti-aliasing settings for this camera. |
finalBlitToCameraTarget | If |
fog | Fog settings for this camera. |
stopNaNPropagation | If |
subpixelMorphologicalAntialiasing | Subpixel Morphological Anti-aliasing settings for this camera. |
temporalAntialiasing | Temporal Anti-aliasing settings for this camera. |
volumeLayer | A mask of layers to consider for volume blending. It allows you to do volume filtering and is especially useful to optimize volume traversal. You should always have your volumes in dedicated layers instead of the default one for best performances. |
volumeTrigger | This is transform that will be drive the volume blending feature. In some cases you may
want to use a transform other than the camera, e.g. for a top down game you'll want the
player character to drive the blending instead of the actual camera transform.
Setting this field to |
Properties
Name | Description |
---|---|
cameraDepthFlags | The current flags set on the camera for the built-in render pipeline. |
haveBundlesBeenInited | Returns |
sortedBundles | Pre-ordered effects mapped to available injection points. |
Methods
Name | Description |
---|---|
BakeMSVOMap(CommandBuffer, Camera, RenderTargetIdentifier, RenderTargetIdentifier?, bool, bool) | Utility method to bake a multi-scale volumetric obscurance map for the current camera. This will only work if ambient occlusion is active in the scene. |
GetBundle(Type) | Grabs the bundle for the given effect type. |
GetBundle<T>() | Grabs the bundle for the given effect type. |
GetSettings<T>() | Gets the current settings for a given effect. |
HasActiveEffects(PostProcessEvent, PostProcessRenderContext) | Checks if this layer has any active effect at the given injection point. |
HasOpaqueOnlyEffects(PostProcessRenderContext) | Checks if this layer has any active opaque-only effect. |
Init(PostProcessResources) | Initializes this layer. If you create the layer via scripting you should always call this method. |
InitBundles() | Initializes all the effect bundles. This is called automatically by the framework. |
Render(PostProcessRenderContext) | Renders all effects not in the BeforeTransparent bucket. |
RenderOpaqueOnly(PostProcessRenderContext) | Renders effects in the BeforeTransparent bucket. You should call HasOpaqueOnlyEffects(PostProcessRenderContext) before calling this method as it won't automatically blit source into destination if no opaque-only effect is active. |
ResetHistory() | This method should be called whenever you need to reset any temporal effect, e.g. when doing camera cuts. |
UpdateVolumeSystem(Camera, CommandBuffer) | Updates the state of the volume system. This should be called before any other post-processing method when running in a scriptable render pipeline. You don't need to call this method when running in one of the builtin pipelines. |