在本教程中,我们将学习如何在 Compositing 中通过颜色校正修改 3D 模型的外观,如何实现 Lens Distortion,以及如何提取 Shadow Catcher Pass 信息并对其进行单独处理。


本教程不提供中文配音。您可以在下方观看英语配音的视频,并选择中文、英文或其他语言的字幕。视频下方提供了翻译成中文的文字稿。


视频文字稿

大家好!这是这个 Blender 4.3 小型照片合成项目系列教程的第三个,也是最后一个教程。

在前两个教程中,我们介绍了如何使用 fSpy 插件重建原始照片的构图,以及如何通过 Shadow Catcher 工具在 Compositing 中插入带阴影的 3D 模型。

在本教程中,我们将学习如何在 Compositing 中通过颜色校正修改 3D 模型的外观,如何实现 Lens Distortion,以及如何提取 Shadow Catcher Pass 信息并对其进行单独处理。

和我许多其他视频教程一样,本教程的 PDF 版本可以通过简介中的链接免费下载。现在也是订阅频道并开启通知的好时机,这样你就不会错过接下来的视频教程了!

让我们从渲染图像和 Compositing 设置开始,就像我们在上一期教程结尾时留下的状态一样,其中一个 Hue Saturation Value 节点对 3D 模型的渲染进行了轻微去饱和处理。

在仅包含模型的渲染结果上,我们还可以进一步进行调整和校正,例如使用 Color Balance 节点。在这个节点中,我们可以分别通过 Lift、Gamma 和 Gain 控件修改图像阴影、中间调和高光部分的强度与色调。

在这个项目中,我们可以观察到原始图像中的暗部并不是纯黑色。这是因为原始光源距离非常近,而且强度很高。因此,我们可以对控制阴影的 Lift 通道进行调整,稍微提高其亮度。

我们会立刻注意到一个问题。如果我们直接将 Color Balance 连接到 Viewer,并大幅提高 Lift 数值,这个问题会更加明显。变亮的不仅仅是渲染中的暗部,还有所有本应保持透明的区域。

因此,我们需要为正在处理的图像重新指定透明度。幸运的是,这可以通过在 Color Balance 和 Alpha Over 之间添加一个 Set Alpha 节点轻松完成,并使用 Render Layers 的 Alpha 输出作为透明信息。

更一般地说,这个 Set Alpha 节点应该放置在最后一个渲染调整节点与最终 Compositing 中的 Alpha Over 节点之间。

然后我们可以继续调整 Color Balance,并添加其他调整节点,例如 Brightness Contrast 或 Gamma,以便让渲染更好地融入原始照片。例如,我正在尝试降低渲染中的对比度。

如果你想让渲染变亮或变暗,我建议使用 Gamma 节点,而不是 Brightness 或 RGB Curves。Gamma 节点应用的是一种亮度校正方式,可以避免将最亮和最暗区域推向纯白或纯黑。纯黑和纯白分别对应 0 和 1 的数值,而这些极值可能会在后续涉及颜色相加或相乘的操作中引发问题。

为了单独评估这些调整对原始渲染的影响,我将从 Hue 到 Set Alpha 的节点全部选中,然后按下快捷键 CTRL G,把它们组合成一个子组。

我们可以选中这个子组并按 TAB 键进入它。同样,按下 TAB 键也可以退出子组并返回原始节点布局。

这种方式可以让我们更方便地在组内调整颜色校正节点,同时还可以通过按下 M 键来启用或禁用整个组。M 键同时也是 Mute 与 Unmute 的快捷键,因此可以方便地查看颜色校正对原始渲染整体效果的影响。在这里,我只展示了一些基础示例,但颜色、亮度和对比度的调整高度依赖于你正在处理的具体项目。

关于 Lens Distortion 操作,则需要单独说明。它可以让渲染产生畸变,从而更好地融入照片,因为照片中通常会存在由镜头造成的畸变。

我的建议是,将这个节点放在原始渲染与其他操作之间,例如颜色校正子组之前,因为畸变操作会引发透明度相关的问题。即使 Distortion 参数值很低,这个问题也会很明显。

问题在于,Lens Distortion 会修改渲染图像的外观,但不会修改其透明度。因此,在图像与阴影分离的区域会出现黑边。同样,在图像覆盖原本透明区域的位置,也会出现半透明区域。

为了解决这个问题,我会使用第二个 Lens Distortion 节点,对渲染的 Alpha 通道应用相同的畸变操作。然后,我会把这个结果连接到颜色校正节点子组的 Alpha 输入。

为了同时修改这两个节点的 Distortion 数值,我可以将它们组合到一个新的子组中,并使用一个 Reroute 节点,将两个 Distortion 输入连接到子组的同一个输入端口。这样,我们只需调整一个参数,就能同步控制两个值,从而避免对象失去阴影。

在子组中的 Group 标签页里,我们还可以修改输入和输出端口的名称与颜色。这对于新子组中的 Distortion 输入特别有用,因为我们可以改变输入端口的颜色,更重要的是,还可以将 Distortion 值的端口类型从颜色切换为数值类型。

节点组的名称可以在 Node Properties 标签页中修改,需要在节点组关闭并被选中的状态下进行。这些小调整可以让节点组的使用更加方便,尤其是在复杂或包含大量参数的节点布局中。

本教程最后的话题是,如何只提取由 Shadow Catcher 生成的阴影,以便对其进行单独处理。当然,第一步是在 View Layer 标签页的 Light Passes 部分启用 Shadow Catcher 选项。

这个选项的提示信息会立即告诉我们,这部分信息需要与背景进行 Multiply 运算。

如果我们现在进行一次渲染并切换到 Compositing 工作区,我们会注意到阴影已经不再集成到最终渲染中。

这是因为启用该 Render Pass 后,Shadow Catcher 信息会从渲染结果中被分离出来。我们可以将其直接连接到 Viewer 节点来查看这部分信息。

正如 Shadow Pass 选项提示信息中所提到的,这个遮罩需要在 Compositing 中通过 Multiply 运算重新整合到最终结果中。然而,由于我们已经对渲染进行了多项操作,包括 Lens Distortion,因此这个被分离出来的信息并不适合我们的用途。

为了使用这些分离的信息重新构建基础的 Compositing,我们首先需要将 Render Layers 的 Image 输出连接到 Alpha Over 节点的第二个 Image 输入。然后,将原始照片连接到 Alpha Over 节点的第一个 Image 输入。

接下来,我们需要使用一个设置为 Multiply 模式的 Color Mix 节点,将 Alpha Over 的输出与 Shadow Catcher 信息相乘。其中,Shadow Catcher 连接到第二个 Image 输入,并将 Factor 参数设为 1。这样,我们就能得到初始的 Compositing 结果,其中对象和阴影已经整合到原始照片中。

在 Compositing 中分离 Shadow Catcher 信息非常有用,例如当我们只需要阴影时,因为之后可能会用其他内容替换当前渲染中的模型。

对于我们的需求来说,不应该启用 Shadow Catcher Render Pass,因为我们希望这些信息已经被整合到 Render Layers 的输出图像中。

以上就是这个 Blender 照片合成小项目第三期,也是最后一期教程的全部内容!希望这个迷你系列对你有所帮助。我们下次见!

搜索教程

输入短语,或输入多个用逗号分隔的关键词进行搜索。

本站提供 Francesco Milanese 制作的 3D 模型、教程及计算机图形相关资源。3D 模型的使用许可可通过各模型页面上的链接前往第三方商店购买,并须遵守适用的许可条款。 Francesco Milanese — 意大利增值税号:06321250877。 联系方式:info@francescomilanese.com


高级隐私策略信息和cookie文件的使用