반응형
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를 그릴때 적용하게 할수도 있다.
반응형
'Technical Report > Graphics Tech Reports' 카테고리의 다른 글
[번역]Unity(및 기타 프로그램)를 위한 완벽한 노멀 맵 생성 (0) | 2022.01.07 |
---|---|
GPU Specification compare PS5/XBOX Series X/Adreno/PC (0) | 2022.01.03 |
shader gamma test (0) | 2021.03.03 |
Uncharted 4 Technical art review (0) | 2020.12.07 |
201205 Unity Linear color space에서 UI의 alpha 값이 바뀌는 문제에 대하여.. (0) | 2020.12.06 |