在这套关于 Blender 4.5 中使用 Fluid 模拟器制作火焰与烟雾的系列教程的第六节中,我们将完成对 Domain 对象设置的讲解。
本教程是关于 Blender 4.5 中火焰与烟雾基础的 10 集迷你系列的一部分。要查看完整的剧集列表,请点击这里。
本教程的视频版本目前尚未提供该语言版本。您可以在下方观看带字幕的英文版视频;视频下方提供了翻译成中文的文字稿。
视频文字稿
大家好!在这套关于 Blender 4.5 中使用 Fluid 模拟器制作火焰与烟雾的系列教程的第六节中,我们将完成对 Domain 对象设置的讲解。具体来说,我们会介绍 Field Weights、Volumetric Data、Viewport Display 和 Render 各个部分的主要参数。其中有些参数将帮助我们更好地理解某些 Material 属性,也就是所谓的 Attributes,我们会在下一节中详细讲解。
关于 Field Weights,目前只需要知道,模拟可以受到外部力的影响,而在这里我们可以定义这些外部力对模拟元素产生影响的程度。
其中一个外部力是重力,它在场景级别默认启用,并且正是它让火焰和烟雾向上升腾。因此,你可以通过调整 Field Weights 面板中的 Gravity 数值来直观理解这些力场是如何起作用的。Field Weights 中的参数还可以进行动画设置,也就是说,你可以在动画过程中修改某个力的影响强度,而无需更改该力本身的设置。

此外,还有一个名为 All 的控制项,它允许你为所有影响模拟的力场设置相同的数值。Effector Collection 字段允许你将模拟限制为只受指定 Collection 中的 Effectors 影响。默认情况下该字段为空,这意味着 Domain 内的所有 Effectors 都会影响模拟。无论如何,我们会在后续章节中专门讲解力场和 Effectors,因此现在可以关闭这一部分。
之前我讲解缓存时,主要关注的是存储了哪些信息以及如何重复利用它,而没有介绍它是如何被存储的。
这些参数位于 Cache 面板中的 Volumetric Data 部分,它们允许你指定将 Voxel 数据存储到磁盘时所使用的格式,以及压缩和精度设置。
用于磁盘存储的最佳压缩方式是 Zip,但默认选项是 Blosc,因为它支持多线程,因此速度更快。
Half 精度以 16 位保存数据,而 Full 以 32 位保存,在某些情况下 32 位可能是过高的精度。
默认设置为 Open VDB、Blosc 和 Half。在大多数情况下,这些默认值已经完全足够。
在 Render 部分,实际上只有一个参数,与 Motion Blur 有关。
Motion Blur 必须在 Render 标签页中于项目级别启用。正如我们将在之后的渲染教程中看到的,在很多情况下它可以产生非常令人愉悦的效果。

不过,本节教程的核心是 Viewport Display 部分,这里包含了许多有趣的选项,使我们能够可视化单个 Voxel 中包含的一些信息。这将帮助我们更好地理解 Domain 的某些 Attributes,而我们将在下一节中使用它们来修改火焰和烟雾的材质。
首先你需要知道,3D View 会为每个 Voxel 显示多个切片。在这里你可以设置烟雾厚度、插值质量,以及每个 Voxel 计算的切片数量等参数。增加烟雾厚度可以让它更加明显,更容易观察其行为。不过请记住,本部分的参数只会影响模拟在 3D Viewport 的 Solid 模式下的显示效果,不会影响最终渲染结果。它们仅用于可视化。

如果你想查看整个 Domain 的单个切片,可以启用 Slice 选项并选择一个轴。这相当于沿该轴切开 Domain 并查看其横截面。最初,显示效果会随着你在 3D 场景中移动摄像机而改变,因为默认情况下切片轴设置为 Auto,会根据观察者的视角自动调整。Position 数值范围从 0 到 1,与所选轴方向上 Domain 的尺寸成比例。我将以 Y 轴为例,调整 Position 数值来演示这一点。

Vector Display 会在每个 Voxel 中显示 Velocity、Guides 和 Forces 的向量。Guides 是一些特殊对象,与 Force Fields 类似,会影响火焰和烟雾的行为。目前场景中没有 Guides 或 Forces,因此我们只能看到流体自身固有的 Velocity 表示。本部分的其他选项允许我们调整用于可视化的图形元素的外观和大小,使其更易读取。

我把 Grid Display 放在最后讲,因为我认为它最有趣。
它允许我们可视化模拟的一些属性,例如每个 Voxel 的 heat 或 density。
我们知道,Domain 被划分为多个 Voxels,其分辨率可以通过 Grid Display 中看到的立方体细分清晰地观察到。

对于每个 Voxel,Domain 都包含诸如 temperature 和 density 等信息。
通过调整 Color Ramp,我们可以查看所有 Voxels 中这些属性的数值范围。
这种可视化方式非常有用,因为其中一些属性会作为 Attributes 存储,并可以在 Shading 部分访问。
在下一节中,我们将学习如何在 Shading 中调用这些 Attributes,以便根据温度等参数修改火焰和烟雾 Voxel 的 Material。