언리얼 엔진 5의 루멘(Lumen) 기능 이해하기
이번 글에서는 언리얼 엔진 5에 새로 추가된 루멘(Lumen) 기능에 대해 알아보겠습니다. 루멘은 언리얼 엔진 4에는 없었던 기능으로, 이 기능이 무엇인지, 어떻게 작동하는지, 그리고 프로젝트에서 어떻게 활성화하고 제어하는지 배우게 될 것입니다.

루멘을 시작하기 전에 **나나이트(Nanite)**에 대해 잠시 언급하겠습니다. 나나이트를 사용하면 씬에 무제한의 오브젝트를 추가할 수 있습니다. 오브젝트를 우클릭하고 'Browse to Asset'을 선택한 다음 나나이트를 활성화하기만 하면 됩니다. 이렇게 하면 씬에서 많은 공간을 차지하지 않으면서 무수히 많은 오브젝트를 배치할 수 있습니다.
이제 루멘으로 돌아와서, 언리얼 엔진 4에는 루멘이 없었습니다. 당시 우리는 실시간 조명(real-time lighting) 시스템을 사용했고, 조명 정보를 씬에 **베이킹(baking)**했습니다. 즉, 조명이나 다른 오브젝트의 위치가 변경될 때마다 조명을 다시 빌드해야 했습니다.
예를 들어, 지금 이 오브젝트(울타리)를 씬의 중앙으로 옮기면 그림자가 바뀌고 조명의 강도와 모든 정보가 변하기 때문에 조명을 다시 빌드해야 합니다. 조명을 빌드하는 방식은 **라이트맵(lightmaps)**이라는 것을 사용해 각 오브젝트의 조명 정보를 기록하는 것입니다. 조명이 변경될 때마다 이 정보가 바뀌므로, 우리는 라이트맵을 사용해 모든 것을 다시 계산해야 했습니다.
언리얼 엔진 5부터는 루멘을 통해 이 모든 것을 훨씬 쉽게 처리할 수 있게 되었습니다. 루멘은 조명뿐만 아니라 **반사(reflections)**와 **굴절(refractions)**도 처리합니다. 개인적으로 루멘의 반사 기능에는 약간의 단점이 있다고 생각하지만, 언리얼 엔진 개발팀이 계속해서 버그를 수정하고 있어 점점 나아지고 있습니다.

루멘을 설정하려면 **'Edit' > 'Project Settings'**로 이동하여 'Lumen'을 검색하면 됩니다. 동적 글로벌 일루미네이션(Dynamic Global Illumination) 항목에서 루멘을 선택할 수 있습니다. 반사(Reflections)도 마찬가지입니다. 두 항목 모두 루멘으로 설정하면 실시간으로 모든 것이 처리됩니다.

하지만 주의할 점이 있습니다. 포스트 프로세스(Post Process) 설정에서 루멘이 활성화되어 있을 수 있습니다. 포스트 프로세스를 씬에 추가하고 세부 정보 패널에서 루멘을 검색하면 동일한 설정을 찾을 수 있습니다.

여기서 루멘을 활성화하면 해당 박스 내에서만 루멘이 작동하지만, 'Infinite' 옵션을 활성화하면 씬 전체에 적용됩니다.
이제 루멘을 비활성화하면 조명이 좋지 않게 보입니다. 조명 정보를 베이킹하지 않았기 때문이죠. 하지만 다시 프로젝트 설정으로 돌아가 루멘을 활성화하면 모든 것이 실시간으로 처리됩니다.
루멘의 내부 작동 방식에 대한 자세한 계산은 다루지 않겠습니다. 대신 중요한 것을 보여드리겠습니다.

명령어 창에 **r.Lumen.Visual.CardPlacement 1**을 입력하면 오브젝트 주변에 생성되는 '카드(cards)' 또는 **'박스(boxes)'**를 볼 수 있습니다. 루멘은 이 카드들을 사용해 조명을 최적의 상태로 계산합니다. 구나 다른 오브젝트를 추가해도 마찬가지입니다. 루멘은 이 카드들을 생성하여 조명 계산을 수행합니다.

일반적으로 오브젝트들이 서로 분리되어 있을수록 루멘이 조명을 계산하기가 더 쉽습니다. 제가 직접 만든 오브젝트를 통해 이를 증명해 보겠습니다. 두 개의 벽 모델을 만들었는데, 하나는 하나의 메쉬로 이루어져 있고 다른 하나는 여러 조각으로 나뉘어 있습니다. 여러 조각으로 된 모델은 각 라인을 **디태치(detach)**하여 분리한 것입니다.

두 모델을 언리얼 엔진으로 가져와 비교해 보겠습니다. 왼쪽의 한 덩어리 모델은 카드의 수가 적습니다. 반면에 오른쪽의 조각난 모델은 훨씬 더 많은 카드를 가지고 있습니다.

이제 뷰 모드를 **'Lumen Surface Cache'**로 변경해 보면, 왼쪽 모델의 표면에 **분홍색 패치(pink patches)**가 나타납니다. 이 분홍색 패치는 루멘이 해당 부분의 조명 정보를 충분히 추출하지 못했음을 의미하며, 이는 결국 어두운 반점이나 그림자 오류를 유발할 수 있습니다. 반면, 오른쪽의 모델에는 분홍색 패치가 없어 루멘이 더 나은 정보를 가지고 조명 작업을 할 수 있다는 것을 보여줍니다.

이것이 루멘이 작동하는 기본적인 방식입니다. 프로젝트에서 이 명령어를 사용해 오브젝트의 정보를 확인해 보세요. 분홍색 패치가 보인다면 3ds Max와 같은 3D 모델링 프로그램으로 돌아가 모델을 수정하고, 한 덩어리로 가져오는 대신 분리된 부분으로 가져와야 합니다.
참고로 이 프로젝트는 언리얼 엔진 4의 자체 프로젝트입니다. 루멘이 어떻게 작동하는지 이해하셨기를 바랍니다. 루멘 설정은 프로젝트 설정(Project Settings)에서 찾을 수 있습니다. 또한 포스트 프로세스 볼륨을 통해서도 루멘을 제어할 수 있습니다.
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 조명(Light) 다루기 (0) | 2025.09.10 |
---|---|
Uneal Engine Post Process Volume 사용하기 (0) | 2025.09.10 |
Unreal Engine 3D 모델 가져오기 (0) | 2025.09.09 |
Unreal Engine 레벨(Levels) 다루기 (0) | 2025.09.09 |
Unreal Engine 오브젝트를 관리하고 움직이는 법 (0) | 2025.09.06 |