在这个简短的教程中,我们将介绍如何在 Blender 中为光源强度提供一个随机值。具体来说,我们将讨论在动画曲线上使用 Noise modifier。


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


视频文字稿

大家好。在这个简短的教程中,我们将介绍如何在 Blender 中为光源强度提供一个随机值。具体来说,我们将讨论在动画曲线上使用 Noise modifier。

这个修改器可以用于 Blender 中所有动画曲线,因此它的用途不仅限于光源,还可以作用于颜色、移动、旋转,以及一般来说任何可以在 Blender 中进行动画处理的内容。

本教程使用 Blender 3.3 版本制作,不过这里介绍的概念和工具在许多更早版本中同样适用。

我将模型导入到一个空的 Blender 场景中,然后添加了一个 Plane,用来放置灯光。这样可以让渲染更有表现力,因为我们可以看到光线投射到平面表面上的效果。

我在玻璃容器内部添加了一个 Point Light 光源,并将光源强度设置为 1 Watt,用于测试。

正如在关于动画 Cycles modifier 的视频教程中所看到的,我需要检查新建的 Point Light 光源的 Radius 数值。该数值对于 Kerosene Lamp 对象来说实际上过大,因此得到的照明效果不正确。

因此我减小 Radius 的数值,直到表示光源物理尺寸的圆形位于玻璃容器内部。

为了分析到目前为止得到的效果,我将 3D Viewport 切换到 Rendered 显示模式。

我将采样数设置为 200,并开启 Denoise 渲染预览,以便更快评估效果。

为了让效果更加明显,我将 World Background 光照强度设置为 0。

在我的 3D 模型中,玻璃是完全透明的,就像是全新的一样。

为了让它更偏磨砂效果,我断开了与 Material 的 Roughness 通道关联的纹理,并为这个通道手动设置了一个浅灰色。

我在 3D Viewport 的 Rendered 模式下实时观察结果,直到得到一个可以接受的效果。

好的,示例场景的初始设置已经完成。接下来进入闪烁效果部分。

我打开一个 Graph Editor 窗口,并选中 Point Light 光源。

为了能够为 Point Light 对象的 Power 参数曲线添加修改器,我必须先为这个参数创建一条动画曲线。

这可以通过简单地为该参数插入一个动画关键帧来完成,例如在 Timeline 的第一帧位置。

在插入关键帧之前,我将 Power 数值设置为 0。

这样会使渲染完全变黑。不过请相信我。一旦我们为这个参数添加 Noise modifier,原因就会变得非常清楚。

要插入关键帧,我将鼠标光标放在 Power 参数上并按下 I 键。或者我也可以在 Power 数值上点击鼠标右键,然后在弹出的菜单中选择 Insert Keyframe。

现在我可以在 Graph Editor 窗口中看到 Power 曲线。

如果关键帧不容易识别,可以将鼠标光标放在窗口中,按下 A 键,然后按数字键盘上的句点键。

这样会将关键帧显示在窗口中央,因为这是窗口中唯一被 A 选中的元素。

我在 Graph Editor 窗口的侧边面板中添加一个 Noise modifier。

这个面板可以通过按下 N 键打开或关闭。

新建的 Noise modifier 的第一个参数是 Blend Type。了解它提供的选项非常重要,因为根据所选择的模式不同,参数数值的修改方式会有很大差异。

这个修改器的第二个重要参数是 Strength,它用于定义对初始数值的影响程度。Strength 的数值也可以是负数。

各种模式的名称本身就可以很好地提示它们将如何改变参数数值。

Add 会在 0 到 Strength 的范围内添加一个随机值,因此除非 Strength 设置为负数,否则最终数值不会低于我们在第一个关键帧中设置的数值。

Subtract 顾名思义会执行减法运算。在我们的例子中它没有意义,因为初始数值是 0,因此减法得到的结果都会是负数,而 Point Light 对象将不会发光。

Multiply 会将原始数值乘以一个介于 0 和 Strength 之间的数值。

如果被修改参数的初始值不是 0,这可能会产生比 Add 模式更剧烈的变化。

在我们的例子中,Power 的初始值是 0,因此 Multiply 不会产生效果,因为任何数值乘以 0 都等于 0。

Replace 会用 Strength 提供的数值完全替换初始数值。不过在使用这个参数时需要注意,因为 Strength 表示扰动幅度,因此它也可能使参数数值变为负数。

在本例中,我们将使用 Add 模式。

具体来说,为了创建你现在在屏幕上看到的动画效果,我将 Strength 参数设置为 30000,因此光源的发光功率实际上在 0 到 3 Watt 之间变化。

Noise modifier 的另一个非常有趣的参数是 Scale,它可以控制闪烁频率。数值在 0 到 1 之间时变化会非常突然,而当数值远大于 1 时变化会更加平滑并在时间上延展。对于之前展示的渲染效果,我为这个参数使用了 1。

Restrict Frame Range 区域也非常有用,它允许指定应用效果的帧范围。例如在动画的某些时刻添加闪烁效果,用于表现光源似乎随时可能熄灭的感觉,非常适合紧张气氛的场景。

正如我在教程开头所说,Noise modifier 可以应用于 Blender 中任何可以制作动画的参数。因此我对 Point Light 光源的 Radius 参数做了一个测试,不过这次为 Noise modifier 使用不同的模式。

首先,我回到 Timeline 的第一帧,并为 Point Light 光源的 Radius 参数插入一个关键帧,初始数值设为 1 cm。

在 Graph Editor 窗口中,我选中新生成的动画曲线,名称为 Shadow Soft Size。

为了方便定位 Shadow Soft Size 的关键帧,我可以暂时禁用 Power,按 A 全选,然后按数字键盘上的句点键。如你所见,这次纵轴上的数值看起来更接近 Radius 参数中的数值,而不像之前 Power 的情况。

接着我为这条曲线添加一个 Noise modifier,这次将模式改为 Replace。我将 Scale 设置为 0.5,以获得更频繁、更突然的变化。

最后我将 Strength 设置为 1.9。从某种意义上来说,这几乎是这个动画的最大数值,因为 Radius 的初始值是 1,而 Strength 表示噪声幅度的最大范围,需要除以 2 才能判断它可能增加或减少的幅度。

由于 Radius 的数值是 1,如果我将 Strength 设置为 2,那么最终结果可能在 2 到 0 之间变化,这是我们希望避免的情况。

将 Strength 设置为 1.9 后,可以为这个参数得到非常小的随机数值变化,同时避免达到 0 或负数的风险。

在开始新的渲染之前,我还将 Power 的 Scale 参数设置为 0.5,这样光源强度以及 Radius 都会产生更突然的变化。

好了,本教程到此结束。希望对你有所帮助。下次见。

搜索教程

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

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


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