生成光照贴图UV

概述如何在虚幻引擎4中生成你自己的光照贴图UV。

Choose your operating system:

Windows

macOS

Linux

展开光照贴图的UV 很耗时,缓解此问题的一个方法是使用虚幻引擎4(UE4)的自动生成工具在导入时根据你的现有纹理UV生成光照贴图UV,或通过 静态网格体编辑器 生成UV光照贴图。

警告和注意事项

默认情况下,自动生成的光照贴图UV将从静态网格体的第一个UV(UE4中的UV通道0)重新打包现有的UV图表。该UV通常用作纹理UV,因此UV图表的布局或设置可能不适用于光照贴图UV,即使使用UE4中的自动生成工具也是如此。

在创建自动生成的光照贴图UV时,请考虑以下几点。

  • 生成的光照贴图UV需要一个现有的源UV来重新打包,而这个过程只取决于所使用的UV质量,这意味着如果UV图表没有被分解并正确地放置,则重新打包的结果不可能令人满意。

  • 重新打包期间,UE4不会分割UV图表边缘来创建单独的UV群。它仅根据源UV索引重新打包现有的UV图表。

  • UV图表在生成时就被标准化,并使用独立缩放或拉伸的图表最大限度地覆盖UV空间。

导入选项设置

在导入过程中,在启用 生成光照贴图UV(Generate Lightmap UVs) 时,默认情况下将为任何静态网格体生成一个光照贴图UV。该光照贴图UV将根据静态网格体的UV索引1生成(UE4中的UV通道0),并分配到 光照贴图坐标索引(Lightmap Coordinate Index) 1。

点击查看大图。

你可以使用静态网格体编辑器检查生成的光照贴图UV。详情请参阅 为光照贴图展开UV

光照贴图生成设置

静态网格体编辑器的 构建设置(Build Settings) 包含用于生成和重新包装光照贴图UV的设置。这些选项使你能够生成光照贴图UV,而不必在导入期间或导入后这样做(如果你想要完善生成的光照贴图UV)。

点击查看大图。

启用 生成光照贴图UV(Generate Lightmap UVs) ,以使用下表中详述的UV生成选项控制生成和重新打包光照贴图UV的方法:

GenerateLightmapUVs.png

属性

说明

最小光照贴图分辨率(Min Lightmap Resolution)

规定包装UV时UV图表所需的最小填充量。该目标值确保包装的纹素精确到使用的最小光照贴图分辨率。当 光照贴图分辨率(Lightmap Resolution) 低于此值时,它将限制可能发生的光源和阴影渗透。

源光照贴图索引(Source Lightmap Index)

选择用于生成光照贴图UV的UV通道。

目标光照贴图索引(Destination Lightmap Index)

设置将存储生成的光照贴图UV的UV通道。

生成光照贴图UV

以下步骤将演示如何从静态网格体编辑器生成一个新的光照贴图UV。

  1. 打开 静态网格体编辑器(Static Mesh Editor) ,并在 细节(Details) 面板中导航到 LOD0 构建设置(Build Settings)

    点击查看全图

  2. 使用以下设置生成光照贴图UV:

    GenerateLightmapSettings.png

    • 启用 生成光照贴图UV(Generate Lightmap UVs)

    • 最小光照贴图分辨率(Min Lightmap Resolution) 设置为理想的2的幂,这应是该网格体使用过的最低光照贴图分辨率。这会确保减少可能影响UV图表的光源和阴影瑕疵。

    • 通常, 源光照贴图索引(Source Lightmap Index) 应保留为 0 ,或设置为一个用于生成该光照贴图UV的现有UV通道仅可选择可用的UV通道。

    • 目标光照贴图索引(Destination Lightmap Index) 设置用于创建或存储光照贴图UV的UV通道。它可以是任何值(其中,值表示该静态网格体的当前UV通道的实际数量)加1。

  3. 单击 应用更改(Apply Changes)

  4. 细节(Details) 面板中的 一般设置(General Settings) 下,进行以下设置:

    GeneralSettings.png

    • 输入一个 光照贴图分辨率(Lightmap Resolution) ,默认情况下,该静态网格体对放置在关卡中的任何实例都应使用该分辨率。输入的分辨率应高于 构建设置(Build Settings) 中用于生成光照贴图UV的 最小光照贴图分辨率(Min Lightmap Resolution)

    • 光照贴图坐标索引(Lightmap Coordinate Index) 设置为当前用于你的光照贴图UV的UV通道。通常,这应该与 构建设置(Build Settings) 中用于生成光照贴图UV的 目标光照贴图索引(Destination Lightmap Index) 匹配。该UV通道规定在光照构建过程中生成光照贴图纹理时使用哪个UV通道。

在本例中,纹理UV被用来创建新的光照贴图UV。纹理UV作为光源用于重新打包光照贴图UV,纹理UV采用了尽量不浪费任何纹理空间的布局。通过这种方法,网格体的各个部分根据其重要性被放大(或缩小),以获得足够的纹理分辨率,而不浪费纹理中的空间。

UV通道 0 | 纹理UV布局

UV通道1 | 生成的光照贴图UV布局

生成光照贴图UV时,将其缩放到具有相同的密度(标准化),然后将其包装到UV空间中,并使各个UV图表之间有足够的填充,避免光源构建时产生光源和阴影瑕疵。这里,你可能会注意到生成的光照贴图UV中有一些浪费的空间,但这可以忽略不计,不需要在自定义工具中重新调整该UV来利用这些空间。

重新生成现有的光照贴图UV

可以使用静态网格体编辑器的 构建设置(Build Settings) 重新生成(或重新打包)现有光照贴图UV。为静态网格体重新生成光照贴图UV有以下好处:

  • 它使你能够更改UV图表之间的填充,以使用更高或更低的 最小光照贴图分辨率(Min Lightmap Resolution) ,而无需重新导入网格体。当你拥有大量单独的UV图表时,这是最理想的处理方法,可以获得一个更紧密的光照贴图UV包装。

  • 它让你能够根据任何 源光照贴图索引(Source Lightmap Index) 重新打包任何现有的光照贴图UV,包括之前生成的光照贴图UV通道。

以下步骤演示如何从导入的静态网格体重新生成自定义UV:

  1. 打开 静态网格体编辑器(Static Mesh Editor) ,并在 细节(Details) 面板中导航到 LOD0 构建设置(Build Settings) ,以设置以下选项:

    Repack_SrcDestValues-1.png

    • 可选 最小光照贴图分辨率(Min Lightmap Resolution) 设置为一个较高或较低的新值。这会调整UV图表之间的填充量。

    • 源光照贴图索引(Source Lightmap Index) 设置为你要重新打包的UV通道

    • 目标光照贴图索引(Destination Lightmap Index) 设置为与源光照贴图索引(Source Lightmap Index)相同的UV通道。

  2. 单击 应用更改(Apply Changes)

以下是初始导入的自定义光照贴图UV与静态网格体的对比。你会注意到UV图表之间被不成比例地缩放,但完全可以接受作为光照贴图UV,因为它符合无重叠UV的标准。重新生成UV将对所有UV图表执行标准化,得到均匀分布的光源和阴影烘焙结果。此外,还将为各个UV图表之间提供适当的填充量,以确保减少阴影和光源泄露瑕疵。

导入自定义光照贴图UV

使用最小光照贴图分辨率(256)重新打包光照贴图

值得注意的是,自定义光照贴图UV更多地注重于覆盖玩家将在较近距离查看的部分。通过增加某些部分的覆盖率,可以降低光照贴图分辨率,从而获得与重新打包的光照贴图分辨率相同的结果。如果这是你应该在UE4之外为你的特定资源解决的问题,你可以自己进行判断。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消