2024-11-01 16:55:46 +08:00

2.1 KiB

Custom render pass workflow in URP

A custom render pass is a way to change how the Universal Render Pipeline (URP) renders a scene or the objects within a scene. A custom render pass contains your own rendering code, which you add to the rendering pipeline at an injection point.

To add a custom render pass, complete the following tasks:

Create the code for a custom render pass

Use the ScriptableRenderPass to create the code for a custom render pass.

Refer to Write a Scriptable Render Pass for more information.

Inject the custom render pass using the RenderPipelineManager API

Unity raises a beginCameraRendering event before it renders each active Camera in every frame. You can subscribe a method to this event, to execute your custom render pass before Unity renders the Camera.

Refer to Inject a render pass via scripting for more information.

Create a Scriptable Renderer Feature

Scriptable Renderer Features control when and how the Scriptable Render Passes apply to a particular renderer or camera, and can also manage multiple Scriptable Render Passes at once.

To create a Scriptable Renderer Feature, you do the following:

  • Create a Scriptable Renderer Feature using the API.
  • Add the Scriptable Renderer Feature to the Universal Renderer asset, so it's included in the rendering pipeline.
  • Enqueue your custom render pass in the Scriptable Renderer Feature.

Refer to Inject a pass using a Scriptable Renderer Feature for more information.