Unity_MultiPassRenderingOnURP icon indicating copy to clipboard operation
Unity_MultiPassRenderingOnURP copied to clipboard

Multipass Rendering on Universal Render Pipeline

thumbnail

This unity project is a sample use case of multipass rendering (commonly used in pre-rendering workflow) on Universal Render Pipeline. I used unity distributed packages only, so you don't have to install third-party packages.

Master Render Result

master

Normal Pass

OpenGL formatted.

normal

Depth Pass

depth

Known issue : it works after light baking.

Character Mask

Isolate "Character" layer.

chara

All Object Mask

Divide background and objects.

obj

Technique

Create URP Asset and Forward Renderer Datas for each pass

urp

Add Render Object Renderer Feature to each Forward Renderer Data

I used Render Object renderer feature to replace specific objects' (layers') material.

See : https://learn.unity.com/tutorial/custom-render-passes-with-urp

srp-render-object

Universal Render Pipeline Asset

Add previous Forward Renderer Datas to Renderer List

urp-asset

Camera

Set Forward Renderer Data you want to Rendering > Renderer

camera