流体域

    对象的边界框作为模拟的边界。所有流体对象必须在流体域内部。流体域外的对象将不进行烘焙。没有任何微小液滴可移动到流体域边界外;就好像流体域被包裹在无形力场的三维空间内。在场景中只可存在一个流体域模拟对象。

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

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

    Tip

    烘焙在流体域(Domain)对象上完成

    当你计算流体模拟,你将模拟烘焙(映射)到(顶级)域(Domain)对象上。出于这个原因,所有的烘焙选项只有当选择了流体域对象时才可见。

    对于烘焙选项,请参见 。

    流体域设置。

    • 烘焙按钮
    • 对于烘焙选项,请参见 烘焙
    • 分辨率
      • 渲染分辨率
      • 进行实际流体模拟的粒子粒度。这可能是模拟的最重要设置,因为它决定流体的细节,存储器和磁盘使用的信息量,以及计算时间。

    ../../../_images/physics_fluid_types_domain_resolution-low.jpg10厘米杯在70分辨率下。

    10厘米杯在200分辨率下。

    Note

    所需的内存量迅速增加:32的分辨率,需要约4MB,64需要约30MB,而128已经需要更多的230MB。请务必将分辨率设置足够低,这取决于你有多少内存,以防止Blender崩溃或不动。许多操作系统限制一个进程(process)可分配的内存 ,如blender, 即使机器安装更多的内存也没用。找出适用于您的计算机的限制。

    Note

    确保设置相应的流体域分辨率与真实世界大小匹配(见 中的 真实世界大小)。如果域不是立方体,将采取的最长边。沿另一侧的分辨率将根据它们的长度被缩小(因此,非立方域将比立方域需要内存少,在分辨率相同情况下)。

    • 分辨率预览
    • 这用于预览该表面网格将生成的分辨率。因此它不影响实际模拟。即使在预览下“没有什么看”,有可能是一个不能在预览中解决的薄的流体表面。

      • 显示质量
      • 如何在3D视图(菜单视口显示 )和渲染(菜单渲染显示 )下显示一个已被烘焙的模拟:
    • 几何

    • 使用原始几何体(模拟之前)。
    • 预览
    • 使用预览网格。
    • 最终
    • 使用最终的一个高清晰度的网格。当找不到已烘焙数据时,初始网格将被默认显示。

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

    • 时间

    此选项使Blender的模拟运算可设定在开始模拟之后。开始时间之前的域变形和流体流动不会被保存。

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

    • 结束
    • 它是模拟结束时间(秒)。

    Tip

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

    如果设置启动时间为3.0和结束时间为4.0,将模拟流体1秒运动。流体运动的那一秒将被分散到许多帧,帧数在 渲染 ‣ 尺寸 设定 。

    这意味着,例如,如果你将Blender设定在每秒25帧,使250帧,流体将看起来它已经在模拟开始前流动3秒, 但将在慢动作(十分之一的正常速度)中播放,由于1秒流体模拟在10秒视频的过程中被播放出来。为了解决这个问题,更改结束时间至13.0(3.0 + 10.0),以每秒25帧匹配250帧。现在,模拟将是实时的,因为你设置流体运动10秒,以模拟在动画钟的10秒。实际上有了这些控件为您提供了可“速度控制”的模拟。

    • 生成速度矢量
    • 如果单击此按钮,没有速度矢量将被导出。因此,默认情况下,速度矢量在硬盘上被生成和存储。它们可以被用于计算基于合成节点的模糊运动的图像。
    • 反向帧
    • 向后模拟计算。
    • 速度
    • 流体运动速度。速度选项可以放慢或加快动画的时间。
    • 偏移
    • 读取被烘焙缓存的时间偏移。
    • 烘焙目录
    • 对于烘焙选项见 烘焙

    参考

    ../../../_images/physics_fluid_types_domain_world.png流体世界(Fluid World)面板。

    • 粘度预设
    • 流体的“厚度",和使对象按照以一定速度和一定表面积在流体中运动所需要的力的大小。(参考动力粘度定义)

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

    手册条目由一个浮点数和一个指数指定。这些具有浮点和指数的表示(科学计数法)可使非常小或大的数字轻松表达。水在室温下的粘度为1.002厘泊,或0.001002帕; 水的密度为 1000 kg.m-3,运动粘度为00.000001002 m2.s-1—这样的条目将是1.002乘以10的负六次方(科学计数法表达为1.002×10-6)。热玻璃和熔化的铁也是流体,但是很稠(即粘度很大); 应输入像 1.0×100 (= 1.0) 来表示它的运动粘度(表示1.0×106厘泊)。

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

    Note

    粘度变化

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

    • 真实世界大小
    • 在现实世界中的流体域对象以米为单位。如果你想创建一个咖啡杯,这可能只有10cm(0.1米),而一个游泳池可能超过10米。这里设置的大小是域边界框的最长边。
    • 优化
      • 网格水平
      • 在模拟中采用的自适应网格水平数量。设置为-1将进行自动选择。
      • 如果您在处理高分辨率大流体域方面存在问题,它可能有助于降低这个(网格)数量(注意,这将增加计算时间)。

    参考

    流体边界面板。

    这个盒子有各种滑移和曲面选项。

    • 滑移种类
    • 障碍的表面粘性,就确定了“粘性表面(表面粘附)”。在现实世界中,流体的粘性,物体表面纹理细度,粘着度,由表面弹性决定。

      • 无滑移
      • 流体将保持紧贴(表面)(相对速度为0)。
      • 自由滑移
      • 流体将在对象表面上(相对法向速度为0)移动。
      • 部分滑移
      • 介于两者之间。设为0表示大部分是无滑移的 ;如设为1则表示大部分自由滑移。
    • 待办。
    • 去除气泡
    • 用以消除水下碰撞对象周围的“气泡”。
    • 表面
      • 表面平滑度
      • 应用到流体表面的光滑度。1.0是标准的,0是关闭的,较大的值将增加光滑度。
      • 细分
      • 允许在模拟过程中直接建立高分辨率面网格(而不是在事后对它进行如细分曲面调节器式的修改)。值为1表示没有细分,每增加一个值将导致每个流体网格单元的进一步细分。由此产生的网格迅速变大,并且可能需要大量的磁盘空间。在与大平滑值结合时需小心 - 这会导致很长的计算时间,由于表面网格生成。

    参考

    ../../../_images/physics_fluid_types_domain_particles.png流体粒子面板。

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

    • 示踪粒子
    • 一些示踪粒子在模拟开始时被投入流体。为了显示这些粒子,你需要创建一个粒子(Particle)流体类型对象,如下所示,这个对象与流体域烘焙目录需处于同一个目录。
    • 粒子生成

    左:没添加到模拟; 右:激活粒子和细分功能。