这个系列共两期,这是第一期教程,专门讲解和使用一个适用于 Blender 4.3 的 Compositing 节点组。它可以只保留特定对象或材质的原始颜色进行渲染,同时将其他所有内容遮罩成灰度效果,并且还能选择性地突出显示边缘或凹陷细节。
本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。
视频文字稿
大家好。这个系列共两期,这是第一期教程,专门讲解和使用一个适用于 Blender 4.3 的 Compositing 节点组。它可以只保留特定对象或材质的原始颜色进行渲染,同时将其他所有内容遮罩成灰度效果,并且还能选择性地突出显示边缘或凹陷细节。
我创建这个节点组的灵感来自一本手册中的页面。当时页面一次只高亮显示汽车的某些部件,而整辆车的其他部分则保持灰度显示,用来作为各组件位置的参考。因此,我尝试在 Blender 中通过 Compositing 实现相同效果。
本教程分为两部分。在第一部分中,我会演示如何使用这个节点组。你可以通过简介中的链接免费下载它。在第二部分中,我们会查看组内部结构、各种效果的实现方式,以及如何修改它们。你可以把第一部分视为简易用户指南,把第二部分看作技术手册。
和我很多其他视频教程一样,本教程的 PDF 版本也可以通过简介中的链接免费下载。现在也是订阅频道并开启通知的好时机,这样你就不会错过之后的视频教程。
好了,说完这些,我们进入正式教程。我会先快速介绍前三个输入接口,然后通过几个实际案例演示节点的使用方法。
可以通过 File → Append 将节点组导入项目。选择软件包中提供的文件作为源文件,然后进入其中的 Node Tree 部分,加载 Isolated on Gray 组。
完成后,可以在 Compositing Editor 中通过 Add → Group 添加这个新的节点组。

组的前三个输入接口需要连接外部数据。其他接口则是用于定义各种效果的参数,必要时可以连接外部节点。
Image 输入当然需要连接彩色渲染图像,无论图像来自 Render Layers 还是其他处理节点。
ID 输入需要连接到一个 ID Mask 节点。我没有把它整合到组内部,因为该节点的 Index 数值无法从外部设置,所以必须手动添加在组外部。
此节点的 ID Value 输入应连接到 Index Object 或 Index Material 信息,具体取决于隔离元素是通过对象索引还是材质索引进行识别。稍后我们会看两个实际案例。不过需要注意,要获取这些信息,必须先在 View Layer Passes 面板中启用 Object Index 或 Material Index。

在 View Layer Passes 面板中,还需要启用 Ambient Occlusion 选项,因为这部分信息将传输到节点组的 Ambient Occlusion 输入。

在第一个实际案例中,对象彼此独立,每个对象都在 Object Data Properties 面板的 Relations 部分分配了数值索引。因此,在开始渲染之前,我启用了 View Layer Passes 中的 Object Index。
为对象设置 Pass Index 并将三个输入连接到节点组之后,我开始第一次渲染。

由于没有对象使用 0 作为 Object Index 值,因此对应对象区域会完全透明。在这个例子里,图像其他部分没有透明,是因为我忘记在 Render 面板启用 Film Transparent,所以这里看到的其实是背景。
然后我启用了 Film Transparent,并再次渲染场景。
如果想在透明背景上得到完整对象的灰度显示,只需在 Index 字段中使用一个未分配给任何对象或材质的数值,并将 Grayed 参数设置为 100%。
不过背景透明信息仍然可以通过 Render Layers 节点的 Alpha 输出单独获取。
如果按下 M 键绕过 Isolated On Gray 组,就可以直接获得透明背景上的彩色渲染。

现在,在组处于启用状态且 Grayed 参数设为 100% 时,通过修改 ID Mask 节点中的数值,对应编号的对象就会显示为彩色,而模型其他部分则变为灰度。

Grayed Contrast 和 Grayed Brightness 两个参数可以分别调整灰度区域的对比度和亮度。提高对比度有助于减少渲染区域中过于明显的细节,从而避免观众的注意力从彩色部分被分散。

关于各元素的轮廓和凹陷细节,我们提供 Ambient Occlusion 模式以及一个用于突出边缘的滤镜。
Ambient Occlusion 的效果强度可通过 Ambient Occlusion Edges 参数调整,也可以通过 Ambient Occlusion Gamma Boost 参数进一步增强。

Ambient Occlusion 主要作用于几何结构,而 Secondary Details 使用的滤镜同样作用于 Textures,因此适合强调其他类型的细节。

和 Blender 中大多数参数一样,ID Mask 节点的 Index 数值也可以添加动画,因此可以制作出教程开头演示的那种动画效果。
现在我使用的是另一个对象,但节点组功能完全一样。唯一不同的是,这次场景中只有一个对象,因此必须通过子材质进行 ID 分离。
首先,需要在 View Layer Passes 面板中启用并使用 Material Index。
然后,需要为模型中不同子材质的 Pass Index 字段设置不同数值。材质的 Pass Index 参数位于 Material 面板的 Settings 部分。

现在就可以开始渲染,并像之前处理第一个对象一样使用节点组。

好了,这就是关于这个 Compositing 节点组第一期教程的全部内容。在下一期里,我们会深入内部结构,看看这些效果具体是如何实现的。下次见。