静态网格与 LOD
自动关联目录:静态网格与 LOD
1. 定位
LOD 的本质是用"远处少画一点"换性能。UE5 给了两条路线:传统预生成 LOD,以及 Nanite 的虚拟化几何(无手工 LOD)。
一句话定位:选 Nanite 还是传统 LOD,是 UE5 项目里最影响资产管线的一个决定——它决定了美术要不要为每件资产做 LOD。
2. 两条路线
| 传统 LOD | Nanite | |
|---|---|---|
| 谁生成 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 层参考
- Nanite · HLOD · World Partition
- 虚拟阴影贴图 · 骨骼与网格 · Foliage 与植被
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/0b3bb0e4.html
更新于:2026年10月10日