静态网格与 LOD

自动关联目录:静态网格与 LOD

1. 定位

LOD 的本质是用"远处少画一点"换性能。UE5 给了两条路线:传统预生成 LOD,以及 Nanite 的虚拟化几何(无手工 LOD)。

一句话定位:选 Nanite 还是传统 LOD,是 UE5 项目里最影响资产管线的一个决定——它决定了美术要不要为每件资产做 LOD。

2. 两条路线

传统 LODNanite
谁生成 LOD美术/工具预生成多级自动,无需手工
切换离散级别切换,可能有跳变连续、几乎无跳变
包体存多套网格高度压缩的单一数据
平台全平台DX12 + SM6(主机与桌面;移动端不支持)
不支持项—见 Nanite 篇(MSAA、前向渲染、VR、Morph Target…)
骨骼网格支持 LOD无几何 LOD,改用动画 LOD(见 骨骼与网格)

官方建议(已核实):Nanite 网格渲染进 VSM 效率高得多,理想状态下只有 Nanite 不支持的才用非 Nanite;并且非 Nanite 网格必须有完整 LOD 层级,否则渲染进小页会极贵。

3. 传统 LOD 的要点

项说明
LOD 数量通常 3–5 级
屏幕尺寸阈值每级按屏幕占比切换
自动生成引擎可生成,但需人工检查质量
Nanite 之外的必须项非 Nanite 网格一定要有 LOD
LOD 与碰撞可指定用哪级做碰撞
LOD 与材质远处可切简化材质(如关掉 WPO)

LOD 上一个常被忽略的优化:远处 LOD 顺便切换到不用 WPO/PDO 的材质——能同时省掉 VSM 的每帧缓存作废。

4. 与 World 的关系

机制说明
HLOD更远处的"多物体合并代理",与单物体 LOD 是两层
World Partition管加载,LOD/HLOD 管绘制
Foliage植被必须有 LOD(见 Foliage)
Landscape地形有自己的 LOD
距离由近到远:
  真实网格(LOD 0)
   → 网格 LOD 1/2/3
   → HLOD 代理(多物体合并)
   → 不加载(WP 卸载)

5. 代价与权衡

设计收益代价什么时候不该用
Nanite免 LOD 工作量、细节高、渲染进 VSM 便宜平台受限 + 一长串不支持项移动端、VR、需要 Morph 时不可用
传统 LOD全平台、可控美术工作量、包体存多套、切换跳变能用 Nanite 时通常更优
LOD 级数多过渡平滑包体增大3–5 级通常够
自动生成 LOD省事质量不稳定,需检查重要资产应人工调
远处切简化材质省着色 + 省阴影作废要维护材质变体有 WPO 的资产强烈建议做

6. 踩坑与排查

坑现象怎么验证
非 Nanite 网格没 LOD远处极贵(尤其是进 VSM 小页)检查 LOD 层级是否存在
Nanite 在移动端无效自动回退/不支持平台限制见 Nanite 篇
LOD 切换跳变视觉突变增加级数或调阈值
包体变大存了太多 LOD 级3–5 级即可
远处阴影很贵远处 LOD 还在用 WPO远处切到无 WPO 材质
碰撞不对LOD 与碰撞设置不匹配指定碰撞用哪级
自动 LOD 质量差形状塌陷重要资产人工调
LOD 与 HLOD 边界冲突远处重复或空洞检查两层距离设置

7. 排查顺序

1. 远处掉帧?→ 先确认是绘制还是阴影
   ├─ 绘制 → LOD 是否生效、级数是否够
   └─ 阴影 → 非 Nanite 是否有 LOD;远处材质是否还在用 WPO
2. LOD 不生效?→ 阈值设置 / 资产是否真有 LOD
3. 包体?→ 级数
4. 更远?→ HLOD 层

参考