루멘은 1080p의 8ms 및 4ms 프레임 예산으로 콘솔에서 30 및 60fps(초당 프레임 수)를 타기팅하여 불투명/반투명 머티리얼 및 볼류메트릭 포그에 글로벌 일루미네이션과 리플렉션을 구현합니다. 언리얼 엔진에서는 미리 구성된 엔진 퀄리티 세팅을 사용하여 루멘의 타깃 FPS를 제어합니다. 에픽(Epic) 엔진 퀄리티 레벨은 30fps를 타기팅합니다. 높음(High) 엔진 퀄리티 레벨은 60fps를 타기팅합니다.
루멘은 4K 출력을 위해 언리얼 엔진 5의 템포럴 슈퍼 해상도(Temporal Super Resolution, TSR)와 함께 템포럴 업샘플링(Temporal Upsampling)에 의존합니다. 루멘과 기타 기능에서는 TSR에 최고의 최종 이미지 퀄리티를 제공하기 위해 더 낮은 내부 해상도(1080p)를 사용합니다. 그러지 않고 네이티브로 이러한 기능을 4K 렌더링하려면 30 또는 60fps를 달성할 수 있도록 더 낮은 퀄리티 세팅을 사용해야 합니다.
엔진 퀄리티 세팅
레벨 에디터의 뷰포트 세팅(Settings) > 엔진 퀄리티 세팅(Engine Scalability Settings) 에 엔진 퀄리티 세팅이 있습니다. 게임 내에서는 GameUserSettings 및 그래픽 세팅 메뉴로 엔진 퀄리티 세팅을 제어합니다(예시는 라이라 프로젝트 참조). 루멘 퀄리티는 글로벌 일루미네이션 및 리플렉션 퀄리티 그룹에 의해 설정됩니다.
-
시네마틱(Cinematic) 엔진 퀄리티 레벨은 무비 렌더 큐를 타기팅합니다.
-
에픽 엔진 퀄리티 레벨은 30fps 콘솔 예산을 타기팅합니다.
-
높음 엔진 퀄리티 레벨은 60fps 콘솔 예산을 타기팅합니다.
-
낮음(Low) 및 중간(Medium) 엔진 퀄리티 레벨에서는 루멘 기능이 비활성화됩니다.

기본적으로 언리얼 엔진에서는 콘솔에서 30fps를 타기팅합니다. 60fps를 타기팅하려면 콘솔 디바이스 프로파일에서 글로벌 일루미네이션(Global Illumination) 및 리플렉션(Reflections) 퀄리티 그룹을 높음 으로 설정합니다. 이러한 프로파일은 [프로젝트 이름]\Platforms[콘솔]\Config\
폴더에서 찾을 수 있습니다. 예: [프로젝트 이름]\Platforms\PS5\Config\PS5DeviceProfiles.ini
.
60fps를 타기팅하는 PlayStation 5 디바이스 프로파일은 다음과 같습니다.
[PS5 DeviceProfile]
; 60fps를 타기팅하여 루멘 GI 및 리플렉션 퀄리티를 높음으로 설정
+CVars=sg.GlobalIlluminationQuality=2
+CVars=sg.ReflectionQuality=2
루멘 기능을 비활성화하는 스케일 다운
기본 글로벌 일루미네이션 및 리플렉션 퀄리티 그룹은 \Engine\Config\BaseScalability.ini
에 있습니다. 이러한 세팅은 퀄리티 레벨 간에 간접광이 비슷하게 보이도록 시도합니다. 이렇게 하면 루멘의 비용을 줄이면서도 플랫폼별로 라이팅을 다시 실행할 필요가 없다는 추가적인 이점이 있습니다.
중간 퀄리티 레벨
- 대규모 앰비언트 오클루전의 경우, 디스턴스 필드 앰비언트 오클루전(Distance Field Ambient Occlusion) 이 루멘 글로벌 일루미네이션 을 대체합니다.
- 소규모 앰비언트 오클루전의 경우, 스크린 스페이스 앰비언트 오클루전(Screen Space Ambient Occlusion) 이 활성화됩니다.
낮음 퀄리티 레벨
- 섀도 없는 스카이 라이트만 사용합니다.
- 스카이 라이트 섀도잉의 형태가 없으므로 중간 퀄리티 레벨에 더 비슷하도록 스카이 라이트 강도를 줄입니다(
r.SkylightIntensityMultiplier=0.7
).
소프트웨어 레이 트레이싱
소프트웨어 레이 트레이싱은 루멘에서 가장 빠른 트레이싱 방식으로, 하드웨어 레이 트레이싱을 지원하지 않는 게임에 사용하거나 하드웨어 레이 트레이싱을 지원하지 않는 GPU에 대한 예비용으로 사용하는 것이 좋습니다.
에픽 엔진 퀄리티 레벨에서는 디테일 트레이스(Detail Traces) 를 활성화됩니다. 이러한 트레이스는 더 높은 퀄리티를 제공하지만, 큰 퍼포먼스 오버헤드가 발생합니다. 트레이스는 개별 메시 디스턴스 필드에 대해 발생합니다. 이로 인해 인스턴스 수 및 겹치는 인스턴스 수에 따라 퍼포먼스가 영향을 받게 됩니다. 디테일 트레이스는 교차 메시 레이어가 많은 키트배싱을 과도하게 사용할 때 비용이 커집니다. 디스턴스 필드 라이팅 영향(Affect Distance Field Lighting) 을 비활성화하여 디스턴스 필드 씬의 렌더링에서 개별 디스턴스 필드 인스턴스를 제거합니다. 글로벌 일루미네이션이나 리플렉션에 큰 영향이 없는 중요성이 떨어지는 인스턴스를 제거하면 디테일 트레이스 퍼포먼스를 유지할 수 있습니다.
디테일 트레이스의 경우, 하드웨어 레이 트레이싱이 소프트웨어 레이 트레이싱과 비교하여 비슷한 퍼포먼스 비용으로 향상된 퀄리티를 제공합니다.
높음 엔진 퀄리티 레벨에서는 디테일 트레이스가 비활성화되며, 루멘은 개별 메시 디스턴스 필드 대신 하나의 병합된 글로벌 디스턴스 필드를 트레이싱합니다. 글로벌 디스턴스 필드를 트레이싱하면 인스턴스 수 및 다른 인스턴스와의 오버랩에 영향을 받지 않고 트레이싱할 수 있습니다. 이는 대량의 겹치는 인스턴스가 있는 콘텐츠에도 매우 적합합니다.
하드웨어 레이 트레이싱
하드웨어 레이 트레이싱은 루멘에 향상된 퀄리티를 제공하며, 30 및 60fps 콘솔에서 기본 옵션으로 사용하는 것이 좋습니다. 이 방식은 소프트웨어 레이 트레이싱보다 비용이 많이 들며, 인스턴스 오버랩이 많아지면 영향을 크게 받으므로 신중히 씬 최적화를 진행해야 합니다.
하드웨어 레이 트레이싱은 프레임마다 최상위 가속 구조체(Top Level Acceleration Structure, TLAS) 를 리빌드해야 합니다. 리빌드 비용은 이 가속 구조체에 포함해야 하는 인스턴스의 수에 비례합니다. 일반적으로 차세대 콘솔에서 좋은 퍼포먼스를 달성하기 위해서는 컬링 후 레이 트레이싱 씬 에서 인스턴스가 10만 개 미만이어야 합니다. Microsoft Windows에서는 인스턴스 수가 다를 수 있습니다.
Stat SceneRendering
을 사용하여 레이 트레이싱 씬에 표시되는 인스턴스 수를 확인할 수 있습니다. 레이 트레이싱 활성 인스턴스(Ray tracing active instances) 통계를 확인하세요.

레이 트레이싱 씬 컬링 세팅은 씬의 레이 트레이싱 인스턴스 수를 제어하는 가장 강력한 툴입니다. 레이 트레이싱 컬링은 구성을 단순화하기 위해 기본적으로 활성화되어 있지만, [프로젝트 이름]\Config\ 폴더의 DefaultEngine.ini 환경설정 파일에서 추가로 변경할 수 있습니다.
[SystemSettings]
r.RayTracing.Culling=3
r.RayTracing.Culling.Radius=15000
r.RayTracing.Culling.Angle=0.5
레벨의 액터에서 레이 트레이싱에서 표시(Visible In Ray Tracing) 를 비활성화하여 레이 트레이싱 씬에서 개별 인스턴스를 제거할 수 있습니다.
퍼포먼스 카운터 및 디버그 뷰를 포함하여 하드웨어 레이 트레이싱 퍼포먼스에 대한 자세한 내용은 레이 트레이싱 퍼포먼스 가이드를 참조하세요.
파 필드(Far Field) 를 통해 글로벌 일루미네이션 및 리플렉션 디스턴스를 희생하지 않고도 적극적으로 컬링을 적용할 수 있습니다. 레이 트레이싱 씬 반경 이후 모든 레이는 파 필드 트레이스를 사용하여 더 저렴한 비용으로 글로벌 일루미네이션 및 리플렉션을 확장합니다. 루멘 기술 세부사항에서 파 필드 구성 방법에 대한 정보를 확인할 수 있습니다.
파 필드와 결합된 레이 트레이싱 씬 컬링을 늘리면 루멘 하드웨어 레이 트레이싱 퍼포먼스 규모를 줄이고 최적화하는 데 도움이 됩니다.
하드웨어 레이 트레이싱 퍼포먼스는 씬에서 메시가 겹치는 정도에 따라 달라집니다. 스카이박스처럼 전체 씬에 겹치는 큰 메시는 퍼포먼스에 문제가 됩니다. 이러한 메시는 레이 트레이싱에서 표시 를 비활성화해야 합니다. 그래스 메시와, 교차 결합된 메시의 레이어가 여러 개 있는 키트배싱된 메시에서도 트레이싱 비용을 절감할 수 있습니다.
하드웨어 레이 트레이싱 퍼포먼스 기준에 맞게 씬을 유지하려면 겹치는 메시를 합리적인 수준으로 유지해야 합니다.
리플렉션에서 히트 라이팅(Hit Lighting for Reflections) 는 향상된 리플렉션 퀄리티를 제공합니다. 이는 히트 포인트마다 머티리얼과 라이팅을 평가하지만, 게임용으로는 비용이 많이 듭니다. 머티리얼이 사소하지 않고 Ray Tracing Quality Switch 노드로 머티리얼이 최적화되지 않는다면, 게임에는 사용하지 않는 것이 좋습니다. 콘솔에서는 r.Lumen.HardwareRayTracing.MaxIterations
를 사용하여 BVH 탐색 반복작업 횟수를 제한하고 길고 비용이 많이 드는 레이를 이르게 중단할 수 있습니다. 종단한 레이는 래디언스가 0으로 완전히 가려진 것으로 처리되어 초과 오클루전을 발생시킵니다. 이러한 세팅을 통해 퍼포먼스 미세 조정과 겹치는 지오메트리가 많은 씬의 부분으로 인한 퍼포먼스 문제를 방지할 수 있습니다.
팁
루멘 리플렉션 비용은 스크린에 스무드 머티리얼 또는 낮은 러프니스 머티리얼이 얼마나 있느냐에 따라 달라질 수 있습니다. 이러한 머티리얼에는 전용 리플렉션 레이가 필요합니다. 기본적으로, 0.4 러프니스 미만의 모든 픽셀은 리플렉션 레이를 트레이싱합니다. 러프니스가 그 이상인 픽셀은 루멘 글로벌 일루미네이션을 기반으로 무료 리플렉션 근사치를 얻습니다.
루멘 리플렉션 러프니스 한계치
포스트 프로세스 볼륨(Post Process Volume) 의 트레이스할 최대 러프니스(Max Roughness To Trace) 세팅을 사용하여 러프니스 한계치를 제어할 수 있습니다. 이는 r.Lumen.Reflections.MaxRoughnessToTraceClamp
를 사용한 엔진 퀄리티 세팅에서 추가적으로 범위제한될 수 있습니다. 설정된 러프니스 한계치 미만의 모든 픽셀은 전용 루멘 리플렉션 레이를 트레이싱하며, 러프니스가 한계치 이상인 픽셀은 무료인 거친 스페큘러 근사치가 됩니다.
폴리지에는 독립적인 러프니스 한계치가 있습니다. 양면 폴리지 및 서브서피스 셰이딩 모델을 사용하는 머티리얼이 있는 모든 픽셀은 폴리지로 취급됩니다. r.Lumen.Reflections.MaxRoughnessToTraceForFoliage
를 사용하여 폴리지 러프니스를 제어할 수 있습니다. 전용 리플렉션 레이를 필요로 하는 픽셀은 레벨 뷰포트의 뷰 모드 메뉴에 있는 퍼포먼스 개요(Performance Overview) 뷰 모드를 사용하여 시각화할 수 있습니다.

폴리지의 리플렉션은 보통 잘 보이지 않습니다. 최대 폴리지 러프니스 한계치를 0으로 설정하면 퀄리티 희생 없이 상당한 퍼포먼스 향상을 이룰 수 있습니다.
스크린 스페이스 리플렉션으로 루멘 리플렉션 대체하기
스크린 스페이스 리플렉션(Screen Space Reflections, SSR) 으로 루멘 리플렉션을 대체하여 리플렉션 비용을 더 적극적으로 줄일 수 있습니다. r.Lumen.Reflections.Allow=0
세팅을 사용하면 됩니다. 예를 들어, XSXDeviceProfiles.ini
파일에 다음 내용을 추가하면 Xbox Series S에서 1ms를 절감할 수 있습니다.
[XSX_Lockhart DeviceProfile]
; 퍼포먼스를 위해 루멘 리플렉션 대신 SSR 사용
+CVars=r.Lumen.Reflections.Allow=0
아래 예시는 루멘 리플렉션이 비활성화되었을 때도 루멘 글로벌 일루미네이션이 어떻게 거친 스페큘러를 제공하는지 보여줍니다.

디퓨즈 글로벌 일루미네이션을 위해 트레이싱된 레이를 재사용함으로써 루멘 리플렉션에서 일부 퍼포먼스 향상을 얻을 수 있습니다. 이 경우, 러프니스가 0.2~0.4 범위에 있는 픽셀이 많은 씬만 속도가 증가합니다. r.Lumen.Reflections.RadianceCache=1
을 사용하여 이를 활성화할 수 있습니다.
표면 캐시 타일 업데이트
루멘 씬 라이팅(Lumen Scene Lighting) 은 표면 캐시의 직접 및 간접광을 업데이트합니다. 퍼포먼스는 프레임마다 업데이트되는 표면 캐시의 비율에 따라 달라집니다. r.LumenScene.DirectLighting.MaxLightsPerTile
및 r.LumenScene.Radiosity.UpdateFactor
를 사용하여 직접 및 간접광에 대한 프레임당 업데이트 속도를 개별적으로 미세 조정할 수 있습니다.
루멘 씬 라이팅은 표면 캐시 타일당 가장 중요한 라이트의 작은 서브셋을 선택하므로, 퍼포먼스가 씬의 라이트 총 수에 영향을 덜 받습니다. r.LumenScene.DirectLighting.MaxLightsPerTile
을 사용하여 타일당 라이트 수를 제어할 수 있습니다.
루멘 프로파일링
루멘은 다음 세 개의 패스로 나누어집니다.
- 표면 캐시 라이팅을 평가하기 위한 루멘 씬 라이팅
- 디퓨즈 글로벌 일루미네이션과 거친 표면 리플렉션 및 반투명 글로벌 일루미네이션을 평가하기 위한 루멘 스크린 프로브 개더
- 부드러운 표면의 전용 리플렉션을 평가하기 위한 루멘 리플렉션
Stat GPU
는 개별 루멘 패스를 포함한 GPU 패스 타이밍을 표시합니다.

퍼포먼스 분석을 더 자세하게 살펴보려면 ProfileGPU
명령을 사용합니다. RenderDoc 같은 타사 프로파일링 툴을 사용할 수도 있습니다.
루멘은 콘솔에서 비동기 연산을 사용합니다. 이러한 타이밍은 콘솔 명령 r.Lumen.AsyncCompute 0
으로 비활성화할 때까지 0입니다. 비동기 연산에 대한 자세한 내용은 다음 섹션을 참조하세요.
비동기 연산
루멘은 콘솔에서 비동기 연산 을 사용합니다. 이를 통해 GPU는 루멘 작업을 나나이트 외 지오메트리 패스 및 직접광 패스와 겹치게 할 수 있습니다. 또한, 루멘은 루멘 스크린 프로브 개더 및 루멘 리플렉션 패스와 겹칠 수도 있습니다.

비동기 연산은 일반 워크로드에 맞춰 미리 구성되어 있지만, 경우에 따라 기본값이 아닌 세팅이 더 빠를 수 있습니다. 더 빠른 경우 중 하나는 그래픽 큐에 대량의 직접광이나 섀도 맵 작업이 있어, 루멘 스크린 프로브 개더 패스가 루멘 리플렉션 패스와 겹칠 수 없는 경우입니다. 이 경우, 루멘을 완전히 비동기 연산 패스로 실행하는 것이 더 빠를 수 있습니다. 다음 세팅을 사용하면 됩니다.
r.LumenScene.Lighting.AsyncCompute=1
r.Lumen.DiffuseIndirect.AsyncCompute=1
r.Lumen.Reflections.AsyncCompute=1
비동기 연산은 루멘이 다른 렌더링 패스와 겹치게 합니다. 그러면 Stat GPU
또는 ProfileGPU
로 타이밍을 제대로 추적할 수 없어 프로파일링이 더 힘들어집니다. 전체 렌더 프레임 시간을 프로파일링하고 비교하거나 외부 GPU 프로파일링 툴을 사용할 때는 비동기 연산을 비활성화하세요.
엔진 퀄리티 레퍼런스
기본 엔진 퀄리티 및 플랫폼별 디바이스 프로파일에는 개별 루멘 세팅이 포함되어 있습니다. 이러한 세팅은 중요한 최신 렌더러 퍼포먼스 엔진 퀄리티 세팅의 레퍼런스로 유용합니다. 또한, 커스텀 엔진 퀄리티 세팅의 좋은 시작점이기도 합니다. 기본 엔진 퀄리티 레벨을 사용하여 30fps 또는 60fps를 달성하고 레벨 간에 일관된 모습도 유지하는 것이 좋습니다. 다음 파일 중 하나에서 이러한 엔진 퀄리티 세팅을 살펴볼 수 있습니다.
[엔진 루트]\Engine\Config\BaseScalability.ini
[엔진 루트]\Platforms[콘솔 이름]\Base[콘솔 이름]DeviceProfile.ini
아래의 레퍼런스 테이블에는 엔진 퀄리티 레벨에서 사용하는 개별 세팅 및 해당 설정 상태에 대한 설명이 포함되어 있습니다.
일반
세팅 이름 | 높음 | 에픽 | 시네마틱 | 설명 |
---|---|---|---|---|
r.Lumen.TraceMeshSDFs.Allow |
0 | 1 | 1 | 소프트웨어 레이 트레이싱 용 디테일 트레이스 를 활성화합니다. 디테일 트레이스를 사용하면 개별 메시 디스턴스 필드를 트레이싱함으로써 퍼포먼스가 크게 저하되지만, 퀄리티, 특히 표면 캐시 직접광 퀄리티가 향상됩니다. |
루멘 씬 라이팅
루멘 씬 라이팅 퍼포먼스는 프레임마다 업데이트되는 표면 캐시의 비율에 따라 달라집니다. 또한 반투명 글로벌 일루미네이션 볼륨의 해상도에 따라서도 달라집니다.
세팅 이름 | 높음 | 에픽 | 시네마틱 | 설명 |
---|---|---|---|---|
r.LumenScene.DirectLighting.UpdateFactor |
32 | 32 | 32 | 프레임마다 직접광을 업데이트해야 하는 표면 캐시 영역의 비율입니다. 값이 클수록 퍼포먼스가 향상되지만, 라이팅 변화의 반응이 느려집니다. |
r.LumenScene.Radiosity.UpdateFactor |
64 | 64 | 64 | 프레임마다 간접 라이팅을 업데이트해야 하는 표면 캐시 영역의 비율입니다. 값이 클수록 퍼포먼스가 향상되지만, 라이팅 변화의 반응이 느려집니다. |
r.LumenScene.Radiosity.ProbeSpacing |
8 | 4 | 4 | 표면 캐시 간접광 프로브 사이의 공간입니다. 값이 작을수록 표면 캐시에서 간접광의 공간 해상도가 향상되지만, 퍼포먼스는 저하됩니다. |
r.LumenScene.Radiosity.HemisphereProbeResolution |
3 | 4 | 4 | 표면 캐시 간접광 프로브의 해상도입니다. |
r.Lumen.TranslucencyVolume.GridPixelSize |
64 | 32 | 32 | 반투명 글로벌 일루미네이션 볼륨의 해상도를 제어합니다. |
스크린 프로브 개더
글로벌 일루미네이션 퍼포먼스는 내부 렌더 해상도와 스크린 프로브 트레이스 해상도에 따라 달라집니다.
세팅 이름 | 높음 | 에픽 | 시네마틱 | 설명 |
---|---|---|---|---|
r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution |
16 | 32 | 32 | 래디언스 캐시 프로브당 트레이스 수를 제어합니다. 값이 클수록 퀄리티는 향상되지만 퍼포먼스는 저하됩니다. |
r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget |
300 | 300 | 1000 | 프레임당 업데이트할 래디언스 캐시 프로브의 수입니다. 값이 클수록 퀄리티는 향상되지만 퍼포먼스는 저하됩니다. |
r.Lumen.ScreenProbeGather.DownsampleFactor |
32 | 16 | 8 | 내부 렌더 해상도와는 별도로 글로벌 일루미네이션을 다운샘플링할 수 있습니다. |
r.Lumen.ScreenProbeGather.TracingOctahedronResolution |
8 | 8 | 16 | 프로브당 수행되는 트레이스 수를 결정합니다. 값이 클수록 트레이싱 속도가 느려지지만, 글로벌 일루미네이션 퀄리티는 향상됩니다. |
r.Lumen.ScreenProbeGather.TwoSidedFoliageBackfaceDiffuse |
0 | 1 | 1 | Two Sided Foliage 및 서브서피스 셰이딩 모델의 후면을 따라 라이팅을 수집할지 여부입니다. |
r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth |
0 | 1 | 1 | 스크린 스페이스 트레이스에서 전체 해상도 뎁스를 샘플링할지 여부입니다. 활성화하면 스크린 스페이스 트레이스가 더 정확해지지만, 퍼포먼스가 다소 저하됩니다. |
r.Lumen.ScreenProbeGather.ShortRangeAO |
1 | 1 | 1 | 글로벌 일루미네이션 위에 추가되는 소규모 앰비언트 오클루전을 제어합니다. 컨택트 섀도에서 시각적 디테일을 포기하고 퍼포먼스를 개선하려는 경우 비활성화할 수 있습니다. |
리플렉션
루멘 리플렉션 퍼포먼스는 전용 리플렉션 레이 수에 따라 달라집니다. 레이는 러프니스 값이 설정된 한계치 미만인 픽셀에서 트레이싱됩니다. 또 다른 중요 퍼포먼스 요인은 내부 렌더 해상도와 리플렉션 해상도입니다.
세팅 이름 | 높음 | 에픽 | 시네마틱 | 설명 |
---|---|---|---|---|
r.Lumen.Reflections.DownsampleFactor |
2 | 1 | 1 | 내부 렌더 해상도와는 별도로 리플렉션을 다운샘플링할지 여부입니다. |
r.Lume n.Reflections.MaxRoughnessToTraceClamp |
1.0 | 1.0 | 1.0 | 프로젝트와 포스트 프로세스 볼륨의 최대 러프니스 설정이 이 값으로 범위제한됩니다. 이렇게 하면 엔진 퀄리티 세팅에서 전용 리플렉션 레이의 수를 제어할 수 있습니다. |
r.Lumen.Reflections.MaxRoughnessToTraceForFoliage |
0.2 | 0.4 | 0.4 | 폴리지에서 전용 리플렉션 레이가 트레이싱되어야 하는 최대 러프니스 값입니다. |
r.Lumen.TranslucencyReflections.FrontLayer.Allow |
0 | 1 | 1 | 포스트 프로세스 볼륨에서 반투명에 대한 고퀄리티 리플렉션을 활성화할지 여부입니다. |
r.Lumen.TranslucencyReflections.FrontLayer.Enable |
0 | 0 | 1 | 기본적으로 반투명에 대해 고퀄리티 리플렉션을 활성화할지 여부입니다. |