人气 226

[光影与构成] 【UE4_光照】UE4中光照的常见问题和解决方案(三) [复制链接]

九艺网 2020-12-15 18:09:24

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
继续分享学习啊!UE4光照烘焙这一块常见问题整理的第三章。内容有点多不过值得看至少值得收藏。

相关阅读:

       【UE4_光照】UE4中光照的常见问题和解决方案(一)使用手册

【UE4_光照】UE4中光照的常见问题和解决方案(二)使用手册


光照贴图分辨率/阴影质量

每一个项目都有其独特的艺术方向和目标,所以本节意在介绍一些常见的概念,提供一些基本知识,便于你开始实现通过静态照明想要达到的效果。我们在此提供的设置并不一定始终适合于每一个项目。

包含 3 个静态网格的样本场景

该场景中有 3 个对象,两面墙和一个地板网格。每一个对象都有自己的阴影,阴影烘焙到纹理中,称为光照贴图。该光照贴图将投射到自身的任何阴影/照明信息存储到该纹理中。这通常由美工在创建资产时处理。

想要进一步了解光照贴图以及如何有效地创建光照贴图?

换言之,如果我想提高墙投射到门口的阴影的分辨率,我不会调整门口,而是调整地板的光照贴图分辨率。这是阴影所投射到并烘焙到光照贴图的位置。

明确这一点之后,我们可能只需要提高一部分网格的光照贴图分辨率。每个网格都有自己的光照贴图分辨率,选择网格后可以通过“细节”面板进行设置,也可以通过网格编辑器进行设置。

对于该光照贴图质量演示,我们只需研究地板网格的光照贴图分辨率即可。在调整 LM 分辨率时,确保使用 2 的幂次方(32 [引擎默认值]、64、128 等),但 BSP 例外(详情见下文)

该光照贴图分辨率的质量主要取决于两个因素:网格大小和光照贴图 UV 中的 UV 壳的大小。

静态网格的光照贴图分辨率

140648fante3qygggbmgst.jpg
分辨率 = 64

140648qqjzntq5atkd73t3.jpg
分辨率 = 128

140648hi2m3m68i668681l.jpg
分辨率 = 512

需要注意的是,在 BSP 上使用光照贴图与在静态网格上使用光照贴图的主要差异在于值不会增大,而是降低才能获得更好的分辨率。

BSP 光照贴图分辨率

140649z2rdjkvm7edvlki0.jpg
分辨率 = 32

140649mliia1a1epux3e1i.jpg
分辨率 = 24

140649bl82u5khhizdluki.jpg
分辨率 = 16

140649w2vk4cph1vl4upj6.jpg
分辨率 = 8

虽然调整光照贴图分辨率可以获得更好的结果,但是仍有一些取舍。如果使用较小网格,那么光照贴图分辨率较低的地板会有更好的效果,如果使用更大的网格,就需要增大光照贴图分辨率,纹理也会占用更多游戏资源。

景观光照贴图分辨率

140650o0p7q32iaqiapq0i.jpg
分辨率 = 1.0

140650g7mlgq5sz8mmzqm4.jpg
分辨率 = 2.0

就像在使用 BSP 和静态网格时设置静态照明分辨率的差异一样,景观也有稍许不同。景观光照贴图分辨率使用一个乘数,为烘焙后的阴影提供更好的分辨率。较大景观可能需要更大的分辨率值,而较小景观则相反。

在“细节”面板中,你可以选择增大静态照明分辨率,其默认值为 1。调整该设置时,只需以整数为增量逐渐增大即可,直到达到所需分辨率

间接照明的阴影接缝/明暗差异

通常在构建项目照明时,在间接照亮区域中,可能会注意到模块化平面之间有时会出现明暗差异,通常是墙面、地面和天花板。这是目前由于对静态间接照明的处理方式而导致的负面影响,无法轻易解决。希望将来能够加以改善。

以下是对该问题的详细剖析,方便对此尚不熟悉的读者学习。

照明点亮了一个表面,然后光线反射到了周围的表面上。这种类型的反射光称为间接照明。有些表面也会被直接照亮,同时也会接收到一些反射光,比如下图中的墙,一部分是完全照亮的,一部分接收了间接照明,因此在有阴影的角落出现了明暗问题

140651mcwli5k9zt9is50l.jpg
光线反射示例

如果接收间接照明的表面是纯平面,就会产生下图这样的明暗差异:

140651k02zvqqb7wz62tqv.jpg
间接照明失真

其过程是这样的,每一个静态网格都会发送到 CPU,按照接收的顺序通过不同的 CPU 线程进行处理。这就意味着,虽然每一个静态网格都通过光照系统构建了自己的照明,而其他网格并不知道自己前面的网格具有怎样的明暗设置,也就无法参考边缘来确保匹配。因此导致各个平面之间存在轻微的明暗差异。

现在大家一定在想,我该怎么解决这个问题呢?

在全局设置的光照系统部分下,可以调整一些设置来获得更好的效果。

  • 间接照明质量可以设置为 2 或更大的值。
  • 间接照明平滑度通常可以设置为 .65-.75 的范围。该值越低,失真的可能性越大,导致光照贴图看起来就像有污渍。
  • (仅建议高级用户使用!!)静态照明关卡比例可以调整为较低值,也可以获得更好的融合效果。但是这会更改为整个关卡计算照明的比例。如果将该值降低,会明显增加构建时间,但结果也会更好。该设置通常被建筑可视化领域的从业者们使用,游戏开发者则不常用,除非具有特定的原因并理解该选择的效果。

调整间接照明的质量时,降低照明平滑度总是很好的做法,这样可以获得更好的结果。这样有助于各个面更自然地衔接起来,但不一定会彻底解决该问题,而且也可能会产生其他负面影响。应该在项目或测试贴图中进行测试,充分理解各种调整的影响以及原因。

还可以执行一些其他步骤来降低这种失真的明显程度,并执行一些其他操作来改进项目设计。

尽量不要将关卡设计得过于模块化!这一点十分重要。有些人可能会觉得,把一面中等面积的墙体分解成一块块小型的精简拼块,然后像乐高一样打包在一起是最好的做法,但这就会有明暗差异的风险,而且现在会有更多的 Actor,导致绘图调用增加,资产可见性检查量也会增加。最好是就设计一面墙,这样更为合理,而不是许多小的拼块。这样绘图调用数量降低,照明问题也会减少。

只需要使用一些其他的几何结构来隐藏可能存在接缝的位置即可,比如柱状体、邻接墙或踢脚线。

构建照明时出现的“重叠 UV 错误”是什么意思?

在使用静态或静止照明时,必须在网格中使用两个 UV,否则在构建照明时就会看到如下警告:

消息日志,照明结果

这意味着需要为光照贴图建立第二个 UV 通道,否则编辑器就会使用现有的纹理 UV 作为光照贴图,从而引起这一类的错误。

要解决该问题,可以调整光照贴图的 UV,以便不会出现重叠面。

该操作可以在编辑器中通过生成光照贴图执行,也可以使用所选的建模软件来创建和编辑 UV。

原始 UV 和结果

140651xp0nahpi63o336hg.jpg
重叠 UV

140652hvcovkqm8xxyxqax.jpg
编辑器中的结果

更正后的 UV 和结果

140652vaiftvi532ow3i85.jpg
更正后的 UV

140652d1xktngdoxg4twgf.jpg
编辑器中的结果

请注意,最终结果中的 UV 没有重叠面,所以可以正确烘焙纹理的阴影/照明信息,从而在构建照明后应用到网格。

如果有重叠面,就会因为无法正确烘焙照明信息而产生不正确的明暗效果。

如何在编辑器中生成光照贴图 UV?

在 4.5 版本中,编辑器会自动在导入时或使用网格编辑器生成 UV。

我们假设你想要从网格编辑器进行设置。

打开想要为其创建光照贴图的网格。

在右侧找到如下面板:

140652puv3a6383hb8z3vz.jpg
静态网格编辑器“细节”面板

该面板允许您创建光照贴图通道,但这里不能直接控制光照贴图分辨率,也不能指定坐标索引。这些设置将在下文进一步介绍。

“构建设置”选项卡中需要重点关注的设置包括:

生成光照贴图 UV = 确保选中该项。

最低光照贴图分辨率 = 这是你希望光照贴图分辨率具有的最小值。

源点光照贴图索引 = 这是要从中生成光照贴图 UV 的源点。

目标光照贴图索引 = 这是在创建后将用于存储该 UV 的位置。

对于大多数资产而言,上述设置足以满足需要。关键是要确保选择正确的源点光照贴图索引。这是通常用于纹理的 UV。该 UV 中的 UV 壳/岛会重新打包,避免出现重叠面,这对于使用光照贴图而言至关重要。

对于光照贴图分辨率设置,从较低值开始使用也并不是坏事,因为不一定会用到这个分辨率。如果决定使用较高分辨率,无需回到这里更改设置,除非你知道这样会改善光照贴图烘焙。在大多数情况下不必如此。

单击“应用更改”之后,可以验证是否创建了光照贴图,查看是否有任何错误。

要执行此操作,可以转至网格编辑器工具栏,单击 UV 图标来显示 UV,并使用右侧的下拉按钮来选择 UV 通道 1,就可以看到新创建的光照贴图。

应该类似于以下内容:

140654ab73jb2aep83pp33.jpg
静态网格编辑器,UV 通道选择

至此本过程还未结束。我们还需要指定正确的 UV 通道来用于光照贴图。

在网格编辑器右侧的“细节”面板中,找到“静态网格设置”选项卡?

140654yf2333mea6atxgxh.jpg
静态网格编辑器细节,光照贴图设置

  • 在该选项卡中,需要调整所需的光照贴图分辨率。

32 是默认光照贴图分辨率。该值适用于较小物体。对于较大物体,可能需要使用更高的分辨率。

确保以 2 的幂次方调整该值。(即32、64、128、256 等)

  • 需要核实的下一个设置时光照贴图坐标索引现在是否指向正确的通道。确保设置为你在上述构建设置中所设置的通道。通常应该设置为 1。

在使用这些设置后,你现在应该具有正确的光照贴图分辨率了。

但这里也有一些注意事项,可能需要使用 Blender、3Ds Max 或 Maya 之类的建模程序来彻底更正该问题。

生成的光照贴图不会导致现有 UV 中来自纹理 UV 通道 1 的接缝断开。只会重新打包现有的 UV 布局,以更好地适应光照贴图 UV 的需要。

例如,可以想象一个圆柱体。如果要把这些面全部平铺展开,需要在圆柱体的侧面剪开一条线才可以。在建模程序中,这不是必需操作,具体取决于你是如何设置要使用的纹理 UV 的。如果切割这个侧面不是为了平铺展开,那么通过网格编辑器生成的 UV 就不起作用,但仍会在构建照明后引起重叠 UV 警告。

如何使用静态照明控制全局光照?即反射的优点

在使用静态照明时,需要构建照明来查看结果。光照系统用于编译和生成纹理,通过将场景的照明和阴影信息烘焙到光照贴图纹理,将该信息存储到纹理中。

默认情况下,光照系统设置为使用三次光线反射,以通过静态照明控制 GI。如果还需要进一步设置,需要通过“全局设置”选项卡直接更改光照系统设置来获得不同的结果。我们可以通过更改光线投射的反射次数来影响全局光照。

要启用“全局设置”选项卡,需要转至工具栏,选择“设置 > 全局设置”

140654pimhb4vzc0ruvnhz.jpg
全局设置

140655bjg9pbxg3x9pts9x.jpg
默认光照系统全局设置

单击右侧“细节”面板选项旁边的“全局设置”选项卡。

这里看到的很多设置都会影响通过光照系统处理照明的方式,从而直接影响场景。对于 GI,我们只会着重讲解第二个选项“间接光线反射次数”。该滑块的范围是 1 到 4。但只能通过手动输入值覆盖原有设置。

右侧显示的是默认设置。

全局光照样本场景,单一点光源位于 250(≈ 15W 灯泡)

140655o95cu0jijghuus9u.jpg
场景设置

140656th12bt1ttj2m3ion.jpg
0 次反射

140656tj88jtq58ftk5ftp.jpg
1 次反射

140656d2t7is7o1b1ju3o1.jpg
2 次反射

140656g9556v6966mfxmv6.jpg
3 次反射

140656m4j4hjdd55wvqxw4.jpg
4 次反射

140657opsvplueovwsrrus.jpg
100 次反射

第一次反射的计算时间最长。后续反射对实际构建时间具有较小影响,但视觉影响也会大幅降低。

想要进一步了解光照系统和全局光照?

https://docs.unrealengine.com/en-US/RenderingAndGraphics/Lightmass/index.html

为什么我的静态网格上有阴影斑点?或者如何清理这些不干净的光照贴图?

在 UE4 中,无论使用哪种类型的静态照明,出现污渍、斑点、污垢等都是十分常见的问题。但不要担心,因为我们可以通过光照系统设置来清理这些不干净的光照贴图。

首先,看到类似效果的原因是光照系统构建时 GI 反射产生的间接照明导致的。

为了最有效地重现此问题,下面这个简单的场景有两个房间。

样本场景

140657qdx9xz5gdegabpyh.jpg
外部

140657wkqzbbyddyn9g5nq.jpg
内部

该场景将使用“制作”质量进行照明构建。该场景使用“起步内容”包中的资产,这些内容可以添加到任何新建的项目当中。场景中的所有网格都使用光照贴图分辨率 256,除非另有说明。后期处理效果设置为默认值且具有眼部适应设置,以便更容易看清较暗的房间。

构建照明后得出以下结果:

初始照明构建,默认设置

140658y08aq12314z50z3e.jpg
第一个室内,直接照亮且有一次反射光

140658sepbyyzwc3vja8yy.jpg
第二个室内,完全通过间接照明照亮

可以借助简单粗暴的方法消除部分间接照明失真,也就是提高光照贴图分辨率,这样实际上会增大用于存储照明和阴影信息的纹理大小,但这并不总是最好的做法,比如可以使用较低分辨率并调整光照系统设置来达到高质量结果。在引擎中处理任何渲染应用,尤其是照明会增大纹理大小的情况下,解决此问题的这种方法未必总是对性能最有利的方法,甚至可能导致在后面的开发过程中产生更多性能问题。

例如,下面是光照贴图分辨率更改为 1024 的上述第二个室内。

初始照明构建,默认设置

140658zjfya5mya99m9oq7.jpg
第二个室内,光照贴图分辨率 256

140658p2qifb2kcjk1bbqf.jpg
第二个室内,光照贴图分辨率 1024

在该示例中,通过使用较高的光照贴图分辨率大幅减少了失真,但这也导致纹理内存增加为原来的 4 倍。还有一种更有利于性能的解决方案来处理这些间接照明失真,即对“全局设置”进行简单调整。

140659wz4dsd657kvdsb67.jpg
全局设置

您可以在该位置找到“全局设置”:

140659kxnx8hcvnfdzefno.jpg
全局设置

这是可以调整的光照系统设置:

间接照明质量:这会增大全局光照解算器计数,为需要高质量的关卡提高质量。

间接照明平滑度:这是要应用于间接照明的平滑度因子。

警告:间接照明质量使用大于 1 的值会大幅增加构建时间。

140659t1kr9uey3rku5coo.jpg
默认设置

140659qxtbtrg1j1beq8bs.jpg
示例设置 1

如上文“如何使用静态照明控制全局光照?即反射的优点”所述,你可能还想调整间接照明反射的次数来产生以下结果

140659ixjq5w6q6m5xm5m5.jpg
间接照明反弹次数 = 4

140700prcrc3c6h4xct66k.jpg
间接照明反弹次数 = 5

至此,对照明设置的调整足以隐藏一些纹理的失真效果,但如果这种方法不可行,也可以将每个网格的光照贴图分辨率直接增大到较高值。这里使用的光照贴图分辨率是 256。如果更改为 512,将会获得如下结果:

140700uvhn73vaavab67br.jpg
调整间接设置,512 光照贴图分辨率

140700ady99n6hwzmwztdy.jpg
不调整间接设置,1024 光照贴图分辨率

在本教程开始时,显示了一个使用 1024 光照贴图消除失真的比较效果。通过调整几项光照系统设置,失真效果有所减少,资产使用较低纹理分辨率呈现出较好的结果。

虽然这种方法深入探索了不在房间里设置任何照明的选项,并寻找各种方法减少由于间接照明导致的“不干净”失真,但必须注意的是,在这些区域中使用照明,即使是密度极低的无阴影投射光线,也会产生一定的效果。以上所列的方法可以作为起点,可能需要经历一些试验和错误才能得到更理想的结果。

想要进一步了解光照系统基本支持?

https://tinyurl.com/y4lwhb5u

想要进一步了解光照系统全局光照?

https://tinyurl.com/y6n5kkyd

左上角错误中的“需要重建照明”是什么意思?

140701mki0azgirie0f09r.jpg
错误消息

如果在使用 PIE(在编辑器中播放)、模拟或独立游戏时,视口左上角出现该错误,这只是表示需要为场景重建照明。这仅影响静态和静止照明。动态照亮的场景无需重建照明。

当照明因移动或修改照明 Actor 而导致失效时会产生此警告。这样会导致问题的原因是关卡中的渲染照明不能准确地表示关卡中当前的照明状态。要解决该错误,可以转至“构建”菜单并重建地图照明。

故障排除技巧

未构建 Actor 列表

有时会发现已经构建了照明,但仍会看到弹出该警告,指出有多个未构建的对象,但无法直接识别是哪些对象。

您可以从“开发者工具”菜单打开输出日志窗口。

输入命令 DumpUnbuiltLightInteractions 就会显示一列没有构建照明或者照明失效的 Actor。

这一列 Actor 对于确定所发生的问题十分有用。可能只是因为某个蓝图设置为静态但包含可移动组件,也可能是因为某个 Actor 是通过构造脚本放置的,然后构建照明后被移到了其他位置。

统计信息窗口

转至“窗口 > 统计信息”可以打开统计信息窗口。该工具可以用于确定构建照明的信息以及场景中设置了光照贴图分辨率的所有静态网格的信息。要排查特定 Actor 在照明构建过程中构建照明所需的确切时间,该工具十分有用。如果感觉某些进程十分缓慢,该工具可以帮助轻松识别照明构建时间较长的有问题对象。

照明质量比较,或制作 > 预览

当需要为某个关卡构建照明时,可以转至工具栏中的“构建 > 照明质量”并选择质量级别来设置光照贴图的照明构建质量。

默认情况下,该质量设置为预览。该设置具有最快的计算时间,而制作的计算时间最慢,但准确性要高得多。

“照明质量”设置位于以下位置:

照明质量设置

在以下演示中,用了一个封闭的房间显示所构建阴影的质量:(该场景与#为什么我的静态网格上有阴影斑点?或者如何清理这些不干净的光照贴图?所用的场景设置一样

照明质量设置,建筑

140701m7tb3lflft5bfv6t.jpg
预览

140701fx4x2x1jlkavr4j8.jpg

140702jj0qqqjeze20y022.jpg

140702p9wetjpnq5dvwtwc.jpg
制作

在该示例中,很容易看出默认的“预览”设置和“制作”设置的差异。在“制作”设置中,在前面几种质量设置中普遍存在的所有漏光现象几乎全部消失。这是发生漏光时排查照明问题的好方法。如果“制作”没有消除漏光问题,则需要查看光照贴图 UV 的设置方式,甚至可能需要检查关卡中的网格布局。

在以下场景中,雕塑静态网格的阴影质量调整并不明显。质量上有轻微的差异,但这个具体的对象不足明显地显示出来

照明质量设置,有机线条

140703ax1qljx6c6qzlz49.jpg
预览

140703pvtj36nizfispszf.jpg

140703d8zfp7faw5ony7pj.jpg

140703az7404x1guxl94qu.jpg
制作

142104z18v71wv0i58le1h.gif
雕塑照明质量

在该动画 Gif 中,质量差异相较于该预览是极其细微的。较为有机的形状应该也是这种行为。如果颜色和亮度相同,人眼会先注意到非有机直线(例如建筑直角),然后才会注意到弯曲或更有机的形状。需要注意的是,平坦地面上的阴影粗糙度是较大网格采用较低光照贴图分辨率所导致的结果。提高光照贴图分辨率会改善阴影定义的质量。

光照贴图错误颜色

选择“使用错误颜色”并使用“预览”或“中”照明质量设置时,通过“构建菜单”下拉按钮可以启用该选项。

140703q4zdzw4jjx571zwy.jpg
错误颜色选项

当光照系统遇到错误时,会用颜色表示错误类型,方便用户识别。以下是针对所遇到问题反映出的颜色类型。

橙色:因非唯一或重叠 UV 导致的。

绿色:因环绕 UV 或 UV 超出了 0,1 UV 空间范围导致的。

黄色:这是没有贴图的纹理元素,它们或者没有光照贴图区域,或者光照贴图分辨率过低(如果是 BSP)。

您可以在仍然适用的 UE3 文档中查看更多信息:

https://udn.epicgames.com/Three/LightmassTools.html#Lightmap error colors

查找“需要重建照明(X 个对象)”中引用的对象

有时,可能会遇到照明总是无效的问题,或者你可能调整了关卡中的某些设置,但没有意识到因此而导致了令人沮丧的“需要重建照明([数量] 个对象)”,但却不能轻松识别这 [数量] 个对象都是什么。

幸运的是,我们为你提供了一种简单的方法来获取此信息,帮助你更有效地跟踪、调查和解决照明无效的问题。

  • 首先转至“窗口 > 开发者工具 > 输出日志”以打开“输出日志”窗口。
  • 使用 `(波浪符)键,输入命令 DumpUnbuiltLightInteractions 来打开控制台

那么这种方法作用在哪呢?

  • 你可以快速识别导致出现该警告的 Actor。
  • 所构建的某个 Actor 是静态的,然后使用代码或蓝图进行了移动,从而导致出现该警告。
  • 使用大量实例和高光照贴图分辨率实例化的网格可能没有正确构建,因为没有生成集群实例光照贴图。这表示需要降低光照贴图分辨率。
  • 在某些情况下,使用构造脚本通过蓝图生成网格位置时,如果之前构建了照明,那么移动网格会导致照明失效。该命令也可以快速识别这种情况。

照明构建统计信息

编辑器中提供的“统计信息”窗口是在光照构建完成后查看关卡统计信息的好方法。该窗口可以提供有用的统计信息,帮助缩小场景中耗时最长的 Actor 的范围,计算该 Actor 的照明所耗用的时间及其光照贴图分辨率。

140705ejahvzejnvscayvl.jpg
统计信息窗口

该窗口取自 Epic Games 启动程序“学习”选项卡中提供的 Sun Temple 照明构建。

照明构建信息和静态网格照明信息中包含的所有信息都有助于优化、调查和排查照明构建。

也可以在下列文档中找到该信息:

https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/Lightmass/#gettingthebestlightingbuildtimes

景观草类资产平铺图案

你或许没有注意到,景观草类资产中有一个隐藏的小功能。此功能允许使用景观光照贴图,通过引用间接照明缓存样本,对过程景观草类材质获得更好的融合效果。

你可以选中“使用景观光照贴图”复选框来启用该功能。

140706oj6g6z0bdpglz09o.jpg
景观草类设置

该功能最初是为了动态照亮环境而开发的,但在使用静止或静态照亮环境时,会发现此类环境的图案是根据景观间接照明的平铺组件生成的,效果非常分散。

景观草类使用景观光照贴图

140706yr3a3cthttsocsa3.jpg
禁用

140706iqzvdz58dz335z3l.jpg
启用

启用或禁用“使用景观光照贴图”选项后,材质会重新生成,而无需重构照明,前提是之前已经构建好了照明。

通过命令行构建照明

如果需要通过命令行构建照明,该功能从 4.10.2 开始已经添加到引擎中。

要使用命令行构建照明,请使用以下结构进行设置以作为基础:

UE4-Editor.exe [Project Folder Path] -run=resavepackages -buildlighting -MapsOnly -ProjectOnly -AllowCommandletRendering -Map=[Name of map]

如果想要构建项目中所有可用的地图/关卡,可以删除 -Map=[Map Name]。

在以下 GitHub 提交版本中可以找到更多详细信息:

https://github.com/EpicGames/UnrealEngine/commit/f89256dd0efb7d0b1427729a8f8a6007

如果看到 404 错误页面,需要确保你有 GitHub 帐户,并且 Epic 帐户已经与 GitHub 帐户关联起来。

植物叶子工具光照贴图分辨率

使用植物叶子工具时,工具面板中有一些不同的设置可供所选 Actor 使用。一个重要的设置是覆盖网格光照贴图分辨率的选项。

140706en9emb6ox2al9beq.jpg
植物叶子光照贴图设置

该选项默认是禁用的,表示将使用静态网格自己的光照贴图分辨率。

你可能会疑惑“这样有什么不好?我不就是希望正常烘焙的阴影有一个良好的光照贴图分辨率吗?”但问题是使用植物叶子工具时,它们不再是独自放置并具有自己的光照贴图的 Actor。它们是聚集在一起的实例,而这些集群会一起烘焙到单一光照贴图中。

如果你有大量实例,并继续以静态网格默认光照贴图分辨率进行构建,很可能会遇到警告“Instanced_Foliage_Actor_[X] 光照贴图过大,应缩小。”该警告明确表示光照贴图分辨率过高。应该启用上述选项,尝试更低的分辨率,比如 8 或 4,然后再继续重建。

但一种较为普遍的合理做法是执行下列操作:

  • 如果希望树木/草丛随风摆动,限制静态照明在植物叶子上的使用。植物叶子摆动时看起来不自然,但阴影则不会。
  • 将植物叶子的光照贴图分辨率降低至可以处理的大小。
  • 禁用草上的静态照明。这是较为普遍的合理做法,因为随着关卡的发展,实例数量很可能会达到数千个,在大多数情况下会显著增加光照构建时间。

来源:Game艺视界
原文:https://mp.weixin.qq.com/s/G6BZfVRcySGXcuET-GLGWw
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-3-29 21:16 , Processed in 0.127461 second(s), 26 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.