https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/renderer-features/how-to-custom-effect-render-objects.html

 

 

1.首先,需要设置URP资源

2.创建的两个材质Character/CharacterBehindObjects分别用来渲染未被遮挡物体、被遮挡物体

Overrides中若不特别设置Material,则沿用本身材质(Character)

 

3.Renderer Features中的Filters/Layer Mask决定了该特性所影响的层

而Renderer Data中的Filtering则表示默认渲染哪些层

demo中Renderer Data的Filtering未包含Character层,默认不渲染Character层;

而Renderer Features中的Filters仅包含Character层,因此(当该feature开启时)按其逻辑渲染Character层,若feature未开启依旧不渲染Character层。

4.两个features的顺序决定了其执行顺序

DrawCharacterBehind先于Character执行,若使用MoveUp、MoveDown可改变其执行顺序(改变后深度信息变化,效果就错了)