Choose your operating system:
Windows
macOS
Linux
从引擎4.22版本开始,UE4已废弃对Simplygon的支持,并且以后不再提供该支持。您可以继续从Simplygon获取更新,但必须自己将其集成到引擎中。作为替代方案,我们有自己的内部解决方案,您可以在 骨架网格体简化 文档页面上查看更多相关内容。
本节介绍如何使用Simplygon功能为虚幻引擎4中的静态网格体创建LOD。如果您没有Simplygon证书,标准FBX管道有一种为静态网格体导入LOD的方法。更多详情,请参阅 FBX静态网格体管道 文档。
静态网格体 管道提供创建预设和自动生成完整的细节层级(LOD)链的能力,这是一项核心功能。这允许美术师创建一个网格体,导入该网格体,并创建优化版本,以便在无需额外工作的情况下在远处渲染,从而提高渲染性能。
主要功能包括:
-
LOD组,用于定义默认的细节层级设置、光照贴图分辨率,并允许全局覆盖(例如将所有SmallProp LOD降低10%)。您可以在导入时选择一个LOD组,并在静态网格体编辑器中随时进行更改。
-
根据每个平台或设备定义和覆盖LOD组设置。
-
法线和切线始终从FBX中导入。您随时可以选择是使用导入的法线/切线,还是让虚幻重新计算。
-
简化了在 静态网格体编辑器 中设置和调整LOD的工作流程。
-
使用Simplygon自动生成LOD。
LOD管理
静态网格体编辑器(StaticMesh Editor) 中的 细节层级(Level of Detail) (LOD)面板提供根据设置的规则(即以 LOD组 的形式或基于每个网格体和每个LOD)管理和生成完整的细节层级网格体链的能力。
LOD生成
自动LOD生成使用
要应用一个LOD组,请执行以下操作:
-
在 LOD设置 中选择要使用的 LOD组(LOD Group) 。
-
按 应用 按钮以创建新的LOD网格体。
要生成一个自定义LOD链,请执行以下操作:
-
在 LOD设置 中选择要生成的LOD网格体数量。
您还可以选择一个 LOD组(LOD Group) 用作起点,然后从此处更改设置。
-
为要生成的每个LOD网格体设置 简化设置 。
-
按 应用 按钮以创建新的LOD网格体。
LOD预览
可以使用工具栏中的功能按钮来预览LOD网格体:
LOD设置
设置 |
说明 |
---|---|
LOD组(LOD Group) |
指定要用于网格体的 LOD组 。 |
LOD数量(Number of LODs) |
设置网格体的LOD数量。当该值被修改后,LOD列表将进行更新,但在按应用按钮之前不会进行任何实际更改。 |
自动计算LOD距离(Auto compute LOD Distance) |
如果启用,则使用一个简单的错误度量来确定LOD之间发生转换的距离。否则,将使用每个LOD的距离(Distance)属性来确定何时发生到该LOD的转换。 |
LOD距离误差(LOD Distance Error) |
在使用自动计算时,缩放LOD之间发生转换的距离。 |
编译设置
设置 |
说明 |
---|---|
重新计算法线(Recompute Normals) |
如果启用,虚幻将重新计算平滑组。否则,将保留FBX文件中的平滑组。 |
重新计算切线(Recompute Tangents) |
如果启用,虚幻将重新切线。否则,将保留FBX文件中的切线。 |
移除退化(Remove Degenerates) |
如果启用,将移除导入过程中发现的退化三角形。禁用该选项将保留发现的退化三角形。通常,应该启用该选项。 |
使用全精度UV(Use Full Precision UVs) |
如果启用,网格体的UV将存储为32位浮点数,而不是16位浮点数。 |
简化设置
设置 |
说明 |
---|---|
百分比三角形(Percent Triangles) |
编辑器将简化网格体,直到它拥有指定的确切数量的三角形。 |
最大偏差(Max Deviation) |
与基础网格体的最大偏差,以边界球体的百分比表示。编辑器使用所需的质量来计算网格体的误差度量。该误差度量防止工具简化网格以致于使新网格体的表面与源网格体的表面偏离太多。这种方法的优点是,该工具可以在源网格体的一定偏差范围内智能地优化网格体,而不需要在任意的三角形极限处停止。 |
轮廓(Silhouette) |
指定网格体轮廓的重要性。您可以从 关闭(Off) 、 最低(Lowest) 、 低(Low) 、 正常(Normal) 、 高(High) 和 最高(Highest) 中进行选择。选择一个较高的设置会促使简化更好地保存网格体的几何形状,但会增加三角形的数量。 |
纹理(Texture) |
指定纹理密度的重要性。您可以从 关闭(Off) 、 最低(Lowest) 、 低(Low) 、 正常(Normal) 、 高(High) 和 最高(Highest) 中进行选择。选择一个较高的设置会促使简化避免纹理拉伸瑕疵,但会增加三角形的数量。 |
着色(Shading) |
指定着色质量的重要性。您可以从 关闭(Off) 、 最低(Lowest) 、 低(Low) 、 正常(Normal) 、 高(High) 和 最高(Highest) 中进行选择。选择一个较高的设置会促使简化更好地保留着色质量,但会增加三角形的数量。 |
融合阈值(Welding Threshold) |
与其他项目在此距离内的顶点将自动进行融合。这可以帮助消除较小的面。使用较大的值可能会产生不理想的结果。 |
硬边角度阈值(Hard Edge Angle Threshold) |
面与面之间的角度大于此值将导致面与面之间产生硬边。较小的角度会产生软边。 |
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)
这些设置定义5个LOD组:
-
LevelArchitecture
-
SmallProp
-
LargeProp
-
Vista
-
Foliage。
只需编辑INI,即可添加和移除LOD组,无需修改代码。额外的LOD组将自动出现在编辑器UI中。已删除组中的网格体将使用由代码确定的默认设置。还可以通过定义非LOD组,在INI中覆盖这些默认设置。
组默认设置
以下设置定义每个组的默认值。默认值只在导入网格体或更改网格体的LOD组时才应用。
设置 |
说明 |
---|---|
LOD数量(NumLODs) |
要生成的默认LOD数量。该值必须在1-4的范围以内。 |
光照贴图分辨率(LightMapResolution) |
要使用的光照贴图分辨率。 |
基础百分比三角形(BasePercentTriangles) |
基础LOD中要保留的三角形百分比,0.0-1.0。 |
LOD百分比三角形(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) |
调整所有网格体在简化过程中使用的着色重要性。 |
UE4上的Simplygon
Simplygon用于为特定的像素分辨率自动生成可供游戏使用的细节层级模型(LOD),具体的方法是针对特定的屏幕大小,在不降低LOD质量的同时尽可能多地移除信息。Simplygon使用了一种专有的网格体简化方法,这种方法保留了LOD的几何完整性和LOD切换的视觉质量,并生成了可直接在三A游戏内部使用的自动LOD。
UE4利用Simplygon提供高质量的网格体简化,同时无需退出虚幻编辑器。开发人员可以快速简化网格体,生成LOD,并立即在贴图中看到结果。