流体域

参考

面板:物理 ‣ 流体
类型:流体域

对象的盒型边框作为模拟的边界。所有流体对象 必须 在流体域内部。流体域外的对象将不进行烘焙。微小液滴不会移动到流体域边界外;就好像流体被无形力场束缚在三维空间内。在场景中仅允许存在一个流体模拟域。

流体域的形状并 重要,因为它 会被当作一个盒子(盒子的边框长度可以是不同的)。所以,通常没有理由去使用除盒子外的其他形状。如果你需要非盒状的障碍或边框来影响流体流动,你需要在流体域边界 内部 插入额外的障碍物体。

该对象将在流体模拟过程被 替换

Tip

烘焙在流体域对象上完成

烘焙计算流程模拟的过程,在流体域对象完成。出于这个原因,只有选择域对象时,所有烘焙选项可见。

对于烘焙选项,请参见 烘焙

设置

参考

面板:物理 ‣ 流体 ‣ 设置
类型:流体域

用于模拟的线程数:

覆盖模拟的线程数,0为自动。

分辨率

  • 渲染分辨率

    流体模拟表现出的颗粒度。这可能是模拟的最重要设置,因为它决定流体的细节程度、内存和磁盘的使用量,以及计算时间。

    ../../../_images/physics_fluid_types_domain_resolution-low.jpg

    10厘米杯子在70分辨率下。

    ../../../_images/physics_fluid_types_domain_resolution-high.jpg

    10厘米杯子在200分辨率下。

Note

高分辨率会使内存使用量迅速增长:32分辨率,需要约4MB,64需要约30MB,而128需要超过230MB内存。请根据你的内存大小设置足够低的分辨率,以防止Blender崩溃或无响应。注意,许多操作系统会限制一个 进程 被分配的内存用量 ,例如Blender, 机器 安装过多的内存是无用的。请了解你的计算机限制。

Note

分辨率和流体域的真实大小

确保设置流体域分辨率与真实世界大小相匹配(见 流体世界真实世界大小)。如果域不是正方体,分辨率会应用于最长边。其他边的分辨率将根据它们的长度相应缩小(因此,在分辨率相同情况下,非正方体域比正方体域需要的内存更少)。

  • 预览分辨率

    这个分辨率用于预览网格平面将生成的流体。因此它并不影响实际的模拟。即使在预览下“看起来什么都没有”,也有可能存在一个不能在预览分辨率下显示出来的薄流体面。

显示

如何在3D视图(菜单 视图显示)和渲染(菜单 渲染显示)中显示以烘焙的模拟:

  • 几何数据

    显示原始几何体(模拟之前)。

    预览

    使用预览网格。

    最终

    使用最终的高精度网格。

没有发现已烘焙数据时,将默认显示初始网格。

当你烘焙一个流体域后,(通常情况下)Blender窗口会显示预览网格。要查看原始流体域的大小和范围,在左侧选择菜单中选择 几何数据

时间

  • 开始时间

    这是模拟的开始时间(单位秒)。

    此选项可使Blender的模拟计算晚于物理模拟。开始时间之前的域变形和流体流动不会被保存。

    例如,如果你需要流体在实际第一帧数据之前就已经流动了4秒,请在此处输入4.0。

    结束

    这是模拟结束时间(秒)。

Tip

开始和结束时间都与烘焙帧数的数量无关

如果设置 启动 时间为3.0,结束 时间为4.0,将模拟1秒流体运动。这1秒流体运动将被分割到 渲染 ‣ 尺寸 设置的帧数上 。

这意味着,例如,如果你在Blender中设置每秒25帧,共250帧,流体在第一帧将看起来像是已经流动了3秒,但是 模拟结果将以慢动作(十分之一正常速度)播放,这是因为1秒钟的流体模拟结果被拉长为10秒的视频。为解决这个问题,更改结束时间至13.0(3.0 + 10.0),以匹配每秒25帧,共250帧的视频。这样,模拟会是实时的,因为你设置了10秒的流体运动来模拟10秒的动画。这些设置让你能够对模拟效果进行“速度控制”。

速度

流体运动速度。速度选项可以设置动画减慢或加快时间。

生成运动矢量

如果点击此按钮,运动矢量不会被导出。因此在默认情况下,速度矢量是会生成并存储在磁盘中的。它们可以被用于使用合成节点计算基于图像的运动模糊。

反转帧序

从末端开始计算模拟。

偏移

读取已烘焙缓存时的时间偏移量。

烘焙

参考

面板:物理 ‣ 流体 ‣ 烘焙
类型:流体域

烘焙目录

烘焙选项请参见 烘焙

烘焙按钮

对于烘焙选项,请参见 烘焙

流体世界

参考

类型:流体域
面板:物理 ‣ 流体 ‣ 世界环境

场景尺寸(米)

真实世界中以米为单位的域对象尺寸。如果你想创建一个咖啡杯,它可能只有10cm(0.1米),而一个游泳池可能是10米。这里设置的大小是域边界框的最长边。

优化

在模拟中采用的自适应网格数量水平。设置为-1将进行自动选择。

压缩性

如果您在处理高分辨率大型流体域时遇到问题,它可能有所帮助(注意,这将增加计算时间)。

流体粘度

参考

类型:流体域
面板:物理 ‣ 流体 ‣ 粘度

粘度预设

流体的“厚度”,和使一个物体以特定速度穿过特定表面区域所需要的力的大小。

手动输入时,请注意真实世界的粘度指标(即所谓的动力粘度)采用帕斯卡·秒为单位(Pa.s),或采用泊为单位(P,等于0.1Pa.s,发音pwaz,法国人让-路易斯·泊肃叶-发现“层流”定理),或一般性的厘泊单位(cP,等于0.001Pa.s,sentipwaz)。另一方面,Blender使用运动粘度(即动力粘度Pa.s除以密度 kg.m-3,得到运动粘度的单位是 m2.s-1)。下表给出了一些流体的动力和运动粘度示例。

Blender粘度单位换算。
流体动力粘度(厘泊)运动粘度(Blender采用 m2.s-1)
水 (20° C)1.002×100 (1.002)1.002×10-6 (0.000001002)
油SAE 505.0×102 (500)5.0×10-5 (0.00005)
蜂蜜 (20° C)1.0×104 (10,000)2.0×10-3 (0.002)
巧克力酱3.0×104 (30,000)3.0×10-3 (0.003)
番茄酱1.0×105 (100,000)1.0×10-1 (0.1)
熔融玻璃1.0×10151.0×100 (1.0)

Manual entries are specified by a floating point number and an exponent. These floating point and exponent entry fields (scientific notation) simplify entering very small or large numbers. The viscosity of water at room temperature is 1.002 cP, or 0.001002 Pa.s; the density of water is about 1000 kg.m-3, which gives a kinematic viscosity of 0.000001002 m2.s-1 — so the entry would be 1.002 times 10 to the minus six (1.002×10-6 in scientific notation). Hot glass and melting iron are fluids, but very thick; you should enter something like 1.0×100 (= 1.0) as its kinematic viscosity (indicating a value of 1.0×106cP).

注意,模拟器不适用于非流体,例如不“流动”的材料。简单地将粘度设置为非常大的值不会产生类似刚体的行为,但可能会导致不稳定。

Note

粘度变化

Blender中的默认值是为使流体在动画中“看上去不错”的典型值。然而,一些流体的实际粘度,尤其是高糖类流体,如状巧克力酱和蜂蜜,高度依赖于温度和浓度。油的粘度根据SAE分级而变化。玻璃在室温下基本上是固体,但在1500摄氏度下(几乎)像水一样流动。

流体边界

参考

类型:流体域
面板:物理 ‣ 流体 ‣ 边界范围

边框内的滑动和表面选项。

类型

障碍物表面的粘性,以确定“表面粘性(Surface Adhesion)”。在现实世界中,胶体和流体的物体表面粒度、粘性,均由弹性决定。

  • 无滑动

    流体将保持紧贴(速度为0)。

    自由滑动

    流体将在对象表面上移动(法向速度为0)。

    部分滑动

    介于两者之间。0表示无滑动;1则表示自由滑动。

数量

无滑动和自由滑动的混合数量。0表示无滑动,1则表示自由滑动。

表面平滑

应用于流体表面的光滑度。1.0是标准光滑,0是无光滑,更大的值将增加光滑度。

细分

允许在模拟过程中直接建立高分辨率的表面网格(而非事后添加表面细分修改器)。1表示没有细分,每增加一个值都会导致每个流体元素的进一步细分。由此产生的网格会迅速变大,并且可能需要大量的磁盘空间。在与高平滑值结合时需小心 — 生成表面网格可能会花费很长的计算时间。

移除气泡

开启此项可以去除浸没的碰撞物体周围的“气泡”。

流体粒子

参考

类型:流体域
面板:物理 ‣ 流体 ‣ 粒子系统

在这里,你可以添加粒子到流体模拟,以增强视觉效果。

示踪粒子

一定数量的示踪粒子在模拟开始时被投入流体。为了显示这些粒子,你需要创建一个粒子流体类型对象,如下所示,使用于流体域相同的烘焙目录。

生成粒子

控制流体粒子的创建数量(0 =关,1 =正常,> 1 =更多)。要使用它,你的表面细分值应至少为2。

../../../_images/physics_fluid_types_domain_particals.jpg

一个粒子效果的例子。

左:无粒子的模拟; 右:有粒子、开启细分的模拟。