제작 의도
언리얼 엔진 5 환경에서 GI Method로 Lumen을 사용하지 않는 경우를 대비하여, 최상의 퀄리티를 구현하기 위해 필요한 내용들을 알아보기 쉽도록 정리했습니다.
구성 / 설명
Light Baking
•
Light Baking에 관한 모든 설명을 담고 있지는 않으며 일부 생략된 내용이 있을 수 있습니다.
•
Light Baking이란 라이팅 데이터를 텍스쳐 정보에 저장하여 오브젝트에 적용하는 방식입니다.
•
실시간 데이터가 아니므로 실행 중에 라이팅을 변경할 수 없습니다.
•
라이트를 굽는 솔루션으로는 CPU와 GPU 두 가지 방식이 있습니다.
•
텍스쳐 UV와 별도로 라이트맵을 UV가 필요합니다.
UE5 에서 Light Baking을 사용하기 위한 사전 지식
•
Lumen
◦
언리얼 엔진 5의 기본 GI Method는 Lumen으로 프로젝트 설정 또는 포스트 프로세스로 변경이 필요합니다. Lumen으로 되어 있는 경우 Light Baking이 되지 않습니다.
•
Nanite
◦
언리얼 엔진에서 제공하는 나나이트의 경우에 기본적으로 라이트맵을 사용하지 않기 때문에 라이트맵 UV가 생성되어 있지 않습니다.
◦
나나이트는 직접적으로 라이트맵을 지원하지 않지만, Fallback Mesh를 활용하여 Light Baking이 가능합니다.
◦
나나이트의 라이트맵 UV는 Fallback Mesh를 사용합니다.
◦
나나이트 라이트맵의 밀도는 스태틱 메쉬 라이트맵 밀도 뷰로는 확인이 불가능합니다.
•
VSM (Virtual Shadow Maps)
◦
Static 라이트의 구워진 섀도는 이전과 같이 작동합니다.
◦
Stationary 라이트의 사전 연산된 섀도를 대체합니다. (=Static 오브젝트의 그림자가 실시간으로 그려짐)
▪
직접광과 섀도는 동적으로 평가
▪
GI는 구워진 라이트맵을 사용
준비사항
Project Setting
•
각 옵션은 테스트 환경에 맞게 사용한 것이므로 변경 가능합니다.
•
Rendering 카테고리
◦
Dynamic Global Illumination Method : Lumen 또는 None
▪
PPV로 변경 가능
◦
Reflection Mehod : Lumen
▪
UE 5.3 버전부터 Static Lighting과 Lumen Reflection 사용 가능
◦
Shadow Map Method : Virtual Shadow Maps
◦
Support Hardware Ray Tracing 활성화
▪
GPU Lightmass 사용 시에 필요
◦
Allow Static Lighting 활성화
▪
Lumen 사용 시에 GBuffer 최적화와 머티리얼 AO를 사용하기 위한 옵션
◦
Enable virtual texture support / Enable virtual texture lightmaps 활성화
▪
GPU Lightmass 사용 시에 필요
Plugin
•
GPU Lightmass
비교
항목 | 라이트 베이킹
(+ VSM + 나나이트) | 루멘
(+ VSM + 나나이트) | |
품질 | 베이킹 된 높은 퀄리티 | 전체적 일관된 퀄리티 | 정적 영역 고품질 베이킹
동적 영역 고품질 루멘 |
GI | 1. 베이킹 된 라이트맵으로 작동 (정적)
2. SSGI (동적) | 실시간 작동 | 설정 영역에 따라 작동 |
그림자 | Stationary 라이트는 실시간 그림자 (VSM 지원)
→ 정적 오브젝트는 베이킹
→ 동적 오브젝트는 VSM
(Static 라이트 VSM 미지원) | 실시간 그림자 | Static 라이트는 베이킹 된 그림자
Stationary, Movable 라이트는 실시간 그림자 |
GPU 비용 | 낮음 | 높음 | 정적 영역 비용 낮음
동적 영역 비용 높음 |
메모리 사용량 | 높음 | 낮음 | 높음 |
효율성 | 베이킹 작업으로 시간 소모 | 동적 요소가 많을수록 효율적 | 정적 요소가 많고 동적 요소가 적은 경우 효율적 |
최적화 | 라이트맵 품질에 따른 최적화 | 하드웨어 의존적
PPV 옵션 최적화 | 구역 별 세분화 작업으로 최적화 |
특이사항 | 간접광 캐시 또는 Volumetric Lightmap을 통한 동적 오브젝트 GI 솔루션 | 루멘과 라이트 베이킹은 함께 사용할 수 없습니다.
(UE5.5 공식 문서 참조) |
최종 의견
•
언리얼 엔진 5에서 Nanite와 VSM을 사용하면서 Lumen을 사용하는 것이 가장 효율적이다.
하지만 Light Baking이 필요한 상황이라면 주광은 Stationary를 사용하는 것이 퀄리티 측면에서 가장 좋다고 생각합니다. 섀도는 VSM으로 생성하면서 GI는 라이트맵을 이용하기 때문입니다.
전부 다 Static으로 사용해야 한다면 Nanite와 VSM을 사용하지 않고 Static Mesh와 일반 Shadow Map을 활용하는 것이 좋습니다. (SSGI 기능은 향후 릴리즈에서 지원 중단될 예정입니다.)
테스트 이미지
•
Fab에서 제공되는 Quixel 에셋으로 테스트한 이미지입니다.
•
광원으로는 디렉셔널 라이트와 스카이 라이트 (HDRI 스카이박스) 2가지만 사용하였으며, 실제 노출과 같은 환경입니다.
◦
•
테스트 환경을 정리한 표입니다.
Mobility | Static | Stationary | Movable |
GI Method | Light Baking | Light Baking | Lumen |
Reflection Method | Lumen | Lumen | Lumen |
Mesh | Nanite | Nanite | Nanite |
Shadow Method | Shadow Map (VSM) | VSM | VSM |
•
Static Light
•
Stationary Light
•
Movable Light
참고
사이트
영상






