스크린 공간 그림자 렌더러 기능
스크린 공간 그림자 렌더러 기능은 메인 방향 광원의 영향을 받는 불투명한 오브젝트에 대한 스크린 공간 그림자를 계산하여 씬에 그립니다. 스크린 공간 그림자를 렌더링하려면 URP에 추가 렌더 타겟이 있어야 합니다. 이로 인해 애플리케이션에 필요한 메모리 양이 증가하지만, 프로젝트에서 포워드 렌더링을 사용하는 경우 스크린 공간 그림자를 사용하면 런타임 리소스의 소모 강도를 낮출 수 있습니다. 스크린 공간 그림자를 사용하면 URP가 캐스케이드 섀도우 맵에 여러 번 액세스할 필요가 없기 때문입니다.
샘플 씬에 있는 스크린 공간 그림자.
위 이미지의 스크린 공간 그림자 텍스처.
스크린 공간 그림자 활성화
프로젝트에 스크린 공간 그림자를 추가하려면 스크린 공간 그림자 렌더러 기능 을 URP 렌더러에 추가하십시오.
프레임 디버거에서 스크린 공간 그림자 확인
이 렌더러 기능을 활성화하면 URP가 씬에서 스크린 공간 그림자를 렌더링합니다. 섀도우 맵 그림자와 스크린 공간 그림자를 구분하려면 프레임 디버거에서 그림자를 그리는 렌더 패스를 확인하면 됩니다.
프레임 디버거에 있는 스크린 공간 그림자 패스.
스크린 공간 그림자 텍스처 또는 캐스케이드 섀도우 맵 간에 불투명 오브젝트에 드리우는 그림자를 비교할 수 있습니다
프레임 디버거에 스크린 공간 그림자 텍스처가 표시되어 있습니다.
프레임 디버거에 캐스케이드 섀도우 맵에서 드리우는 그림자가 표시되어 있습니다.
요구 사항 및 호환성
이 렌더러 기능은 뎁스 텍스처를 사용하고 불투명한 오브젝트를 그리기 전에 뎁스 프리패스를 호출합니다. 또한 DrawOpaqueObjects
렌더 패스 전에 스크린 공간의 그림자를 계산합니다. URP는 투명 오브젝트의 스크린 공간 그림자를 계산하거나 적용하지 않으며, 대신 투명 오브젝트에 섀도우 맵을 사용합니다.
Unity가 투명 오브젝트에는 섀도우 맵을 사용하고, 불투명 오브젝트에는 스크린 공간 그림자를 사용함을 보여주는 프레임 디버거