在 Blender 4.5 中使用 Fluid 模拟器制作火焰与烟雾系列教程的第二集里,我们将学习如何设置基础 Material,以便在 Cycles 中渲染火焰和烟雾。


本教程是关于 Blender 4.5 中火焰与烟雾基础的 10 集迷你系列的一部分。要查看完整的剧集列表,请点击这里。

本教程的视频版本目前尚未提供该语言版本。您可以在下方观看带字幕的英文版视频;视频下方提供了翻译成中文的文字稿。


视频文字稿

大家好!在 Blender 4.5 中使用 Fluid 模拟器制作火焰与烟雾系列教程的第二集里,我们将学习如何设置基础 Material,以便在 Cycles 中渲染火焰和烟雾。

我们会讲解 Principled Volume Shader,以及该材质提供的两种模式:Emission 和 Blackbody。

我将从上一集教程结尾使用的场景继续,这次我已经保存了 Blender 文件,并在项目文件所在目录中创建了一个缓存文件夹。

关于火焰和烟雾的 Material,不应当分配给 Flow 对象或场景中的其他对象,而是应当设置在 Domain 上。

因此我选择 Domain,在界面中添加一个 Shading 编辑器,切换到 Rendered 视图模式,并创建一个基础 Material。

我在 World 选项卡中将 Background 的 Strength 设置为 0,使火焰更加突出。播放动画时,我们暂时看不到任何内容,因为默认创建的 Principled Shader 并不适用于体积材质。

我删除 Principled Shader,添加一个 Principled Volume Shader,并将它的输出连接到 Material Output 节点的 Volume 输入。即使现在播放动画,在 Rendered 预览中仍然看不到效果。接下来我们来看如何为火焰添加颜色。

Blender 提供了两种不同的火焰着色方法。第一种叫做 Emission。它并非物理精确模型,初看效果可能不太理想,但实际上它在控制火焰的强度和颜色方面具有极大的灵活性。我们会在后续的某一集中更详细地讲解这种模式及其应用。

第二种方法叫做 Blackbody。这是一种物理精确的方法,尤其是在 Strength 设为 1,并为其字段设置合适的温度值时。使用这个工具,我们可以立即在 Rendered 预览中看到漂亮的火焰效果。Temperature 的数值以开尔文为单位,网上可以找到许多真实世界温度与对应火焰颜色的示例。

在继续之前,我在 Render 选项卡中为渲染预览启用 Denoise。

在物理学中,Blackbody 指一种理想物体,它能吸收所有电磁辐射,并以一种仅由温度决定的光谱重新辐射能量,我们在这里简单地称之为颜色,而不取决于它的材质。随着温度升高,颜色会从炽热炉火的红色转为黄白色,温度进一步升高时,颜色会趋向蓝色。事实上,表面温度最高的恒星通常是蓝白色巨星。

关于 Intensity 和 Tint 参数:前者含义直观,如前所述,Intensity 设为 1 是物理上真实的数值,而大于 1 会使火焰更亮,但不再符合物理真实。

Tint 字段允许你改变火焰的颜色。当然,这并不是物理精确的表现。如果需要物理准确的结果,应依赖 Temperature 数值,并将 Tint 保持为白色。不过,如果你希望在不设置 Emission 节点和参数的情况下快速创建彩色火焰,那么这个选项会很实用。

此时你可能会问,既然颜色是在 Domain 的 Material 中定义的,而不是在 Inflow 对象中定义的,那么如何添加具有不同火焰颜色的 Inflow 对象。

基本上有两种方法。

第一种是创建多个独立的 Domain,但这只在火焰之间不需要相互作用时才适用。第二种方法是使用发射器对象的参数和属性,尝试为它们的火焰赋予不同的颜色,但这种方法并不总是效果理想。我们将在后续某一集中,在更详细讲解其他对象参数和 Principled Volume 之后,介绍一种可能的解决方案。

在 Principled Volume 节点顶部,你会看到一个名为 Color 的字段,默认是灰色。这是烟雾的颜色,因为 Principled Volume 允许我们在同一个节点中,通过不同参数同时定义烟雾和火焰的外观。Density 数值同样作用于烟雾。为了展示烟雾效果,我将 World Background 的 Strength 重新设置为 1。

烟雾粒子对光线的散射可以通过 Anisotropy 和 Absorption Color 来调节。Anisotropy 用于控制散射方向,当数值为负时更偏向向后散射,为正时更偏向向前散射。为了更容易观察差异,我将 Density 提高到 2,以增加烟雾密度,并调整视角,使火焰位于烟雾之后。Absorption Color 字段则用于为烟雾对光的吸收添加颜色倾向。

要讲解节点中可用的 Attributes,我首先需要说明 Domain 所存储的一些信息,因此这一集就先到这里。

目前我们所讲的只是定义火焰与烟雾在渲染中外观的起点,但结合上一集和本集的内容,你已经具备创建并渲染基础火焰效果所需的知识。

在接下来的几集中,我们还会分析 Materials 提供的其他工具,特别是关于 Emission 的使用方法。不过在此之前,我们需要讲解一些模拟的基础内容,以便更好地控制火焰和烟雾。

本网站仅用于展示我的部分作品,不具有任何推广或商业目的。请注意,目前我不接受,也不会回复任何定制项目、咨询服务或其他形式的合作请求。


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