blender流体属性

以下内容基于 2.91版本

Blender 流体模拟属性测试(上)哔哩哔哩bilibili

Blender 流体模拟属性测试(下)哔哩哔哩bilibili

设置

Resolutio Divisions分辨率(细分精度)

1.细分精度越高,流体交互更密集,细节更丰富,

2.细分精度越高,模拟流体的粒子就会越多

时间比例

调节仿真速度

CFL编号

流体模拟的草率度,越高越草烘培越快。当模拟计算不准确的时候可以调节,调低数值减少高速移动的流体粒子无视障碍发生渗漏的状况。

时间步长

设置执行模拟步骤花费的时间,与调节CFL作用类似。

同步调高时间步长的最大值和最小值,可减少模拟不准确的状况。

处理穿过平面的渗漏有时调整步长和CFL都不理想,这时可以增加障碍厚度和表面高度。

液体

Flip比率

液体与翻转模拟的同步率,控制液体粒子因翻转产生喷溅的程度。

FLIP RatioFLIP比例与APIC

PIC (Particle-In-Cell粒子元胞法)与FLIP (FLuids-lmplicit- Particle隐式粒子流体法)是Blender中实现流体的两种方法,通过改变比例来控制二者参与计算的比重。

APIC (Affine Particle-ln-Cell仿射粒子元胞法)为Blender 2.92 Alpha引入的新流体模拟方法。

FLIP

特点:较好地保持了每个粒子的速度,计算精确,但是无秩序且不稳定。液体表面更多水花且不黏稠。

PIC

特点:模拟不够精确,但胜在稳定。ratio越接近0,液体越显黏稠。

APIC

特点:延续PIC的稳定性,但不像FLIP产生不稳定的随机和水花。粒子更加活跃且可预见。该技术已广泛应用于迪士尼和皮克斯的影视作品中。

液体粒子半径

粒子半径过小容易出现液体渗漏并消失的状况,调高数值可以解决液体体积也会相应增加。

密闭容器中增加半径要注意渗漏

Sampling采样精度

首先看一下Resolution Division(细分精度)的原理:通过改变全局细分精度来提升Domain中Voxel单位大小,从而增加流体粒子数量。

Resolutio Divisions分辨率(细分精度)

Sampling的原理:

改变每个Voxel单元中流体粒子的采样数量,从而增加流体粒子整体数量。

两种提升精度的区别

Resolution Divisions改变的是流体模拟的最小计算单位从而增加参与计算的粒子数以提升模拟精度。

Sampling改变的是每个计算单位里的流体粒子采样数,对全局模拟精度无提升,但能提升粒子间的运动细腻度和平滑度。

Randomness粒子随机性

Narrow Band Width窄带宽度

在流体模拟中,我们一般只会看到液体的表面运动,所以内部的流体运算没有必要,Narrow Band Width就是用来设置液体表面参与计算的宽度,大幅减少计算量,提升烘焙速度。

Diffusion流体扩散(漫射/扩散)

Base和Exponent决定了液体的粘度(Viscosity)

计算公式为:

Surface Tension为流体的表面张力,不同的流体会有不同的张力值,但Blender并未提供数值参考。

!!!注意!!!

实际上单纯靠参考值并不能得到预期的粘稠效果,甚至完全不符合预期,因为粘稠的还会受到环境温度、液体浓度、尺寸和重力的影响。

Blender 2.92 粘稠度参数测试哔哩哔哩bilibili

Blender 2.92 粘稠度参数测试哔哩哔哩bilibili

!!!注意!!!

在Blender中,可以通过调整作用域(domain)大小、细分精度(Resolution Divisions)、模拟步数(Timesteps)、FLIP比例(FLIP Ratio)、粒子采样率(Sampling)等参数来尽量模拟出预期效果。

Particles流体粒子

Bubbles (气泡):产生于液体表面或碰撞物体的接触面。

Spray (飞沫):产生于碰撞之后的外部区域(如空气中)。

Foam (泡沫):产生于流动液体表面的波纹和浪花中。

upres系数、波峰采样、滞留采样

增加upres系数时,粒子增多,与液体贴合更致密。

气泡浮力及气泡拖拽

气泡浮力和拖拽这两个值控制气泡的运动方式

两个值都低:气泡自由扩散(布朗运动)

高浮力:气泡主要上浮

高拖拽:气泡随波逐流

流体粒子渲染操作

在烘培时 Domian 中勾选 Particles - Spray/Foam/Bubbles,烘焙后在 Particle Properties Tab 中就可以找到分别属于 Spray、Foam、Bubbles 的粒子,选择任一在下面就可以定义渲染时的材质,可以设置 Render As Object,指定上好了材质的球体来模拟。

网格

Upres FactorUpres系数

Upres Factor会在ResolutionDivisions的基础上进步提升Mesh的细分精度,数值越大细节越清晰↓↓↓

跳转到Resolutio Divisions分辨率(细分精度)

!!!以调整细分精度来提高模拟精度作为主要手段!!!

Particle Radius(粒子半径)

Particle Radius用于设置Mesh的范围,值越大,液体覆盖的区域越多↓↓↓

网格正向平滑

调高数值可以处理高upres系数造成的不平滑,但是会造成细节缺失体现在飞溅的液滴融 成一片。

网格负向平滑

即正向平滑反着来,让网格变得好像没有被平滑过,调高数值会让液体尤其是喷溅出现更多细节以及锯齿。