Houdini 中文帮助文档

Fluid Solver

运用SDF流体模拟的解算器。

使用工具架上的Liquid Container 工具会自动创建一个流体容器和流体解算器。

Setting up

如果你要设置一个流体网络,你可以使用Fluid Object node创建一个(带有Fluid解算器所需的数据)DOP物体。如果你已经有一个DOP物体,你可以使用Fluid Configure Object node来添加所需的数据到其上。

解算器会使用物体上的各种场类型的子数据。

物体应当有一个surface标量场,可以在空间中跟踪流体的曲面。

物体应当有一个vel矢量场,可以在空间中跟踪每个点的速度。

Tips

如果你的流体一直没有出现,试着关闭Build Outside Markers选项。你也可以将Marker Escape Threshold设为0,可以隐藏方盒内的流体。

比体素小的流体可能会消失。

如果你的源物体会变形,或和一个变形物体碰撞(使用 DOP relationship),默认解算器会使用每点的变形。要使解算器使用每点变形,在Fields > Sources 子选项卡上,设置速度类型为“点速度”。

Parameters

Simulation

这些参数控制着模拟随着时间的变化。

Time Scale时间缩放,可以缩放模拟的快慢。1是正常的速度,大于1会使流体加速,小于1会减慢流体的运动。你可以使用表达式doptime, dopframe,dopsttot, dopttost在全局和局部时间之间转换。
Confinement Strength

限制强度

当容器附加了一个vorticles(漩涡)数据时,此是一个用于漩涡力的整体缩放调节值。漩涡力是一些小的像风车那样的力,可以像流体中添加扰乱。
Speed Limit如果设置了,每个轴向上的速度场会被钳制到该最大值。此是在力计算后,分散或传输前完成的,所以最终的速度值可能会略大于此值。

Note

因为钳制是在每个轴向上完成的,所以沿着对角线的速度会比平方值高。

Viscosity控制流体粘度,低的值会更像水,高的值粘度更大,流体更浓厚。

另外粘度也是一个力,其会试着使临近的体素有一样的速度。

Use Friction and Bounce使用流体的物理参数控制碰撞处的摩擦力和弹力。关闭此项,流体的摩擦力和弹力会是0.

Relationships

在Houdini12之前,Pyro解算器会使用DOP关系来将源对象,水泵对象,sink以及碰撞几何体和流体容器产生关联,使用Merge DOP/Apply Relationship DOP来创建这个关系。在H12和之后的版本中首先方式是使用SOP网络创建源,水泵,Sink,以及碰撞几何体,并使用Source Volume DOP导入它们。

如果你想使用旧的关系方式来设置源,Sink等关系,你可以使用该选项卡中的参数来启用关系。默认,关系是关闭的,解算器会忽略这些关系。

你可以同时使用这两种方式,即导入导入DOP物体,并将其附加到解算器的“源”输入端,以及设置DOP物体的关系。当启用关系时,解算器会合并两种方式之间的源,Sink等关系。

Enable Relationships使用物体的关系数据来添加源,水泵,SInk以及碰撞几何体关系到模拟中(以及连接被导入的数据到源输入端)。

Sources

Enable Source Relationship给DOP物体使用一个“源”关系,即DOP物体作为一个发射源。
Velocity Merge源物体的速度如何影响容器的速度场。缩放参数控制着所添加的数量。

None源对象的速度会被忽略。
Net New Source在处流体被添加到源对象区域处设置速度。
New Source在有源对象的区域设置速度。
Velocity Type如何测量源物体上的速度。如果源几何体没有随着时间变形,可以使用“刚性速度”。如果源几何体随着时间变形,但不会改变拓扑,可以使用“点速度”方式。

Rigid Velocity源物体必须是无变形的才可以用该方式。
Point Velocity源物体可以有变形,但拓扑不能变。
Volume Velocity使用代表物体的SDF来检测变形。不需要固定的拓扑,但不可以检测切线速度。

Pumps

Enable Pump Relationship给DOP物体使用一个“水泵”关系,即DOP物体会作为一个水泵,对流体产生推动作用。
Velocity Merge源物体的速度如何影响容器的速度场。缩放参数控制着所添加的速度数量。
Velocity Type控制水泵物体的每点速度是如何计算的。

Rigid Velocity源物体的速度会把它作为一个刚体对待。只会使用角速度和线速度,不会考虑局部变形。
Point Velocity物体的速度会试图考虑物体的变形,但是物体的拓扑必须不变。
Volume Velocity使用代表物体的SDF来检测变形。不需要固定的拓扑,但不可以检测切线速度。

Collisions

Enable Collide Relationship给DOP物体使用一个“碰撞”关系,即DOP物体会和流体碰撞。
Restrict Mask to Bandwidth使用碰撞遮罩,只会从原始的碰撞几何体上计算到一定的距离范围。关闭此项会计算遮罩的完整范围。
Sticky Fluid定义碰撞物体是否阻止从其曲面漏出,而非只阻止流体漏出曲面。应当开启此项。
Collide with Non-SDF允许流体和没有SDF的物体碰撞,如其他流体。
Velocity Type控制如何计算碰撞物体的每点速度。

Rigid Velocity会通过把它作为一个刚体对待,来计算物体的碰撞速度。只会使用角速度和线速度,不会考虑局部变形。
Point Velocity会试着使用点速度来考虑物体的变形。但是物体的拓扑必须不变。
Volume Velocity使用代表物体的SDF来检测变形。不需要固定的拓扑,但不可以检测切线速度。

Sink

Enable Sink Relationship给DOP物体使用一个“SInk”关系。

Advanced

Minimum Substeps强制设置解算器所运行的最小子步幅尺寸。如果你使用的是烟雾解算器,可以增加此值获取一个更稳定的效果。增加它会使模拟变慢。
Maximum Substeps强制设置解算器所运行的最大子步幅尺寸。增加它也会使模拟变慢。
CFL Condition当最大子步幅大于1时,解算器会使用该参数来定义子步幅的数量。其条件是:没有子步幅会允许一个物体以大于该体素数量产生渗透的。高值可以通过更多的子步幅来移动烟雾,很可能让它穿过碰撞物体。
Frames Before Solve指定在完全解算完成前,等待的帧数量。只有这些帧或运用到运用到上一此解算器输入端的会被计算。

Surface

Correct Surface碰撞物体的运动可能导致流体和物体渗透。该参数会移除和碰撞物体渗透部分的流体。
Rebuild SDF用于定义初始化的ISO等高线,会直接从这些值上重建SDF场。
Reinitialize SDF如果场已经是一个SDF场,可以对场执行一些校正。当SDF未影响边界时,会重初始化场。
Reinitialize RateSDF的重建和重初始化会每隔N帧计算一次,N是重初始化的速率。
Reinitialize Iterations运用重初始化操作的次数。
Marker Escape Threshold距离标记必须是在曲面的错误一侧,且以标记的半径来测量,只有逃脱的标记会更新曲面值。

Markers

Build Inside Markers在曲面内部构件标记元。通过向外推动边界来校正曲面。
Build Outside Markers在曲面外部构件标记元。通过向内推动边界来校正曲面。
Markers Per Voxel在每个体素中所存在的标记数量。更多的标记可以更换的捕捉曲面的行为,但是可能会花费内存和处理时间。
Minimum Marker Radius标记元的最小半径,以体素尺寸来测量。
Maximum Marker Radius标记元的最大半径,以体素尺寸来测量。

Projection

Variational控制流体的随机变化效果,开启此参数可以让流体更有气势。
Scale by Surface通过粗略估计每个体素中有多少流体来缩放外部力。
Preserve Bubbles包裹在流体中的空气会被给定一个独立于边界压力条件的压力值。此可阻止气泡自身塌陷。如果没有设置,流体会从各个面流进气泡内。
Ghost Fluid压力会被扩散到空气单元中,而非只被设置为0.
Limit Velocity Extrapolation当速度场扩散到一个非流体单元时,当沿着边界特定数量的单元被填充后,会停止扩散。
Max Cells to Extrapolate要被使用速度值填充的非流体单元数量。

Strain

Use Strain添加一个“张力”场到物体上,来跟踪在每个体素上流体经历过的变形数量。
Plastic Flow Rate塑性流体的速率。当前张力会在每秒中以该速率消散。
Plastic Flow Threshold此是一个用于塑性流动的阈值。当张力值超出该阈值时,张力会根据塑性的流动而消散。
Strain Elastic Modulus和阻力系数类似,此是张力弹性的系数值。

Advection

Advection Type用于传输流体的算法。

Single stage等同于Gas Advect DOP节点,在每个点上会通过速度场返回跟踪一次,获取新的体素值。
BFECC and Modified MacCormack运行一个二级的基本传输步骤,会使尖锐的流体不会那么分散。
Clamp Values“BFECC and Modified MacCormack ”传输类型的错误校正可以移除超出容器的外的体素值,导致产生负的密度值的奇怪的效果。此参数可以让你选择一个方式来避免这个问题。默认是“重置”方式。

None不会进行任何校正。
Clamp限制每个体素值到可行的数值范围内。
Revert如果校正后的错误值仍然超出了范围,会将它返回到单级的数值。
Vel Advection Type用于传输速度场的算法。列表中更高的类型会降低场的外观粘度。
Advection CFL当跟踪粒子时,此控制在单次迭代计算中,粒子可以移动多少体素。高的值会产生快速的传输,和快速的跟踪,但会有更多错误。

Collisions

Feedback Scale是一个流体对物体反作用的力的缩放因子。值为0,流体不会反作用于物体,增加该值可以使物体漂浮在流体上。

Clear Fields

Fields to Clear在解算完步幅后,清空指定的场类型。此可以去掉不需要的模拟文件,减少模拟数据的尺寸,节约保存时间。

None不执行任何场的清空。

Hidden在下一个时间步幅中不需要的场,且没有向导参数的会被清空
Static在下一个时间步幅中不需要的场会被清空。
Additional此处时一个用空格隔开的额外场列表,在解算处理完成后,这些场数据会被清空。

Inputs

First Input此可选输入可用于控制哪个模拟物体会被该节点修改。任何通过该输入端连接的物体,以及匹配组参数的物体都会被修改。

如果该输入端没有连接,此节点可以配合一个Apply Data(运用数据)节点使用,或者可以作为其它数据节点的输入。

All Other Inputs如果该节点有多高输入连接对象,其它数据可以作为修改由该节点创建的数据的修改器。

指定的子数据类型对从节点到节点是非常有意义的。中键点击一个输入连接器来查看可获取的数据节点列表(这些节点可以被有意义的附加)。

Outputs

First Output此操作节点的输出取决于连接到该节点的输入对象。如果一个物体流输入到该节点,输出也会是一个包含同样物体的物体流(但是会在物体上附加该节点的数据)。

如果没有物体流连接到该节点,此输出就会是一个数据数据。此数据输出可以被连接到一个Apply Data DOP节点上,或者之间连接到其它数据节点的输入上,将该节点的数据附加到另外一个物体或数据块上。

点击分享到: