2.2 光照方案:Lumen、烘焙与混合的取舍
核心结论
移动端默认且最稳的光照方案是烘焙光照。Lumen 在移动端可用,但是"高配可选件"——它对算力要求高,且只推荐给高端设备。中小项目不要被 Lumen 的演示视频绑架,烘焙+少量动态光的混合方案是性价比之王。
三种方案对比
| 方案 | 烘焙(Baked) | 混合(Mixed) | 全动态(Lumen/动态光) |
|---|---|---|---|
| 烘焙时间 | 长(看场景规模) | 中 | 几乎 0 |
| 运行时开销 | 极低 | 中 | 高,Lumen 尤其 |
| 动态性 | 静态几何+静态光 | 可动光、可 destruction | 全动态 |
| 适用 | 关卡固定的游戏 | 大部分手游 | 高端机、开放世界 |
| 推荐度(中端机) | ★★★★★ | ★★★★ | ★★ |
Lumen 在移动端:先读官方的性能指南再决定
官方文档 https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/lumen-performance-guide-for-un-5aff 是判断"你的项目能不能上 Lumen"的第一手依据。要点是:Lumen 的性能开销在移动端显著高于桌面,它的 Surface Cache 依赖大量半分辨率更新,填充率敏感的设备上会直接拖垮帧率。
官方文档说什么就听什么——Lumen 性能指南明确列出了对 CPU/GPU 的要求。我的建议:先在目标设备上跑 Lumen 的空白场景对比,拿到数字再决定,不要凭 PC 数据猜。
我的混合方案(推荐)
以一个中型关卡为例,这是我反复验证过的配置:
- 静态间接光:Lightmass 烘焙。中等质量即可,跑 GI 的方向贴图分辨率别超 256。
- 天光(Sky Light):烘焙+实时混合。天光实时更新开销低,能接住"昼夜变化"。
- 方向光(Directional Light):保留动态(要产生动态阴影),但关闭全场景阴影级联,只对玩家附近开级联,远处用距离场阴影或者干脆刷掉。
- 小动态光(如手电、枪口焰):开,但限制半径与数量(场景里同时 <= 4 盏)。
- 静态小灯(路灯、壁灯):全部烘焙,只在需要"开关灯"时用混合模式。
这套配置在中端机(骁龙 7 系)上,光照总开销控制在 3ms 以内。
常见坑与解法
坑 1:烘焙后场景还是黑
原因:Lightmass 构建质量设置太高导致采样不足;或者光照贴图分辨率被压得太低。
解法:检查 World Settings -> Lightmass 的构建质量与 Lightmap Resolution;角色级的物体(如箱子)用 Lightmap Resolution 64~128,大地形用 256。
坑 2:Lumen 开了但手机上没动态 GI 效果
原因:移动端 Lumen 依赖硬件能力,部分设备上被自动降级或禁用。
解法:查 Project Settings 里的 Mobile Lumen 是否启用,以及目标功能级别是否符合(参考第一章 0103)。在真的目标机器上看, simulator 不算数。
坑 3:混合光照下"双重阴影"
原因:静态阴影(烘焙)与动态阴影(级联)叠加,出现两层影子。
解法:对烘焙阴影的静止光源,设置 Cast Raytraced Shadow = false;对动态光设置 Dynamic Shadow =true, static shadow = false,让两种阴影各管一段。
相关节点速查
- Lightmass:Build -> Lighting Quality(建议 Medium 起步)
- 光照贴图:
Lightmap Resolution(关卡物件 64~256,地表 256~512) - 动态阴影距离:
Dynamic Shadow Distance(方向光,按玩家半径调)
心得:我见过团队为了"光照效果不输端游"硬上 Lumen,结果跑不动只能整体降级,画面反而不如同档位的烘焙方案。移动端光照的第一原则是"算得起的动态性"——你能让百分之多少的光动起来,比整体看起来多炫重要。
