Search
💡

Light Baking (with UE5)

태그
Lighting
Optimization
1 more property

제작 의도

언리얼 엔진 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 + 나나이트)
 루멘 + 라이트 베이킹 (+ 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 에셋으로 테스트한 이미지입니다.
테스트 환경을 정리한 표입니다.
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

참고

사이트
영상