본문으로 바로가기
반응형

 

URP에서 Transparent shader는  depth texture에 기록되지 않는다. 셰이더에서 depth pass를 작성해도 안되는데 이는 렌더링 순서에 따른 문제이다.

일반적인 Transparent shader일때. 이때는 ZWrite를 On 시켜도 그려지지 않는것을 볼 수 있다.

렌더큐를 강제로 Geometry로 변경시키면 그려지는 것을 확인할 수 있으나 sorting에 문제가 생긴다.

이를 강제로 큐를 2450(AlphaTest 혹은 2470)으로 설정해서 쓰는 방법도 있긴 하지만 URP에서 사용되는 Render Feature를 활용 할 수도 있다.

Opaque 이후 그려지도록 설정하고 Depth texture를 확인하면 제대로 그려지고 있는 것을 확인할 수 있다. 다만, URP Render Feature의 SSAO는  Opaque 전에 그리므로 이 옵션을 활성화 해도 SSAO에 Transparent 메쉬가 적용되지 않는다.

URP 12버젼부터 After Opaque라는 옵션이 생겼다. 이를 선택하면 SSAO에서 Depth pass를 그릴때 적용하게 할수도 있다.

 

반응형