中EN
概念页

Lumen 全局光照与反射

Lumen Global Illumination & Reflections

Lumen 是 UE5 默认的全动态全局光照 (Global Illumination, GI) 与反射系统:先做屏幕空间追踪,未命中再对"Lumen 场景"做软件光追(有符号距离场)或硬件光追,命中点的光照从按网格离线放置的卡片 (Card) 构成的表面缓存 (Surface Cache) 中查询,表面缓存的直接与间接光照分摊到多帧更新,从而得到无限次漫反射弹射和全粗糙度范围的反射。

它解决什么

Lumen 渲染"无限次反弹的漫反射互反射和间接高光反射",尺度从毫米到千米。(Lumen Global Illumination and Reflections) 用 渲染方程 的语言说,它在实时预算内近似求解渲染方程中的间接项:漫反射部分产生颜色溢出 (Color Bleed) 和间接阴影;高光部分即反射。官方强调它以全分辨率着色,但以低得多的分辨率计算间接光照。(Lumen Global Illumination and Reflections)

启用 Lumen 后:Lumen GI 取代距离场环境光遮蔽 (DFAO),Lumen 反射取代屏幕空间反射 (SSR),预计算静态光照被禁用、光照贴图被隐藏。(Lumen Global Illumination and Reflections) 也就是说它替代了理论页 预计算光照与光照贴图、屏幕空间反射、环境光遮蔽、局部反射探针 中的多种传统方案。

追踪流水线

下图表示一条 Lumen 光线的求解顺序:

flowchart TB
    A["像素发出 GI/反射光线"] --> B{"屏幕追踪命中?"}
    B -- "是" --> R["用场景颜色/深度"]
    B -- "否或穿到表面背后" --> C{"硬件光追可用且启用?"}
    C -- "是" --> D["对三角形求交<br/>Nanite 用 Fallback Mesh"]
    C -- "否" --> E["软件光追<br/>网格距离场前 2m + 全局距离场"]
    D --> F{Hit Lighting?}
    F -- "是" --> G["命中点实时计算光照"]
    F -- "否" --> H["查询表面缓存"]
    E --> H

要点:(Lumen Technical Details)

  • 屏幕追踪 (Screen Traces) 最先执行,支持任何几何类型,能掩盖 Lumen 场景与真实三角形场景的不匹配;代价是限制美术控制(如大的 Indirect Lighting Scale 会产生视角相关的 GI)。这与 屏幕空间反射 的局限同源:屏幕外与被遮挡的信息拿不到。
  • 软件光追用网格距离场 (Mesh Distance Field) 合并成的全局距离场 (Global Distance Field) 做球体追踪;默认 Global Tracing 最快,Detail Tracing 先在每网格距离场上追前两米,质量高但在拼装 (kitbash) 关卡里代价极高。原理见 隐式曲面与有符号距离函数。
  • 硬件光追对真实三角形求交,支持蒙皮网格,可在命中点计算光照(Hit Lighting),质量更高;但大场景、大量重叠实例时建立成本最高,蒙皮网格每帧更新加速结构的成本与蒙皮三角形数成正比。官方原话:"软件光追是大量重叠实例场景中唯一高效的选项,而硬件光追是获得高质量镜面反射的唯一途径。"
  • 表面缓存:Lumen 对附近场景表面自动参数化,从多个角度用卡片捕获材质属性(默认每网格 12 张,可调 Max Lumen Mesh Cards),然后为这些表面点计算直接和间接光照,分摊到多帧,从而高效支持多动态光源和多次弹射。没被卡片覆盖的区域(表面缓存视图中粉色)不会反弹光,在反射中显示为黑色。

与 动态漫反射全局光照 的比较:两者都是"缓存 + 光追"的动态 GI 思路,DDGI 把辐照度缓存在空间探针里,Lumen 主要缓存在网格表面(表面缓存)并辅以屏幕追踪(这是基于两份资料的对比解读,不是 Epic 原话)。

性能目标与参数

  • 主要目标:次世代主机上大型开放世界 60 FPS(High 可伸缩级);次要目标:室内 30 FPS,Epic 级在次世代主机 1080p 内部分辨率下 GI+反射约 8 ms,依赖 TSR 输出接近原生 4K。(Lumen Technical Details) 这说明 Lumen 与 TSR 与抗锯齿方案 是配套设计的,规划 帧时间预算与渲染性能 时应把二者一起考虑。
  • 软件光追时 Lumen 场景只覆盖相机周围 200 m(后处理可调到 800 m),超出后只有屏幕追踪;硬件光追的 Far Field 可延伸到 1 km,但需要 World Partition 构建 HLOD1(见 世界分区)。(Lumen Technical Details)
  • 缓存导致滞后:局部光照变化传播很快,但全局变化(如关掉太阳)可能需要数秒;可用后处理的 Lumen Scene Lighting Update Speed / Final Gather Lighting Update Speed 加速,代价是 GPU。(Lumen Global Illumination and Reflections)

常用后处理参数:(Lumen Global Illumination and Reflections)

参数作用代价
Lumen Scene Detail能进入 Lumen 场景的最小物体尺寸越大越贵
Lumen Scene View DistanceLumen 场景维护距离越大越贵
Final Gather Quality降低 GI 噪声GPU
Max Trace Distance追踪最大距离;太小会在洞穴等大空间漏光越大越贵
Max Roughness To Trace超过此粗糙度不再追专门的反射光线越高越贵
Max Reflection Bounces镜面互反射次数,默认 1需硬件光追 + Hit Lighting

内容制作规则(常见的坑)

适用范围

Lumen 不能与光照贴图一起用(但 Lumen 反射可以单独配合烘焙光照,需硬件光追);不兼容前向着色;不支持 PS4/XB1;VR 的高帧率高分辨率使它"不太合适"。软件光追需要 DX12 SM6(GTX 1070 以上);硬件光追需 RTX 2000 / RX 6000 以上或 PS5、Xbox Series、Switch 2。(Lumen Technical Details) 因此面向低端或 VR 的项目仍要回到 预计算光照与光照贴图 等传统方案。

  1. Lumen Global Illumination and Reflections UE 5.8 文档
  2. Lumen Technical Details UE 5.8 文档

相关页面

图形学渲染方程Rendering Equation渲染方程 (Kajiya, 1986) 把"某点接收到的光就是其他点发出或反射的光"写成递归积分,概括了光从光源出发经任意次反弹到达眼睛的所有路径。反射方程是它的受限特例。离线用辐射度 (Radiosity) 或蒙特卡洛路径追踪求解;实时渲染则靠简化和预计算逼近它(RTR4 第 11 章)。图形学动态漫反射全局光照Dynamic Diffuse Global Illumination烘焙动辄数小时,拖慢美术迭代,几何在运行时变化或由用户创建时甚至无法预计算。动态漫反射 GI 方法无需预处理或预处理快到每帧可做,主要有:基于虚拟点光源的反射阴影贴图 (RSM)、光传播体积 (LPV)、体素锥追踪 (VXGI) 以及屏幕空间补充(RTR4 11.5.5–11.5.9 节)。图形学屏幕空间反射Screen-Space Reflections屏幕空间反射 (SSR) 沿反射方向在深度缓冲中步进求交,命中后从颜色缓冲读取入射辐射亮度。由于镜面瓣窄、只需反射方向附近的光,屏幕数据比漫反射情况更可能包含所需信息。它最早由 Sousa 等提出,常作为镜面 GI 的第一层,失败时退回反射探针和全局探针(RTR4 11.6.5 节)。图形学隐式曲面与有符号距离函数Implicit Surfaces & Signed Distance Functions隐式曲面用 f(\mathbf{p})=0 定义:代入点结果为零即在曲面上。返回到最近表面有符号距离的 f 称为有符号距离函数 (SDF)。它们便于做光线求交、构造实体几何 (CSG)、混合与变形,通常用光线步进可视化,也可用移动立方体等方法转为三角形。图形学环境光遮蔽Ambient Occlusion环境光遮蔽 (AO) 是余弦加权后半球上未被遮挡的比例,用来在光照缺乏方向变化时仍给出形状线索(缝隙变暗)。它由 Landis 在 ILM 为《珍珠港》开发,可离线烘焙,也可在物体空间或屏幕空间动态计算(SSAO、HBAO、GTAO 等)。AO 适合漫反射和平滑环境光,不适合点光源或小面光源的可见性(RTR4 11.3 节)。图形学局部反射探针Localized Reflection Probes镜面全局光照需要高角分辨率但只关心反射方向附近的小立体角。实时中最流行的方案是在场景中稀疏放置局部环境贴图(反射探针),配合反射代理体做视差校正;它实现简单、快、美术可控,但有拉伸和漏光问题。另有体素锥追踪和平面反射等替代方案(RTR4 11.6–11.6.4 节)。图形学预计算光照与光照贴图Precomputed Lighting & Light Maps烘焙 (baking) 是把辐射度或路径追踪等离线 GI 结果预先算好存起来,运行时直接查询。静态几何参与预计算并完整交互,动态物体只作接收者。数据可以是辐照度,也可以带方向(SH、H 基、AHD、球面高斯、环境立方体等),存储在光照贴图、顶点或体积/探针中,各有接缝、漏光、内存等取舍(RTR4 11.5.1、11.5.2、11.5.4 节)。图形学延迟着色Deferred Shading延迟着色先用一遍几何 pass 把所有可见表面的材质参数写入多张渲染目标(G-buffer),再以后处理方式对这些存储值逐光源计算光照,从而把"几何可见性"与"光照"彻底解耦,并把材质与光源分离。它避免了着色的过度绘制、简化了着色器管理、天然适合贴花,但 G-buffer 占用显存和带宽,且难以直接支持透明和 MSAA。本页也覆盖前向渲染下限制光源影响范围的基础手段与"光照预通道 (light prepass)"类混合方案。游戏开发 · UE5UE5 渲染架构UE5 Rendering ArchitectureUE5 的渲染器是独立的 Renderer 模块,在渲染线程 (Rendering Thread) 上以「场景代理」镜像游戏线程的组件状态,每帧按固定顺序执行深度预通道、G-buffer 基础通道、光照、雾、半透明和后处理。现代渲染代码用渲染依赖图 (Render Dependency Graph, RDG) 声明通道与资源,由 RDG 自动排屏障、复用瞬态内存、并行录制;最终命令经 RHI 线程翻译成 D3D12/Vulkan 等图形 API 调用。默认走延迟着色 (Deferred Shading),也可切换前向着色 (Forward Shading)。游戏开发 · UE5Nanite 虚拟化几何体Nanite Virtualized GeometryNanite 是 UE5 的虚拟化几何体 (Virtualized Geometry) 系统:导入时把网格切成分层的三角形簇 (Cluster),渲染时按相机视角逐簇选择细节层次并无缝拼接,按需从磁盘流送,并在绕过传统绘制调用 (Draw Call) 的独立通道中渲染,使帧预算不再受多边形数、绘制调用和网格内存约束。游戏开发 · UE5虚拟阴影贴图Virtual Shadow Maps虚拟阴影贴图 (Virtual Shadow Maps, VSM) 是 UE5 默认的阴影方法:概念上就是分辨率极高(虚拟 16k×16k)的阴影贴图,切成 128×128 的页 (Page),只为屏幕上需要着色的像素分配和渲染页,并跨帧缓存;方向光用 clipmap 覆盖大范围,软阴影由阴影贴图光线追踪 (Shadow Map Ray Tracing, SMRT) 生成。它为 Nanite 设计,与 Nanite 一起使用时最高效。游戏开发 · UE5TSR 与抗锯齿方案Temporal Super Resolution & Anti-AliasingUE5 提供四种抗锯齿:时间超分辨率 (Temporal Super Resolution, TSR,默认)、时间抗锯齿上采样 (TAAU)、快速近似抗锯齿 (FXAA) 和仅前向渲染可用的多重采样抗锯齿 (MSAA)。TSR 是与平台无关的时间性上采样器,用低内部分辨率渲染,借助历史帧累积细节输出接近原生的画面,把节省的 GPU 时间留给 Nanite 与 Lumen。游戏开发 · UE5世界分区World Partition世界分区 (World Partition) 是 UE5 的自动数据管理与基于距离的关卡流送 (Level Streaming) 系统:整个世界存为一个持久关卡,按可配置的运行时网格划分为单元格 (Cell),由流送源 (Streaming Source,默认是玩家控制器) 按距离加载/卸载。它配合一 Actor 一文件 (One File Per Actor, OFPA) 支持多人协作编辑,用数据层 (Data Layers) 按玩法状态切换内容,用分层细节层次 (Hierarchical Level of Detail, HLOD) 在远处以代理网格显示未加载的单元格。综合帧时间预算与渲染性能Frame Budget & Rendering Performance本页把 wiki 中分散在 RTR4 第 18~23 章的性能知识串成一条线:一帧的时间预算由最慢的管线阶段决定,先用毫秒帧时间度量并定位瓶颈,再按瓶颈所在位置——CPU/驱动、几何、像素、带宽/内存——选用对应手段;最后从 GPU 硬件机制(占用率、HiZ/early-z、压缩、分块架构)理解这些手段为何有效。各结论的细节与出处见所链接的概念页。游戏开发 · UE5UE5 性能分析UE5 ProfilingUE5 性能分析的基本流程是:先用 stat unit 判断瓶颈在游戏线程、渲染线程还是 GPU,再用对应的 stat 组、profilegpu/GPU 统计或 Unreal Insights 的 Timing/Memory 等视图向下钻取;渲染特性(RDG、VSM、TSR)各自提供作用域和可视化。测量时要避开会扭曲数据的设置(调试构建、异步计算、可视化模式)。游戏开发 · UE5材质系统Material SystemUE 材质 (Material) 是用节点图描述「表面如何与光交互」的着色器生成器。它有三个正交维度:着色模型 (Shading Model) 决定光照模型(Default Lit、次表面、清漆、毛发等),混合模式 (Blend Mode) 决定与背景的合成公式(Opaque/Masked/Translucent…),参数 + 材质实例 (Material Instance) 让美术在不重编译着色器的前提下做变体。PBR 输入(Base Color/Roughness/Metallic/Specular)直接对应 RTR4 的金属度-粗糙度工作流;最大的工程坑是静态参数导致的着色器排列爆炸。游戏开发 · UE5光源类型与静态光照Light Types & Static LightingUE 有五种光源:定向光、天空光、点光、聚光和矩形光。每个光源有三种移动性 (Mobility):静态 (Static) 只烘焙进光照贴图;固定 (Stationary) 烘焙间接光,同时能为可移动物体投射动态阴影,但一个物体最多受 4 个固定光源影响;可移动 (Movable) 完全动态。烘焙由 Lightmass(CPU 版或基于 DXR 的 GPU 版)完成,Lightmass 重要性体积用来把光子集中到可玩区域。游戏开发 · UE5硬件光线追踪与路径追踪器Hardware Ray Tracing & Path TracerUE5 的硬件光线追踪 (HWRT) 大部分功能都集成在 Lumen 里;也有光追阴影等独立功能。Lumen 在显卡、RHI 和操作系统支持时使用 HWRT,否则回退到软件光追;反射光线可以用表面缓存(快)或命中点光照(质量高)来着色;实例超过 10 万时,HWRT 的场景更新开销很大。路径追踪器 (Path Tracer) 是渐进式、硬件加速的无偏渲染模式,用作 ground truth 参考和影视级最终输出,与 Sequencer/Movie Render Queue 集成。图形学随机光线追踪与路径追踪Stochastic Ray Tracing & Path Tracing光线追踪用投射光线同时解决可见性问题和光照问题。GEA 从最简单的"眼睛光线 + 着色方程"讲起,逐步加入阴影光线、透射光线、用蒙特卡洛估计渲染方程的随机光线追踪、递归间接光照,再到每次只走一条路径的路径追踪、双向路径追踪和 Metropolis 光传输,最后讨论降噪与光线投射效率(GEA4 卷 II 12.6.3–12.6.5)。

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原