设置自动LOD生成

如何在UE4中使用自动LOD生成系统。

Windows
MacOS
Linux

ALC_Header.png

自动LOD生成系统允许您自动减少静态网格体的多边形计数,以使用虚幻引擎4(UE4)编辑器创建LOD。自动LOD生成使用所谓的二次网格体简化来帮助生成静态网格体的LOD。二次网格体简化的工作原理是计算折叠一条边(通过合并两个顶点)所产生的视觉差异量。然后它选择视觉冲击量最小的边并折叠它。当这种情况发生时,该工具将选择放置新合并顶点的最佳位置,删除所有同时随边折叠的三角形。它将继续折叠边,直到达到请求的三角形目标数量。在下面的指南中,我们将向您展示如何在UE4项目中设置和使用自动LOD生成系统。

设置

在下节中,我们将创建一个包含 初学者内容包(Starter Content) 的新项目,然后打开一个要使用的静态网格体资源。

在教程指南的这一部分中,我们将使用初学者内容包附带的 SM_Rock 静态网格体。尽管如此,您仍可以随心使用您选择的任何静态网格体。

  1. 如果您尚未完成上述操作,那么请打开或创建一个新的UE4项目,确保它已经添加了 初学者内容包(Starter Content)

    单击显示全图。

  2. 项目加载完成后,找到 SM_Rock 静态网格体,双击它以在 静态网格体编辑器(Static Mesh Editor) 中将其打开。

    单击显示全图。

创建LOD

有两种不同的方法可以生成LOD。第一种方法(Epic推荐的方法)是使用 LOD组(LOD Group) 预设,它根据预先配置的设置自动创建LOD。第二种方法是您自行设置LOD。下面,您将看到关于如何使用各个LOD创建方法的详细描述。

使用LOD组

使用LOD组是在UE4中使用自动LOD工具创建LOD的首选方法。在以下一节中,我们将介绍如何在UE4项目中设置和使用LOD组。

  1. 首先,找到项目的 BaseEngine.ini 文件,并在文本编辑器中打开它。现在,查找“[StaticMeshLODSettings]”部分。如果您在BaseEngine.ini文件中没有看到此条目,请将以下代码复制并粘贴到BaseEngine.ini文件中。

    [StaticMeshLODSettings]
    LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=50,PixelError=12,SilhouetteImportance=4,Name=LOCTEXT("LevelArchitectureLOD","Level Architecture"))
    SmallProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("SmallPropLOD","Small Prop"))
    LargeProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("LargePropLOD","Large Prop"))
    Deco=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("DecoLOD","Deco"))
    Vista=(NumLODs=1,Name=LOCTEXT("VistaLOD","Vista"))
    Foliage=(NumLODs=1,Name=LOCTEXT("FoliageLOD","Foliage"))
    HighDetail=(NumLODs=6,LODPercentTriangles=50,PixelError=6,Name=LOCTEXT("HighDetailLOD","High Detail"))

    从本节中添加、删除或调整条目将添加、删除或调整LOD组在使用时的工作方式。

  2. 现在,打开UE4编辑器,然后在 内容浏览器(Content Browser) 中双击您希望为其生成LOD的静态网格体。对于本例,我们将使用 SM_Rock,它随初学者内容包一起提供。

  3. 现在在静态网格体编辑器中打开静态网格体,转到 详细信息(Details) 面板,并展开 LOD设置(LOD Settings) 部分。

    单击显示全图。

  4. 在LOD设置(LOD Settings)部分,单击 LOD组(LOD Group) 按钮,并从显示的列表中选择 小型道具(SmallProp) 选项。

    单击显示全图。

  5. 然后您会收到一条通知,即您所做的操作将用小型道具中的新设置覆盖当前设置。按下 是(Yes) 按钮以继续。

    ALC_PM_02.png

  6. 静态网格体编辑器现在应该已将四个新的LOD条目(LOD0、LOD1、LOD2和LOD3)添加到 详细信息(Details) 面板中。如果单击各个LOD条目,您将注意到这些设置对应于项目的BaseEngine.ini文件中的“StaticMeshLODSettings”中定义的设置。

    单击显示全图。

    请确保 自动计算LOD距离(Auto Compute LOD Distances) 被选中,因为它将帮助确定LOD使用哪个屏幕大小。因为该算法知道每条边折叠会增加多少视觉差异,所以它可以使用这些信息来确定在什么距离上误差量是可以接受的。将此设置关闭意味着需要手动设置每个LOD的屏幕大小,这可能会导致误差。

现在,使用不同的LOD组(LOD Group)设置进行实验,看看它们将如何为您的对象创建LOD。在下节中,我们将介绍如何手动创建LOD。

手动创建LOD

在本节中,我们将介绍如何手动设置和创建项目资源的LOD。

虽然下面的方法将为您创建LOD,但Epic建议您使用上一节中描述的LOD组方法。

  1. 在静态网格体编辑器的 详细信息(Details) 面板中,展开 LOD设置(LOD Settings) 部分,并查找 LOD数量(Number of LODs) 选项。

    单击显示全图。

    LOD组(LOD Group) 提供了一个预设列表,用于快速为项目选择正确的LOD设置。在BaseEngine.ini中的“[StaticMeshLODSettings]”下,您可以为每个项目更改这些设置。我们鼓励您主要通过使用LOD组而不是控制每个LOD的细节,为您的项目设置良好的类别。

  2. LOD数量(Number of LODs) 设置为 ,然后按 应用更改(Apply Changes) 按钮将四个(新的)LOD添加到网格体中。

    单击显示全图。

    请确保 自动计算LOD距离(Auto Compute LOD Distances) 被选中,因为它将帮助确定LOD使用哪个屏幕大小。因为该算法知道每条边折叠会增加多少视觉差异,所以它可以使用这些信息来确定在什么距离上误差量是可以接受的。将此设置关闭意味着需要手动设置每个LOD的屏幕大小,这可能会导致误差。

  3. 按下 LOD1 旁边的白色小三角形展开该部分,然后按下 降低设置(Reduction Settings) 旁边的白色小三角形。

    单击显示全图。

  4. 降低设置(Reduction Settings) 下,找到 三角形百分比(Percent Triangle) 部分,并将其设置为 75,然后单击 应用更改(Apply Changes) 按钮。

    单击显示全图。

  5. 现在,展开 LOD2LOD3,将LOD2的 三角形百分比(Percent Triangle) 设置为 25%,将LOD3的 三角形百分比(Percent Triangle) 设置为 12%。完成后,您将看到每个LOD在LOD名称旁边使用许多三角形(如下图所示)。

    单击显示全图。

  6. 现在,在静态网格体编辑器中,当您把摄像机移动到离目标更近和更远的地方时,您将能够看到LOD的变化。如果LOD中的视觉变化很难注意到,则有关LOD更改的信息将显示在屏幕的左侧。

    单击显示全图。

既然您现在已为这个静态网格体设置了LOD,那么当您将这个静态网格体放置到一个关卡时,它会根据摄像机与其相隔的距离自动选择显示哪个LOD。

最终结果

在下面的文档中,我们了解了UE4提供的自动LOD生成工具的两种不同的使用方法。请记住,在使用自动LOD工具时,最好首先设置和定义满足项目需求的不同LOD组,然后使用LOD设置(LOD Settings)下的LOD组(LOD Group)下拉菜单选择这些不同的设置。

标签

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见