光照与阴影
光照是 GPU 预算的大头之一。阴影尤其贵:每个级联 / 每盏动态灯都是一次完整的深度渲染。
光照成本速查
| 光照类型 | 成本 | 说明 |
|---|---|---|
| 静态烘焙(Lightmass) | 运行时几乎免费 | 不动光源 + 不动几何 |
| 动态方向光 + 级联阴影(CSM) | 中~高 | 级联数 × 渲染深度场景 |
| 点 / 聚光灯(逐像素) | 高每灯成本 | 移动端尤其痛 |
| 半透明光照 | 很贵 | 透明物体重新算光照 |
| Lumen(UE5 GI) | 高但自适应 | 见后续节 |
阴影的优化杠杆
| 手段 | 效果 | 代价 |
|---|---|---|
| 减少级联数(4→2) | 阴影 Pass 减半 | 近处阴影锯齿 |
| 缩短阴影距离 | 深度渲染减半 | 远处无影(可用距离虚化遮) |
| 静态物用烘焙阴影 | 免费 | 不能动 |
| 用 Lumen / VSM 替代部分 CSM | 画质↑成本↑需测 | 需目标平台支持 |
| 移动端关闭实时阴影 | 巨大收益 | 视觉成本 |
光源的实践建议
- 能静态就静态:场景里 90% 的灯可以烘焙(设计阶段就规划好);
- 动态灯集中到"最重要的那一个"(通常是主角相关 / 昼夜循环灯);
- 点光源用"光照函数 / 贴花"替代的案例:一个公式贴花可以伪装成动态灯,但成本是贴花的;
- 灯 + 特效的组合是双倍开销(特效半透明被光照计算一次)——移动端特效材质用 Unlit。
stat gpu的 ShadowDepths 段就是阴影的总账。先看这行再决定是否动阴影。
