这是一个基础教程,讲解如何在 Blender 4.3 中使用 Crypto Matte 节点在 Compositing 里提取对象遮罩,特别适用于最终渲染包含 Motion Blur 的情况,就像我现在屏幕上展示的这个示例。
本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。
视频文字稿
大家好!这是一个基础教程,讲解如何在 Blender 4.3 中使用 Crypto Matte 节点在 Compositing 里提取对象遮罩,特别适用于最终渲染包含 Motion Blur 的情况,就像我现在屏幕上展示的这个示例。
在我大多数 Blender Compositing 教程中,我通常依赖 ID Mask 节点,利用 Object Index 或 Material Index 的信息来创建对象遮罩,并在 Compositing 中对其进行单独编辑。
不过,这种方法要求你为想要隔离的元素提前设置 Object Index 或 Material Index。如果场景中元素很多,这会变得非常不方便。
此外,当画面中存在像 Depth of Field 或 Motion Blur 这样的效果时,ID Mask 节点生成的遮罩并不十分精确,就像这个示例展示的一样。使用 ID Mask 得到的遮罩质量较低,这显然会影响整体合成质量。所以接下来我们来看看如何改用 Crypto Matte 节点。
和我很多其他视频教程一样,这个教程的 PDF 版本可以通过简介中的链接免费下载。另外,现在也是订阅频道并开启通知的好时机,这样你就不会错过之后发布的视频教程。
要在 Compositing 中使用 Crypto Matte 节点,首先需要在 Properties Editor 的 View Layer 标签页里,在 Crypto Matte 部分至少启用三个选项中的一个。

这些选项允许我们在 Compositing 中为不同的对象、材质或者资源提取 Crypto Matte 遮罩。Object 和 Material 的含义非常直观。在我的示例中,我使用的是 Object 选项,因为我想隔离的是弹珠轨道,而不是子材质或者共享同一材质的对象。Assets 选项用于隔离共享同一个 Parent 的对象组,不过这个示例中不需要使用它。
当你启用至少一个选项后,Levels 参数就会变为可用。不过在这个基础教程里我不会展开说明,而是保留默认值。

在本教程中,我保持 Levels 参数为默认值,然后在 Crypto Matte 部分选择了 Object。我还在标签页上方启用了 Object Index,用来提取 Index Object 信息,以便展示两种方法之间的差异。一切设置完成后,我开始进行渲染。

在 Compositor 中,我添加了一个 Crypto Matte 节点。正如你看到的,这个节点中有一个 Layer 菜单,我选择了 Crypto Object,因为这正是我在 View Layer 标签页中启用的信息类型。

在 Crypto Matte 节点中,你可以选择通过 Render 使用场景中的信息,也可以选择 Image,从 OpenEXR 图像中读取数据。在我的案例中,我显然使用默认的 Render 选项。
Crypto Matte 节点有一个独特特点,就是指定需要遮罩对象的字段是一个列表,这意味着你可以通过两种不同方式添加或删除对象。
第一种方法是点击列表旁边的按钮,通过选择器直接从渲染图像中拾取对象或材质来进行添加或删除。
第二种方法是在 Matte ID 字段中直接输入或删除元素名称,并使用逗号进行分隔。我这里演示的是对象 Sphere 001,由于它的 Motion Blur 很明显,用鼠标直接选择会比较困难。这种方法在使用 EXR 图像作为源文件时也很有用,因为你可以直接输入文件提供的 ID。

与 ID Mask 节点相比,一个重要区别是,你不需要在渲染前给对象或材质指定数字标识符。你只需要在渲染前启用 Crypto Matte Render Pass,然后在渲染完成后再选择需要的对象或材质即可。
你可能已经注意到,我没有把 Render Layers 节点中的 Crypto Object 输出连接到 Crypto Matte 节点。不过,在 View Layer 标签页中启用 Crypto Matte Object Render Pass 仍然是必须的,否则渲染完成后 Crypto Matte 节点将无法获得所需信息。
Crypto Matte 节点有三个输出接口。第一个接口叫 Image,如果节点的 Image 输入连接了原始彩色图像,它会返回仅包含 Matte ID 字段中对象的彩色图像。本质上,它会使用遮罩对渲染结果进行乘法运算,并将遮罩中黑色区域设置为透明。

第二个输出接口 Matte,只输出黑白遮罩而不包含透明信息。在这个示例里我使用的就是它。不需要连接节点的 Image 输入,因为信息来自场景和节点内部的 Matte ID 列表。

第三个输出接口 Pick,会生成带有纯色区分的遮罩,这对于进一步选择或其他操作非常有用。同样,这里的信息直接来自节点本身,因此也不需要将 Image 输入连接到其他节点。

为了修改我示例中的原始渲染,我将 Crypto Matte 节点的 Matte 输出与原始渲染一起接入一个节点组,通过 Color Balance 节点执行简单的颜色校正,并将调整限制在 Matte ID 字段中列出的对象范围内。

接着,我使用 Set Alpha 节点,将轨道及其 Motion Blur 的彩色图像提取到透明背景上,以便单独处理。

然后我将 Glare 节点的 Mix 参数设置为 1,只为轨道及其 Motion Blur 生成 Streaks,再将这种发光效果叠加到 Color Balance 节点得到的图像上。
要比较 Crypto Matte 和 ID Mask 的效果,只需要在合成节点组中切换 ID Mask 和 Crypto Matte 遮罩作为 Factor 输入,然后观察 Backdrop 中的两种结果即可。
好了,这个关于如何在 Compositing 中使用 Crypto Matte 节点的基础教程就到这里!希望对你有所帮助!下次见!