UE5世界分区HLOD

Posted by LioMiss on March 25, 2025 阅读()

HLOD

定义

HLOD是一组Actor的视觉显示,旨在玩家离目标Actor距离较远时,替换这些Actor,它通常是一个基于原Actor几何体构建的单一网格和材质,但进行了简化,通过减少DrawCall、顶点数、降低精度来减少开销,提高性能。

世界分区HLOD与传统的HLOD不同之处在于,它们不与级别相关联,它们是根据世界分区网格生成的,无需手动管理Actor集群。

在WorldSettings中设置HLOD Layer:

Open image-20250117-083224.png image-20250117-083224.png
其逻辑与分区Grid设置类似,勾选Is Spatially Loaded之后会按照Loading Range来设置流送。如果不勾选则默认激活。

HLOD层

世界分区HLOD由HLOD层资产控制,可以同时使用多个HLOD层。
pEHnuCQ.png

新建HLOD层资产的步骤如下:
打开 内容侧滑菜单(Content Drawer) ,点击 + 添加(+ Add) 打开菜单。找到 杂项(Miscellaneous) 菜单,然后选择 HLOD层(HLOD Layer) 资产。(右键单击 内容侧滑菜单(Content Drawer) ,打开同一个菜单。)
双击新HLOD层,打开资产编辑器窗口。
pEHnuCQ.png

HLOD层类型

UE目前有五种HLOD层类型: pEHyV4U.md.png |层类型|说明| |—|—| |实例化(Instancing)| 为那些资产使用最低细节级别 (LOD) 设置将此类层中的静态网格体资产替换为实例化静态网格体 (ISM) 组件。此类型是理想的替代物网格体,如树木和枝叶。| |合并网格(Merged Mesh)| 此层类型中的静态网格体将合并,以生成单个代理网格体。| |简化网格(Simplified Mesh)| 此层类型中的静态网格体将合并,以生成单个代理网格体,然后执行网格体简化。| |近似网格(Approximated Mesh)|此曾类型中的StaticMesh将合并,生成单个Mesh,并执行Mesh简化,与Simplified Mesh不同的地方是会使建筑物空心化| |自定义(Custom)|自定义层类型,可以自定义HLOD层的行为|

HLOD层参数设置

设置HLOD层的参数需要与美术、ta等沟通,确定合适的参数,如:使用哪些贴图,是否开启Nanite等。

HLOD层划分

一个世界可以有多个HLOD层,用于不同类型的资产,如简化网格的建筑和实例化的植被,它们可以设置为不同的HLOD层,单独设置其单元格大小和加载范围。

HLOD自动Build

由于Build HLOD需要消耗大量时间,因此需要部署自动化流水线去自动Build HLOD,并提交结果,具体的Build脚本可以用Build Graph实现,UE引擎中提供了一个示例:

1
Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml

可以用如下命令执行:

1
.\RunUAT.bat BuildGraph -Script="Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml" -Target="HLOD Generation" -set:MapName=/Game/YourMapName

参考资料:
官方文档