레이트레이싱 기반 섀도우
레이트레이싱 기반 섀도우는 HDRP가 다음의 광원 소스에서 빛의 광선을 추적하여 생성하는 그림자입니다.
HDRP 프로젝트에서 레이트레이싱 기반 섀도우를 활성화하면 불투명 게임 오브젝트에 대한 그림자 맵을 교체합니다.
레이트레이싱 기반 섀도우 사용
모든 레이트레이싱 기반 섀도우는 스크린 공간 그림자입니다. 즉 HDRP는 뎁스 버퍼(불투명 게임 오브젝트만 저장)에 있는 화면의 모든 픽셀에 대한 정보가 들어있는 스크린 공간 버퍼에 그림자를 저장합니다.
레이트레이싱 기반 섀도우를 사용하려면 HDRP 프로젝트에서 스크린 공간 그림자를 활성화해야 합니다. 이를 수행하려면 다음 단계를 따르십시오.
- 프로젝트 창에서 HDRP 에셋을 클릭한 후 인스펙터에서 확인합니다.
- Lighting 섹션에서 Screen Space Shadows를 활성화합니다.
- 각 프레임을 평가하고자 하는 스크린 공간 그림자의 최대 수를 나타내는 Maximum에 대한 값을 설정합니다. 씬에 이 광원의 수보다 더 많이 있는 경우 HDRP는 이 수만큼의 그림자에만 레이캐스트하고 나머지에 대해서는 섀도우 맵을 사용합니다.
그런 다음 카메라에 대해 스크린 공간 그림자를 활성화합니다. 이를 수행하려면 다음 단계를 따르십시오.
- Project Settings 창을 연 다음(메뉴: Edit > Project Settings) HDRP Default Settings 탭을 선택합니다.
- Default Frame Settings For 드롭다운에서 Camera를 선택합니다.
- Lighting 섹션에서 Screen Space Shadows를 활성화합니다.
마지막으로 HDRP가 방향 광원이나 점 광원, 사각형 광원에 대해 레이트레이싱 기반 섀도우를 처리하게 하려면 다음 단계를 따르십시오.
- Shadows 섹션의 Shadow Map 폴드아웃 아래에 있는 Enable 체크박스를 클릭합니다.
- 마찬가지로 Shadow Map 폴드아웃에서 Ray-Traced Shadows를 활성화합니다. 방향 광원의 경우 Screen Space Shadows를 활성화하여 이 프로퍼티에 액세스해야 합니다.
- 그림자의 동작을 변경하려면 Ray-Traced Shadows 아래에서 프로퍼티를 편집합니다.
방향 광원
레이트레이싱 기반 섀도우는 방향 광원이 불투명 게임 오브젝트에 사용하는 캐스케이드 그림자 맵에 대안을 제공합니다.
방향 광원 캐스케이드 그림자 맵
레이트레이싱 기반 방향 광원 그림자 (태양각 = 0)
레이트레이싱 기반 방향 광원 그림자 (태양각 = 0.53, 지구에서 본 태양의 각도)
레이트레이싱 기반 섀도우를 사용하면 방향 광원이 비추는 투명하고 빛이 투과하는 게임 오브젝트가 컬러가 지정된 그림자를 드리울 수 있습니다.
참고: 빛이 투과하는 게임 오브젝트와 함께 방향 광원을 사용하면 HDRP는 게임 오브젝트의 뒤쪽에 래스터화된 그림자를 표시합니다.
컬러가 지정된 그림자가 있는 레이트레이싱 기반 방향 광원 그림자
컬러가 지정된 그림자가 없는 레이트레이싱 기반 방향 광원 그림자
프로퍼티
프로퍼티 | 설명 |
---|---|
Sun Angle | 하늘에 있는 태양의 크기를 도 단위로 설정합니다. 예를 들어 지구에서 태양에 대한 값은 0.53°입니다. |
Sample Count | HDRP가 픽셀당 프레임마다 사용하는 광선의 수를 제어합니다. 값이 높을수록 그림자가 더 정확하게 생성됩니다. 이 값을 높이면 실행 시간이 선형적으로 늘어납니다. |
Color Shadow | 투명하고 빛이 투과하는 게임 오브젝트가 컬러가 지정된 그림자를 드리울 수 있게 합니다. 머티리얼은 Refraction Model이 Thin이나 Box, Sphere로 설정된 경우에만 컬러가 지정된 그림자를 드리울 수 있습니다. |
Denoise | HDRP가 레이트레이싱 기반 섀도우에서 노이즈를 제거하기 위해 사용하는 시공간 필터를 활성화합니다. 이렇게 하면 그림자가 더 매끄러워집니다. |
- Denoiser Radius | 시공간 필터의 반지름을 제어합니다. |
점 광원 및 스폿 광원
레이트레이싱 기반 섀도우는 점 광원과 스폿 광원이 불투명 게임 오브젝트에 사용하는 그림자 맵에 대안을 제공합니다. HDRP는 계속 공간의 단일 지점에서 나오는 것으로 점 광원의 조명을 평가하지만(광원은 펑추얼 광원임) 그림자를 마치 광원이 구체의 표면에서 나오는 것처럼 평가합니다. 반면에 HDRP는 스폿 광원의 조명을 공간의 단일 지점에서 나오는 것으로 평가하지만 광원이 그림자를 원뿔의 표면에서 나오는 것처럼 평가합니다.
점 광원 그림자 맵
레이트레이싱 기반 점 광원 그림자 (반지름 = 0.001m)
레이트레이싱 기반 점 광원 그림자 (반지름 = 0.5m)
레이트레이싱 기반 섀도우는 투명하고 빛이 투과하는 게임 오브젝트가 드리운 점 광원에 대한 반투명 그림자를 가능하게 합니다.
반투명 그림자가 있는 레이트레이싱 기반 점 광원 그림자
반투명 그림자가 없는 레이트레이싱 기반 점 광원 그림자
프로퍼티
프로퍼티 | 설명 |
---|---|
Sample Count | HDRP가 픽셀당 프레임마다 사용하는 광선의 수를 제어합니다. 샘플 수가 적으면 노이즈 감소를 더 많이 해야하는 노이즈가 많은 이미지가 생성됩니다. 이 값을 높이면 실행 시간이 선형적으로 늘어납니다. |
Semi-Transparent Shadow | 투명하고 빛이 투과하는 게임 오브젝트가 반투명 그림자를 드리울 수 있게 합니다. |
Radius | HDRP가 그림자를 평가하는 데 사용하는 구체 광원의 반지름을 설정합니다. 이렇게 하면 빛을 발산하는 표면의 크기가 커집니다. |
Denoise | HDRP가 레이트레이싱 기반 섀도우에서 노이즈를 제거하기 위해 사용하는 시공간 필터를 활성화합니다. |
- Denoiser Radius | 시공간 필터의 반지름을 제어합니다. |
- Distance Based Denoising | HDRP가 그림자에서 노이즈를 감소할 때 오클루더까지의 거리를 고려해야 하는지 여부를 지정합니다. 이렇게 하면 디노이저의 품질은 증가하지만 리소스 소모량도 증가합니다. |
사각형 광원
레이트레이싱 기반 섀도우는 사각형 광원이 불투명 게임 오브젝트에 사용하는 지수 분산 그림자 맵에 대안을 제공합니다.
사각형 광원 그림자 맵
레이트레이싱 기반 사각형 광원 그림자
참고: Deferred 모드에서 렌더링할 때 HDRP는 릿 셰이더에 정확한 레이트레이싱 기반 면 광원 그림자를 제공합니다. HDRP가 다른 셰이더에 대해 렌더링하거나 포워드 모드의 릿 셰이더에 대해 렌더링할 때는 근사치를 사용하여 면 광원에 대한 레이트레이싱 기반 섀도우를 계산합니다. 이 근사치는 완벽히 정확하진 않지만 그럴듯한 결과를 생성합니다.
빛이 투과하는 게임 오브젝트와 함께 사각형 광원을 사용하면 HDRP는 게임 오브젝트의 뒤쪽에 래스터화된 그림자를 표시합니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Sample Count | HDRP가 픽셀당 프레임마다 사용하는 광선의 수를 제어합니다. 이 값을 높이면 실행 시간이 선형적으로 늘어납니다. |
Denoise | HDRP가 레이트레이싱 기반 섀도우에서 노이즈를 제거하기 위해 사용하는 시공간 필터를 활성화합니다. |
- Denoiser Radius | 시공간 필터의 반지름을 제어합니다. |
제한 사항
양면 그림자
레이트레이싱 기반 섀도우는 메시 렌더러의 Cast Shadows 프로퍼티에 대해 Two Sided 옵션을 제공하지 않습니다. 메시에 양면 그림자를 사용하려면 인스펙터에서 Mesh Renderer's Material을 열고 Surface Options 섹션에서 Double-Sided 프로퍼티를 활성화합니다.
재귀적 렌더링
HDRP가 재귀적 렌더링을 사용하여 렌더링하는 게임 오브젝트는 레이트레이싱 기반 섀도우를 받을 수 없습니다. 두 효과를 모두 활성화하는 경우 HDRP는 재귀적으로 렌더링된 게임 오브젝트에 래스터화된 그림자를 렌더링합니다.