Simplygon LOD

本页面的内容:

本部分描述的是利用 Simplygon 功能在虚幻引擎 4 中为静态网格物体创建 LOD 的用法。如果您没有 Simplygon 许可证,可使用标准 FBX 管道为静态网格物体导入 LOD。 有关更多详情,请参见 FBX 静态网格物体管道 文档。

StaticMesh 管道能够创建预设和自动生成完整作为一项核心功能的 LOD (LOD) 链。这可让艺术家创建网格物体,然后导入, 并使创建的优化版本实现远距离渲染,从而提升渲染性能, 而且无需对这方面执行其他操作。

主要功能包括:

尽管随同虚幻引擎发行了Simplygon,但是授权用户必须首先从Donya Labs (simplygon.com/ ) 获得授权才能使用这个功能。 请联系它们了解关于获得授权的详细信息。

LOD 管理

StaticMesh Editor*(静态网格物体编辑器)中的 Level of Detail (LOD) 面板能够根据您设置的规则,按照 LOD 组 或按网格物体和 LOD 的形式管理和生成完整的 LOD 链。

Level of Detail Panel

LOD 生成

自动 LOD 生成功能采用 Simplygon 创建简化版本的基础网格物体,以用作 LOD。这些算法会考虑诸多因素,例如目标复杂度、轮廓保存和纹理坐标等,以生成可远距离显示且没有明显退化的新网格物体或 artifact。

应用 LOD 组:

  1. 选择要在 LOD 设置 中使用的 LOD Group

    group_select.png

  2. 按下 Apply 按钮,创建新的 LOD 网格物体。

要生成自定义 LOD 链:

  1. 选择要在 LOD 设置 中生成的 LOD 网格物体数量。

    您也可以选择 LOD Group(LOD 组) 作为起点,然后从那里开始修改设置。

    lod_number.png

  2. 为要生成的每个 LOD 网格物体设置 约简设置

    lod_settings.png

  3. 按下 Apply 按钮,创建新的 LOD 网格物体。

LOD 预览

LOD 网格物体可利用工具栏中的控件预览:

LOD 设置

设置 说明
LOD Group(LOD 组) 指定网格物体使用的 LOD 组
Number of LODs (LOD 数量) 设置网格物体的 LOD 数量。随着此值修改,LOD 列表也会更新,但是在按下 Apply 按钮前不会产生实际变化。
Auto compute LOD Distance(自动计算 LOD 距离) 如果启用,可通过简单的误差测度确定 LOD 之间出现过渡的距离。否则,将利用每个 LOD 的距离属性确定何时过渡到 LOD。
LOD Distance Error(LOD 距离误差) 测量在利用自动计算功能的情况下 LOD 之间出现过渡的距离。

构建设置

设置 说明
Recompute Normals(重新计算法线) 如果启用,可由虚幻引擎重新计算光滑组。否则,光滑组将从 FBX 文件保留下来。
Recompute Tangents(重新计算切线) 如果启用,可由虚幻引擎重新计算切线。否则,切线将被从 FBX 文件保留下来。
Remove Degenerates(移除退化) 如果启用,导入期间发现的退化三角形将被移除。禁用此选项将保留发现的退化三角形。一般来说,应该启用此选项。
Use Full Precision UVs(使用全精度 UV) 如果启用,网格物体的 UV 将存储为 32 位浮点,而不是 16 位。

约简设置

设置 说明
Percent Triangles(三角形百分比) 编辑器将简化网格物体,直至指定确切数量的三角形。
Max Deviation(最大偏差) 与基础网格物体的最大偏差,以包围球的百分比表示。编辑器按照预期质量计算网格物体的误差测度。此误差测度可防止工具简化网格物体后造成新网格物体表面与原网格物体表面偏差过大。此方法的优势是,在原网格物体的一定偏差范围内,工具可以智能优化网格物体,且无需在任意三角形界限处停止。
Silhouette(轮廓) 指定网格物体轮廓的重要性等级。您可以从 最低正常最高 中选择。选择较高的设置会造成轮廓简化,从而能够更好地保存网格物体的几何形状,但是会产生较高的三角形计数。
Texture(纹理) 指定纹理密度的重要性等级。您可以从 最低正常最高 中选择。选择较高的设置会造成纹理简化,从而避免纹理拉伸 artifact,但是会产生较高的三角形计数。
Shading(着色) 指定着色质量的重要性等级。您可以从 最低正常最高 中选择。选择较高的设置将造成着色简化,从而能够更好地保存着色质量,但是会产生较高的三角形计数。
Welding Threshold(焊接阈值) 此距离范围内的顶点将自动相互焊接。这样有助于消除较小的面。利用大值会产生不良结果。
Hard Edge Angle Threshold(硬边角度阈值) 如果角度大于各面之间的这个值,将在面之间产生硬边。较小的角度将产生柔化边缘。

LOD 组

LOD 组用于定义默认 LOD 设置,以及一些在全局层面修改静态网格物体的选项。

“组”在 Engine.ini 文件的 [StaticMeshLODSettings] 部分定义。例如:

[StaticMeshLODSettings]
LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=0.5,SilhouetteImportance=4)
SmallProp=(NumLODs=4,LODPercentTriangles=0.5)
LargeProp=(NumLODs=4,LODPercentTriangles=0.5)
Vista=(NumLODs=1)
Foliage=(NumLODs=1)

这些设置可定义五个 LOD 组:

无需修改代码,仅编辑 INI 即可添加或移除 LOD 组。附加 LOD
组将自动出现在编辑器 UI 中。未移除组中的网格物体将使用代码确定的默认设置。 也可以通过定义非LOD 组在 INI 中覆盖这些默认设置。

组默认设置

下列设置用于定义每个组的默认设置。仅在网格物体已导入或 网格物体的 LOD 组已更改时应用。

设置 说明
NumLODs 要生成的默认 LOD 数量。此数值必须在 1 至 4 之间。
LightMapResolution 要使用的光照贴图分辨率。
BasePercentTriangles 要在基础 LOD 中保留的三角形百分比,位于 0.0 至 1.0 之间。
LODPercentTriangles 每个 LOD 约简的三角形百分比。例如,如果针对某个具有 4 个 LOD 的网格物体将此值设为 0.5,LOD0 拥有 5000 个三角形,则剩余的 LOD 依次分别拥有 2500、1250 和 625 个三角形。
MaxDeviation LOD 表面可与本地坐标内基础 LOD 偏离的最大距离。
WeldingThreshold 如果两个顶点之间的距离小于此值,它们就会焊接在一起。
HardAngleThreshold 如果两个三角形之间的角度大于此值(用度数表示),它们之间的边缘上的法线就不光滑。
SilhouetteImportance 较高的值将在生成 LOD 时设法保存对象的轮廓。
TextureImportance 较高的值将在生成 LOD 时设法防止纹理拉伸。
ShadingImportance 较高的值将在生成 LOD 时设法尽量减少对正常着色的更改。

组的全局设置

下列设置可用于更改组内的所有网格物体。这些设置对新网格物体和现有网格物体均会产生影响:

设置 说明
BasePercentTrianglesMult 进一步约简基础 LOD。例如,如果此值设为 0.9,该组内所有网格物体的基础 LOD 都将约简 10% 的三角形。
LODPercentTrianglesMult 进一步约简每个 LOD 的三角形。与 BasePercentTrianglesMult 相似,但是不适用于基础 LOD。
MaxDeviationBias 调整约简期间所有网格物体的最大偏差。
WeldingThreshold 调整约简期间所有网格物体的焊接阈值。
HardAngleThreshold 调整约简期间所有网格物体的硬边角度阈值。
SilhouetteImportance 调整约简期间所有网格物体的轮廓重要性等级。
TextureImportance 调整约简期间所有网格物体的纹理重要性等级。
ShadingImportance 调整约简期间所有网格物体的着色重要性等级。

Simplygon®

Simplygon

Simplygon 通过尽可能多地移除网格物体的信息,同时不降低一定屏幕大小的 LOD 质量,自动生成具有特定像素分辨率的游戏就绪型 LOD 模型 (LODs)。 Simplygon 采用专有网格物体约简方法,可保留几何 LOD 的完整性和 LOD 切换的视觉质量,从而生成可在三 A 级游戏中直接使用的 AutoLOD。

虚幻引擎 4 利用 Simplygon 提供高质量网格物体约简,且无需离开虚幻编辑器。开发者可以快速简化网格物体,生成 LOD,然后立即在他们的贴图中看到成果。