PART 5 - 강의 4/5
SMRT
Shadow Map Ray Tracing과 Contact Hardening
01
SMRT 개념
| 기존 PCF | SMRT |
|---|---|
| 균일 블러 | 물리적 소프트 섀도우 |
| 디테일 손실 | 디테일 보존 |
| 거리 무관 블러 | Contact Hardening |
02
Contact Hardening
Contact Hardening 효과
[가까운 그림자] -> 선명
[먼 그림자] -> 부드러움
예: 나무 그림자
- 나무 밑동 근처: 선명한 그림자
- 멀리 떨어진 곳: 부드러운 그림자
관련 설정
r.Shadow.Virtual.SMRT.RayCountDirectional = 8 // 레이 수
03
SMRT 설정 가이드
라이트 타입별 레이 수 최적화
SMRT 설정
// Directional Light SMRT
r.Shadow.Virtual.SMRT.RayCountDirectional = 8
r.Shadow.Virtual.SMRT.SamplesPerRayDirectional = 8
r.Shadow.Virtual.SMRT.MaxRayAngleFromLight = 0.03
// Local Light SMRT (Point, Spot)
r.Shadow.Virtual.SMRT.RayCountLocal = 8
r.Shadow.Virtual.SMRT.SamplesPerRayLocal = 8
// 소프트 섀도우 강도
// Light의 Source Radius/Source Angle 속성
// 값이 클수록 더 부드러운 그림자
| 품질 프리셋 | RayCount | SamplesPerRay | 용도 |
|---|---|---|---|
| Low | 4 | 4 | 성능 우선 |
| Medium | 8 | 8 | 균형 |
| High | 16 | 16 | 고품질 |
04
Penumbra 디노이징
노이즈 제거와 시간적 안정성
SMRT의 스토캐스틱 특성상 노이즈가 발생할 수 있습니다. UE5는 시간적 필터링을 사용하여 여러 프레임에 걸쳐 노이즈를 축적합니다.
노이즈 대처
레이 수를 늘리는 것보다 시간적 축적이 효율적입니다. 카메라가 정지해 있으면 수 프레임에 걸쳐 노이즈가 자연스럽게 수렴합니다. 카메라가 빠르게 움직이는 경우에만 레이 수를 고려하세요.
Source Radius 활용
Directional Light의 Source Angle과 Local Light의 Source Radius를 적절히 설정하면 Contact Hardening 효과가 더 자연스러워집니다. 태양광의 경우 0.5357 정도가 물리적으로 정확합니다.
SUMMARY
핵심 요약
- SMRT는 물리적으로 정확한 소프트 섀도우
- Contact Hardening으로 거리별 자연스러운 블러
- 레이 수로 품질/성능 트레이드오프 (8/8 기본)
- 시간적 축적이 레이 수보다 효율적
PRACTICE
도전 과제
배운 내용을 직접 실습해보세요
실습 1: Contact Hardening 관찰
Directional Light의 Source Angle을 조절하면서 나무 그림자의 Contact Hardening 효과를 관찰하세요. 나무 밑동 근처(선명)와 먼 거리(부드러움)의 차이를 확인하세요.
실습 2: SMRT 레이 수 튜닝
r.Shadow.Virtual.SMRT.RayCountDirectional을 4, 8, 16으로 변경하면서 그림자 노이즈와 stat ShadowRendering SMRT 비용을 비교하세요.
심화 과제
다양한 Source Angle 값(0.1, 0.5357, 1.0, 2.0)에서 SMRT의 Penumbra 크기와 노이즈 수준을 분석하세요. 물리적으로 정확한 태양 크기(0.5357)와 예술적 과장 값의 시각적 차이를 문서화하세요.