这是两期教程中的第二期,专门讲解和使用一个适用于 Blender 4.3 的 Compositing 节点组。它可以只保留特定对象或材质的原始颜色,同时将其他所有内容遮罩为灰度,并可选择突出显示边缘或凹陷区域。
本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。
视频文字稿
大家好!这是两期教程中的第二期,专门讲解和使用一个适用于 Blender 4.3 的 Compositing 节点组。它可以只保留特定对象或材质的原始颜色,同时将其他所有内容遮罩为灰度,并可选择突出显示边缘或凹陷区域。
在第一期教程中,我演示了如何使用这个节点组。你可以通过描述中的链接免费下载它。在第二期教程中,我们将进入节点组内部,看看各种效果是如何实现的。
和我许多其他视频教程一样,本教程的 PDF 版本也可以通过描述中的链接免费下载。现在也很适合订阅频道并开启通知,这样就不会错过接下来的视频教程。
使用 TAB 键打开节点组后,我们可以看到效果是在左侧节点列中实现的。其中一些节点实际上也是组节点。右侧那一列节点仅用于按顺序将这些效果添加到图像中。

正如上一期教程中所展示的,这个节点组本质上执行三项操作。首先,它会分离对象或 Material,使其保持彩色,同时将其他所有元素转换为灰度。
第二个效果是,节点组会使用渲染中的 Ambient Occlusion 信息来强调凹陷区域和边缘。
第三个效果是,节点组使用一个滤镜来进一步增强其他细节,尤其是存在于 Textures 而不是几何结构中的细节。
为了将与输入 ID 匹配的元素从图像其余部分中分离出来并保持彩色,原始图像会与来自 ID 输入的遮罩相乘。然后,相同的 ID 遮罩还会被用作 Alpha 透明度。因此在这个阶段,我们得到的是仅包含彩色部分、背景透明的渲染结果。

为了得到完整渲染图的灰度版本,来自 Image 的信息会与 Grayed Contrast 和 Grayed Brightness 数据一起传送到 Grayed Base 子组。
在这个子组内部,图像首先通过 Hue Saturation Value 节点进行去饱和处理,并将 Saturation 设置为 0,从而得到灰度图像。之后使用 Brightness Contrast 节点来调整图像的亮度和对比度。

然后会依次向该图像应用细节层,这些细节来自 Ambient Occlusion 或 Laplace 滤镜,我们很快会详细查看。
应用这些附加效果后得到的最终灰度图像,其强度由 Grayed 输入控制,以百分比表示。该输入是一个 0 到 100 的数值,并会除以 100,以便作为 Alpha Over 节点中的 Factor 使用。
在这个 Alpha Over 节点中,第一个 Image 输入实际上是完全透明的图像,由黑色且 Alpha 设置为 0 创建。当 Grayed 数值为 0 时,只使用这个完全透明图像。当数值为 100% 时,由于除以 100,Alpha Over 的 Factor 为 1,此时只使用灰度图像。中间数值自然对应两者之间的混合过渡。

从这个 Alpha Over 节点输出的图像随后会作为灰度基础,再将 ID 正确匹配元素的彩色图像叠加到其上。这一步使用第二个 Alpha Over 节点完成。
现在处理流程已经明确,我们只需要查看 Ambient Occlusion 和 Laplace From Image 子组执行的操作,它们负责帮助突出边缘和凹陷区域。
在详细分析之前,我先说明一下,这些子组会生成黑白遮罩,然后按顺序与灰度渲染图相乘。图像与另一张灰度图像相乘时,本质上会使原图在第二张图像较暗的区域进一步变暗。
在乘法节点的 Factor 输入前看到的 Divide 节点,只是用于将输入值恢复到 0 到 1 范围,因为我使用百分比来表示参数,操作起来更方便。说完这些,我们来详细查看剩下的两个子组。
为了分析 Ambient Occlusion 子组的步骤和输出结果,我直接把它的输出连接到主组输出。
Ambient Occlusion 组接收来自 Render Layers 的 Ambient Occlusion 数据,以及一个名为 Gamma Boost 的数值参数,用于增强 Ambient Occlusion 遮罩效果。

Ambient Occlusion 数据首先进入 Denoise 节点以减少噪点。结果随后传入 Filter 节点并设置为 Laplace 模式,用来突出边缘。
Laplace 的结果显示为亮色边缘和深色背景,但我们需要相反效果,因为后面会将深色边缘与灰度图相乘,让边缘进一步变暗。因此,Laplace 输出会进入 Invert Color 节点,之后再经过 Gamma 节点,根据用户设定的 Gamma Boost 参数进一步强化深色区域。

接下来使用 Dilate Erode 滤镜,稍微扩展深色区域,以保证线条在原本可能断开的地方保持连续。

现在退出 Ambient Occlusion 子组,并将 Laplace From Image 子组的输出直接连接到主组输出,以查看它的步骤和最终结果。
Laplace From Image 子组内部与 Ambient Occlusion 非常相似。同样包含 Filter Laplace、Denoise、Invert Color 和 Dilate Erode 节点,它们执行的操作与刚才描述的一样。

不过这里第一步是使用 Hue Saturation Value 节点,并将 Saturation 设置为 0,把输入图像转换为灰度。对于 Ambient Occlusion 来说这一步不需要,因为该信息本身已经是灰度。
灰度图像随后经过 Laplace 滤镜处理,再通过 Denoise 节点去除噪点。

这个子组第二个独有元素是 Greater Than 节点,它本质上相当于一个阈值功能,会将低于极小数值的灰色区域全部变成黑色,而其他区域全部变成白色。

遮罩结果是黑色背景上的白色边缘,因此使用 Invert Color 节点进行反转,再通过 Dilate Erode 节点减少线条之间的中断,这一点与 Ambient Occlusion 子组相同。

总结一下,图像首先通过 Grayed Base 子组转换成灰度。

得到的图像随后依次与 Ambient Occlusion 和 Laplace 子组生成的遮罩相乘。


最终生成的图像会在 Alpha Over 节点中,根据 Grayed 输入值确定透明程度。

接着再将具有正确数值 ID 的元素彩色图像,无论是对象还是材质,叠加到该结果上。

本期教程就到这里!希望对你有所帮助!下次见!