제작 의도
언리얼 엔진의 라이팅과 렌더링 기법에 관한 기본적인 내용들을 알아보기 쉽도록 정리했습니다.
구성 / 설명
Lightmass
•
Static과 Stationary 라이트의 GI, AO, Shadow를 베이킹하는 시스템으로, 고품질의 간접광과 섀도우를 계산하여 씬에 적용하는 역할을 합니다.
항목 | 품질 | 속도 | 메모리 사용량 | GI 방식 | 분산 빌드 | 이미시브 라이팅 |
GPU Lightmass | 높음 | 빠름 | GPU VRAM 사용 | Volumetric Lightmap | 불가능 | 옵션 활성화 선택 |
CPU Lightmass | 낮음 | 느림 | RAM 사용 | 1. Volumetric Lightmap
2. Indirect Lighting Cache
두 가지 방식 중에 선택 사용 | 가능 | 옵션 활성화 필수 |
추천 조합
1.
GPU Lightmass (RTX 그래픽 카드 O)
2.
CPU Lightmass (RTX 그래픽 카드 X)
Global Illumination (GI)
•
간접 라이팅, 빛이 한 번 반사된 후 주변 환경을 밝히는 효과를 의미합니다.
방식 | 설명 | 장점 | 단점 | 비고 |
Static Lightmap | 미리 계산된 GI를 라이트맵에 저장 | 성능 부담 없음 | 미리 계산 필요
동적 오브젝트 적용 불가능 | |
Volumetric Lightmap
(VLM) | Static Lightmap을 보완하여 동적 오브젝트 GI 적용
(3D 그리드 모양 샘플) | 동적 오브젝트 적용 가능 | 미리 계산 필요
해상도 조절 필요 | CPU Lightmass
GPU Lightmass |
Indirect Lighting Cache | Static Lightmap을 보완하여 동적 오브젝트 GI 적용
(오브젝트 표면 위 샘플) | 동적 오브젝트 적용 가능
| 저해상도 캐시로 누수 발생 | CPU Lightmass |
Screen Space GI
(SSGI) | 화면 기준으로 실시간 GI 적용 | 동적 환경에서 GI 적용 가능 | 화면 밖 정보 반영 불가
성능 일부 부담
향후 지원 중단 | 다른 GI와 혼합 사용 가능
지원 중단 |
Lumen
(Software Ray Tracing)
1. Global Distance Field
2. Mesh Distance Field | 실시간 GI 적용
1. Global Distance Field 기반 GI 적용
2. Mesh Distance Field 기반 GI 적용 | 동적 환경에 적합
1. 저해상도 Distance Field 사용으로 빠르고 비교적 가벼운 GI 표현
2. 고해상도 Distance Field 사용으로 상세한 GI 표현 | 높은 GPU 부담 | |
Lumen
(Hardware Ray Tracing) | GPU의 RTX 기능을 활용하여 실시간 GI 적용 | 최고의 퀄리티 | 매우 높은 성능 요구 |
항목 | 품질 | 라이팅 샘플 방식 | 메모리 사용량 | 샘플 밀도 조정 | 볼륨 포그 |
볼륨메트릭 라이트맵
| 높음
(대부분 고밀도 샘플) | 3D 그리드 모양으로 샘플 배치
(오브젝트 근처 많이, 그 외 적게) | 높음 | 가능 | 가능 |
간접광 캐시
| 낮음
(저밀도 샘플 누수 발생) | 위쪽을 향하는 표면에 샘플 배치
(오브젝트 위쪽 표면에 좁게, 그 외 넓게) | 낮음 | 불가능 | 불가능 |
추천 조합
1.
Static Lightmap + VLM + SSGI (선택)
2.
Lumen (SRT GDF or MDF 선택)
3.
Lumen (HRT)
Ambient Occlusion (AO)
•
차폐 영역, 빛이 직접 닿지 않는 영역에서 발생하는 미세한 그림자 효과를 의미합니다.
방식 | 설명 | 장점 | 단점 | 비고 |
Lightmass AO | AO 데이터를 미리 계산하여 라이트맵에 저장 | 성능 부담 없음 | 동적 오브젝트 적용 불가능 | |
Distance Field AO
(DFAO) | Mesh Distance Field를 활용한 실시간 AO 계산 | 동적 오브젝트 적용 가능 | Distance Field 생성 비용 부담 | Movable
Sky Light에서
가능 |
Screen Space AO
(SSAO) | 화면 기준으로 실시간 AO 계산 | 실시간 적용 가능 | 화면 밖 정보 반영 불가
노이즈 발생 가능 | 다른 AO와 혼용 가능 |
추천 조합
1.
Lightmass AO + DFAO + SSAO (선택)
2.
Lumen + SSAO (선택)
참고사항
•
DFAO는 SkyLight에서 가능한 옵션이며 모빌리티가 Movable일 때 가능합니다.
또한 Mesh Distance Field 옵션이 활성화 되어 있어야 가능합니다.
Shadow
•
그림자, 빛이 직접 닿지 않는 영역에서 발생하는 어두운 부분을 의미합니다.
방식 | 설명 | 장점 | 단점 | 비고 |
Shadow Map | 미리 계산된 그림자를 라이트맵에 저장 | 성능 부담 없음 | 동적 오브젝트 적용 불가능 | |
Cascade Shadow
(CSM) | 여러 해상도의 그림자를 거리에 따라 적용 | 대규모 맵에 효과적 | 거리에 따라 성능 부담 가능 | |
Distance Field Shadow
(DFS) | Mesh Distance Field를 활용한 실시간 그림자 | 비용 대비 퀄리티 우수 | Distance Field 생성 비용 부담 | Stationary 또는
Movable에서
가능 |
Virtual Shadow Map
(VSM) | 가상화된 초고해상도 그림자를 실시간 적용 | 고해상도 그림자 지원 | GPU 메모리 부담 | |
Contact Shadow
(Screen Space) | 화면 기준으로 접촉 그림자 생성
(라이트별 에디티브 기능) | 디테일한 접촉 그림자 표현 | 화면 밖 정보 반영 불가 | 다른 그림자와 혼용 가능 |
Capsule Shadow
(Skeletal) | 캐릭터의 피직스 에셋을 활용한 부드러운 그림자
1. Direct Shadow
2. Indirect Shadow | 비용 대비 퀄리티 우수 | 정밀도가 낮음 | Direct Shadow는 CSM을 대체하지만 VSM은 대체 불가능
Indirect Shadow는 다른 그림자와 혼용 가능 |
추천 조합
1.
Shadow Map (원거리) + CSM (근거리) + DFS (중거리) + Contact Shadow + Capsule Shadow
2.
VSM + Contact Shadow + Capsule Shadow (Indirect)
참고사항
•
Stationary Light의 Shadow 그리는 순서는 아래와 같습니다. (카메라와 가까운 순)
◦
CSM → DFS → Shadow Map
▪
옵션
•
CSM : Dynamic Shadow Distance StationaryLight
•
DFS : DistanceField Shadow Distance
Reflection
•
반사, 빛이 특정 표면에 닿아 반사되는 빛을 표현하는 기술을 의미합니다.
방식 | 설명 | 장점 | 단점 | 비고 |
Reflection Capture | 미리 계산된 반사 정보 활용 | 성능 부담 없음 | 동적 반사 표현 불가능 | |
Screen Space Capture
(SSR) | 화면 공간에서 실시간 반사 계산 | 화면 공간 안의 물체 실시간 반사 가능 | 화면 공간 밖의 물체 반사 불가능 | 다른 Reflection과 혼용 가능 |
Lumen Reflection | 실시간 레이트레이싱 반사 | 실시간 반사 표현 | 높은 GPU 부담 |
추천 조합
1.
Reflection Capture + SSR (선택)
2.
Lumen Reflection
Tip
•
GI / AO / Shadow / Reflection 4가지 기술의 조합은 다양하게 적용 가능합니다.
•
게임 개발과 같은 인터렉티브 콘텐츠는 타겟 플랫폼에 따른 선택이 필요하며 최적화가 중요합니다.
시네마틱과 같은 리니어 콘텐츠는 제약이 적은 편이며 퀄리티가 중요합니다.
•
Screen Space 기반 일부 기술들은 다른 기술과 혼용이 가능합니다.
•
Lumen은 SSGI와 DFAO를 대체합니다. SSAO는 혼용 가능합니다.
r.Lumen.DiffuseIndirect.SSAO 1
r.Lumen.ScreenProbeGather.ShortRangeAO 0
C++
복사
•
Lumen과 Lightmap GI는 혼합 사용이 불가능합니다. (UE5.5 공식 문서 기준)
참고
이미지
사이트
