HLOD
自动关联目录:HLOD
官方依据:World Partition(其中 HLOD 相关条目)与 World Partition - Hierarchical Level of Detail。HLOD 是 World Partition 紧密配合的四个特性之一。
1. 定位
HLOD(Hierarchical Level of Detail)用"合并后的代理网格"替代远处的一批真实物体:远处不再逐个绘制原始 Actor,而是画一个预先生成的简化替身。
一句话定位:HLOD 换掉的是 draw call 与三角形,换来的是包体、内存和构建时间。它是远景性能的主要手段,但不是免费的。
2. 结构
World Partition 网格单元
├─ 近距离 → 加载真实 Actor
└─ 远距离 → 卸载真实 Actor,显示该区域的 HLOD 代理| 概念 | 说明 |
|---|---|
| HLOD Layer | 定义如何生成代理(合并策略、简化率、材质处理方式) |
| HLOD Cell | 一个 HLOD 单元,通常覆盖若干个 WP 网格单元 |
| 生成 | 离线构建,产出 Actor |
| 流式 | HLOD 自己也是按距离流式的 |
3. 生成
| 方式 | 说明 |
|---|---|
| 编辑器 | Build 菜单 → World Partition 分组 → Build HLODs |
| 命令行 | WorldPartitionHLODsBuilder commandlet |
| 配合流式源 | World Partition Streaming Source 组件上有 Target HLOD Layer 选项 |
大世界不必整体加载即可生成 HLOD——这是 World Partition Builder Commandlets 框架(
UWorldPartitionBuilderCommandlet/UWorldPartitionBuilder)存在的理由。
4. 参数与控制台变量
| CVar / 设置 | 作用 |
|---|---|
wp.Runtime.HLOD 0 | 不带 HLOD 显示世界——对比排查第一命令 |
| HLOD Layer 的生成设置 | 合并范围、简化率、材质烘焙方式 |
Target HLOD Layer(流式源组件) | 指定该源影响的 HLOD 层 |
| 构建相关 commandlet 参数 | 见官方 commandlet 文档 |
5. 代价与权衡
| 设计 | 收益 | 代价 | 什么时候不该用 |
|---|---|---|---|
| HLOD 代理 | 远景 draw call 与三角形大幅下降 | 包体增大(多一份网格)、内存增大、构建时间 | 小场景不需要 |
| 更高的简化率 | 更省 | 远景形变明显、切换时"跳" | 有辨识度的地标不该简化太多 |
| 合并范围更大 | draw call 更少 | 无法按小粒度流式;一旦显示就是一大块 | 需要细粒度剔除时不宜 |
| 材质烘焙 | 代理只需一个材质,很便宜 | 远处光照/材质变化丢失 | 需要远景动态光照时要评估(与 Lumen 配合) |
| 多 HLOD 层 | 不同距离不同精度 | 复杂度与包体上升 | 简单场景一层即可 |
6. 踩坑与排查
| 坑 | 现象 | 怎么验证 |
|---|---|---|
| 远景掉帧 | HLOD 没生成或没生效 | wp.Runtime.HLOD 0 对比;检查是否 Build 过 |
| 远景"跳变" | HLOD 与真实物体切换时突变 | 调过渡距离与简化率 |
| 包体变大 | HLOD 网格占了体积 | 权衡简化率与合并范围 |
| 构建极慢 | 大世界全量生成 | 用 Builder commandlet 增量/批量 |
| 远景光照不对 | 材质烘焙丢了动态信息 | 检查 HLOD Layer 的材质处理方式 |
| HLOD 没随距离出现 | 流式配置问题 | 检查 HLOD 层与流式源的 Target HLOD Layer |
| 修改了世界但 HLOD 没更新 | 忘了重建 | 改动后必须重新 Build HLODs |
| 远处物体消失 | HLOD 缺失但真实 Actor 已卸载 | 确认 HLOD 覆盖了该区域 |
7. 排查顺序
1. 远景慢?→ wp.Runtime.HLOD 0 对比,确认是否真的生效
2. 没生效?→ 是否 Build 过;HLOD 层配置
3. 跳变?→ 过渡距离与简化率
4. 包体/内存?→ 简化率与合并范围
5. 光照不对?→ HLOD Layer 的材质处理参考
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/88a5d385.html
更新于:2026年10月10日