스크린 공간 앰비언트 오클루전 효과는 서로 인접한 주름, 구멍, 교차점, 표면을 실시간으로 어둡게 만듭니다. 현실에서 이러한 영역은 주변광을 가리거나 차단하기 때문에 실제로 더 어두워 보입니다.
URP(유니버설 렌더 파이프라인)는 스크린 공간 앰비언트 오클루전(SSAO) 효과를 렌더러 기능으로 구현합니다. URP(유니버설 렌더 파이프라인)가 제공하는 모든 셰이더와 사용자가 생성한 모든 커스텀 불투명 Shader Graph에서 작동합니다.
참고: SSAO 효과는 렌더러 기능이며, URP에서 포스트 프로세싱 효과와 별개로 동작합니다. 이 효과는 볼륨에 의존하거나 볼륨과 상호작용하지 않습니다.
다음 이미지는 앰비언트 오클루전 효과가 비활성화 또는 활성화된 씬과 앰비언트 오클루전 텍스처만 있는 씬을 보여줍니다.
SSAO 렌더러 기능은 노멀 벡터를 사용하여 표면의 각 점이 주변광에 노출되는 정도를 계산합니다.
URP 10.0는 현재 프레임에 대한 _CameraNormalsTexture 노멀 텍스처를 생성하는 DepthNormals 패스 블록을 구현합니다. 기본적으로 SSAO 렌더러 기능은 이 텍스처를 사용하여 앰비언트 오클루전 값을 계산합니다.
커스텀 SRP를 구현하거나 셰이더에 DepthNormals 패스 블록을 구현하고 싶지 않은 경우 SSAO 렌더러 기능을 사용하고 해당 Source 프로퍼티를 Depth로 변경할 수 있습니다. 이 경우 Unity는 DepthNormals 패스를 사용하여 노멀 벡터를 생성하지 않고, 대신에 뎁스 텍스처를 사용하여 노멀 벡터를 재구성합니다.
Source 프로퍼티에서 Depth 옵션을 선택하면 Normal Quality 프로퍼티가 활성화됩니다. 이 프로퍼티의 옵션(Low, Medium, High)은 뎁스 텍스처에서 노멀 벡터를 재구성할 때 Unity가 사용하는 뎁스 텍스처의 샘플 수를 결정합니다. 품질 수준당 샘플 수는 다음과 같습니다. Low: 1, Medium: 5, High: 9.