在本期视频教程中,我们将通过一个实际案例来探索 Light Generator 的使用方法。
本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。
视频文字稿
大家好!在本期视频教程中,我们将通过一个实际案例来探索 Light Generator 的使用方法。
我将默认大家已经熟悉 Generators 和贴图 Baking 等相关内容,因为我已经在之前的视频教程中讲解过这些主题。
Light Generator 可以通过模拟光线从虚拟世界中的某一点向场景中的物体投射,来创建一个图层蒙版,其效果类似于在虚拟环境中放置一个太阳。因此,它可以用于生成方向性蒙版,也就是说,直接朝向光线的表面会显示为白色,而接受直射光较少的表面则会逐渐变暗。不过,不要被生成器名称中的 “Light” 误导:这些光线仅用于生成图层蒙版,并不会影响物体的颜色或场景中的照明效果。这是两种完全不同的效果。
下面我通过一个实际案例,立即为大家演示由 Light 生成的蒙版的基本效果。
我已经导入了一个物体,也就是一个传统的日式灯笼,并为其指定了 “Concrete Plain Brushed” 材质。

现在我将在材质的 Layers 堆栈顶部添加 “Iceland Snow” 材质。我的目标是只将雪材质应用到物体的部分区域,具体来说,是那些最容易积雪的位置。不过目前新材质完全覆盖了原有材质,因此我们需要一个蒙版。

因此,我将为 “Snow” 材质添加一个黑色图层蒙版,然后右键单击该蒙版,并添加一个 Light Generator。

出现了一个问题:生成的蒙版完全是白色的,新材质覆盖了下方的材质。简单查看后可以发现,生成器的 Properties 面板中缺少了几张贴图。因此我将点击 “Texture Set Settings” 中的 “Bake Mesh Maps”,让 Substance 至少生成当前所需的两张贴图,也就是 “World Space Normal” 和 “Position”。


“World Space Normal” 用于存储物体各个表面在虚拟世界中的朝向信息,而 “Position” 则用于存储它们的坐标信息,尤其是高度信息。

Light Generator 会利用这两张贴图,根据物体表面的朝向以及高度来决定其受影响的程度。对于朝向信息,我们可以通过生成器 Properties 面板中的 “Horizontal Angle” 和 “Vertical Angle” 来调整 Light 光线的方向。而存储在 “Position” 贴图中的坐标信息,则可用于调整 “Light Attenuation” 参数,从而降低光线对几何体较低区域的影响。
虽然在 3D View 的 Material 视图模式下,蒙版产生的效果以及由此带来的材质应用变化已经非常明显,尤其是在启用和禁用 “Iceland Snow” 材质进行对比时更是如此,但我仍然建议在选中图层蒙版后切换到 “Mask” 视图模式。依我看,这样可以更直观地观察 Light Generator 的光线照射到了哪些区域,以及在调整两个角度参数和光衰减系数时,它们的影响强度如何变化。

Mask 视图模式还可以让你直接观察 “Highlight Glossiness” 和 “Highlight Level” 参数的效果。这些设置可以提高或降低光照强度,也就是改变生成蒙版中的灰度级别。因此,即使是没有被光线直接照射到的表面,关联材质的应用强度也会相应增强或减弱。

因此,Light Generator 的参数虽然不多,但已经能够提供相当不错的灵活性来控制效果的应用。我也鼓励大家思考一下这个生成器还有哪些可能的应用场景。
遗憾的是,并非所有方面都令人满意:Light Generator 不会考虑自遮挡(Self-Occlusion)。因此我们可以看到,灯笼内部的表面同样受到了光线的影响。这是因为 Light 的计算基于几何体表面的朝向,而灯笼内部的那些表面依然是朝上的。
如果想手动排除这些表面,可以采用多种方法。例如,我们可以先将雪材质放入一个组中,为该组分配一个白色图层蒙版,然后手动排除不希望受到影响的区域,可以使用画笔工具,也可以使用多边形选择工具。这里我会使用 “UV Chunk Fill”,并将其值设置为 0,这样当我点击对应区域时,蒙版中的 UV 岛就会变成黑色。

与其他任何 Generator 一样,我们也可以为 Light 添加滤镜和额外效果。例如,可以添加一个 Blur 滤镜来柔化蒙版边缘,使过渡区域显得不那么生硬。

好了,本期教程就到这里!一如既往,如果大家有任何问题、意见或教程需求,欢迎在 YouTube 视频评论区留言。我们下期再见!