Houdini 中文帮助文档

FLIP Solver

将一个物体转为Flip流体物体。

Flip解算器时一种hybrid的,基于粒子和体积的流体模拟。

Parameters

Substeps

Timescale用于缩放内部解算器的时间。1是正常速度,大于1会使FLIP模拟加速,小于1会减慢运动速度。
Min Substeps设置Flip解算器的最小子步幅数量。
Max Substeps设置Flip解算器的最大子步幅数量。
CFL ConditionCFL 条件值是一个缩放因子,用于自动决定场景中所需要的子步幅大小。

例如,该值设为0.5,解算器会设置每个子步幅长度,这样就没有粒子在运动上会超过50%的粒子间隔。

Particle Advection CFL设置用于传输粒子的CFL条件 值。此值应当比上面的CFL值小,且其只会影响速度场中粒子的对流精度。

Particle Motion

Apply External Forces给粒子运用一个标准的力,如Gravity DOP中的重力。
Force Override如果启用,粒子上属性值为的区域会禁用体积力,而在值为0的地方会启用力。
Under-Resolved Particles基于FLIP Object DOP节点中的粒子半径缩放和网格缩放参数,单个粒子可以在网格中被重新解算,并且从压力解算器中消失。此参数控制解算器如何对待这些粒子。

No Detection不尝试检测正被重解算的粒子。
Detect Only在每个粒子设置 underresolved 浮点属性,暗示正在被解算的粒子数量。
Treat as Ballistic设置underresolved属性,并将它和强制覆盖属性合并来定义粒子是否会被作为弹道粒子或流体对待。
Use Extrapolated Velocity

使用推测的速度

使用推测的流体速度值,直到粒子超出有效的推测范围(由 Max Cells to Extrapolate.参数指定的)。对于超出有效范围的粒子,其设置回和弹道粒子一样。此可以减少水花的条纹效果。
Kill杀除任何已经被完全重新解算的粒子。

Note

如果粒子半径、网格缩放== sqrt(3) / 2, 粒子永远不会被重解算。

Collision Detection控制粒子和其它物体的碰撞检测。

None不执行粒子碰撞检测。粒子只会避免碰撞。
Particle执行粒子碰撞检测,包括粒子和其它模拟物体的反馈。此碰撞方式支持摩擦力和弹力。此是最精确的但速度最慢的碰撞方式。
Move Outside Collision通过将移动到任何碰撞物体的外部来执行碰撞检测。其比粒子方式更快,但是对于薄的,或移动快的物体精度很低。

Behavior

Collide with Volume Limits对于在 FLIP Object DOP上指定的封闭的边界,粒子会被约束停留在体积限制选项卡中指定的体积框内部。此设置可以用于封闭式的水池流体模拟。
Kill Outside Volume Limits杀除任何超出体积限制区的粒子。
Use Friction and Bounce启用对粒子摩擦力和弹力的支持,只有当碰撞检测方式设为粒子方式才会被启用。
Add ID Attribute给每个粒子添加唯一的ID属性。
Age Particles粒子的年龄。
Reap Particles杀除任何年龄属性大于寿命属性值的粒子。
Delete Attributes删除在流体模拟中输出的不需要的内部属性。从该列表中移除一个属性可以确保它在时间步幅末端存在。

Reseeding

Reseed Particles从新在体素中创建粒子,删除太拥挤的粒子。设置值过高,会产生大量的水花模拟。
Particles Per Voxel设置每个体素中粒子的数量。
Surface Oversampling当处于曲面的过采样带宽范围内时,缩放粒子的目标数量。
Oversampling Bandwidth在该数量的体素范围内过采样曲面,或任何曲面体积的边界(如果在边界处过采样开启的话)。
Oversample At Boundaries在流体体积的边界处进行过采样。
Birth Threshold一旦当前粒子数量低于该参数和目标粒子数量乘积,会在体素中添加粒子。
Death Threshold一旦当前粒子数量高于该参数和目标粒子数量乘积,会从体素中删除粒子。

Separation

Apply Particle Separation不管速度映射步骤,粒子会相互靠近。当此发生时,内部力不会分离粒子,因为速度映射会移除这些力。此会导致粒子随着时间被压缩。
Separation Iterations 执行分离放松步幅的操作次数。通常设为1.
Separation Rate将粒子朝着其想要的分离位置移动多远。可以降低它获取一个部分迭代计算的效果。
Separation Scale用于缩放粒子的分离效果。

Droplets

Detect Droplets

检测水滴

通过一个 droplet 属性(值范围为0到1)来标记从主水体上分离出的粒子。当粒子接近完全的水滴状态时,流体力对其的影响会降低。完全的水滴粒子不会将 velocity 速度返回到流体模拟中。
Min Particle Density当周围流体密度低于该值时,粒子的 droplet 属性值会为1(即满足了这个最小密度,粒子就会成为水滴粒子).
Max Particle Density当周围粒子的密度大于该值时,粒子的 droplet 属性值会是0,就不再是水滴粒子。
Behavior控制水滴粒子的处理方式。

Blend With Fluid当水滴粒子和流体相聚合时,流体和水滴粒子的velocity速度会根据下面的Velocity Blend 参数来混合。
Kill On Detection立即杀除任何水滴粒子。(水滴和流体碰撞时就立即消失)
Kill At Fluid杀除任何和流体相聚合的水滴粒子。
Velocity Blend控制水滴粒子和流体粒子速度之间的混合效果。(水滴的行为要是 Blend With Fluid才可用)。

Volume Motion

Force Scale最终速度的映射会改变粒子的速度。此“力的缩放”可允许你缩放该变化。值会1会更新粒子为新的速度值。值为0会保持原样不变。
Smoothing粒子速度的变化可以通过体积映射来决定,也可以用映射中真实的速度值来更新。后者会产生一个光滑的效果(临近的几个粒子速度会被平均,达到光滑效果)。
Update Surface控制在每个子步幅末端如何更新曲面的SDF,以便匹配粒子的速度。

None不更新曲面的SDF。
Advect通过速度场来传输曲面的SDF。此比创建更快速,但不精确。
Rebuild从粒子上重建整个SDF。此更精确,但计算慢。

Note

因为粒子的位置是在上一次解算顺序中更新的,所以,如果更新方式设为None的话,曲面的SDF会稍微滞后于粒子的位置。

Update Velocity控制在每个子步幅末端如何更新速度场,以便匹配粒子的速度。

None不更新速度场。
Advect通过其自身传递速度场。此比创建更快速,但不精确。
Rebuild从粒子上重建整个速度场。此更精确,但计算慢。

Note

因为粒子的位置是在上一次解算顺序中更新的,所以,如果速度更新方式设为None的话,速度场会稍微滞后于粒子的位置。

Volume Limits

如果偏离的粒子飞的太远,最终的体积网格可能会非常大,此选项卡就是让你设置最大的边界。

Visualize Limits显示模拟的最大限制框的向导对象。如果启用“动态重设场的尺寸”,那么真实的模拟尺寸通常会更小。
Box Size最大的体积尺寸。
Box Origin原始的最大体积。
Dynamically Resize Fields每个时间步幅上都重设体积的尺寸,用于在限制范围内包含粒子几何体。体积可以通过 Max Cells to Extrapolate(最大扩展单元)来扩展.(就像我们在做AO烘焙时,都会留4到6像素的扩展边)。

Collisions

Velocity Scale缩放输入的碰撞速度,如可以增加运动物体在流体上撞击产生大的水花的效果。此值应当是1,或者更大。

使用“Transparency透明”方式会减少流体上总的碰撞效果。

Velocity Type设置计算用于碰撞的DOP物体的碰撞速度的方式。此设置不会影响由Source Volume DOP产生的碰撞速度。

Rigid Velocity会把物体作为刚体来对待,计算出其碰撞速度。只会使用 angular velocity(角速度)和linear velocity(线速度),不会考虑变形。
Point Velocity通过是点的历史记录,会考虑到点的速度(即变形)。模型的拓扑不能发生变化。
Volume Velocity使用代表物体的SDF来检测变形。不需要固定不变的拓扑,但不可以检测切线速度。
Surface Extrapolation当流体曲面在一个碰撞的体素距离内时,解算器会认为它是碰撞物体的一部分。此扩展值可以帮助流体光滑的沿着曲面流动,但可能会创建一个稍有的厚度。减少该值会从碰撞上创建更多的动态飞溅效果,特别是当物体进入流体时。

Note

不建议将该值设为0.

Volume Fraction Method解算器会使用碰撞体积的部分估算值来增加弯曲的,或倾斜的曲面上压力的解算精度。

Voxel Face Area通过定义每个体素面如何被碰撞体积所遮蔽,来估算部分的碰撞权重。此方式会给倾斜的物体提供一个光滑的处理,但可能对方形物体会进行过分的光滑。
Collision Supersampling通过多次采样碰撞体积,来估算用于每个体素的碰撞权重。此方式可以更好的处理方形物体的碰撞,但可能在倾斜在曲面上会产生一些错误的摩擦力。
None不计算碰撞权重。高级用户可以使用该方式,通常会使用Gas SDF To Fog DOP节点来手动控制。(将该节点附加到Volume Velocity 输入端)
Samples Per Axis当 Volume Fraction Method参数为“Collision Supersampling”时,在每个轴向上会采样多少次。增加此值可以让估算更精确,但是,记住获取的采样点总数量是该值的3次方值。
Transparency使碰撞物体按该数量值对流体“透明化”,减少物体在流体上产生的效果,并允许有一些流体跟随着物体。

(相当于缩放物体对流体的影响)

Stick on Collision使流体的速度匹配碰撞物体的速度(当接近碰撞物体时)。查看Gas Stick On Collision DOP获取更多信息。
Stick Scale混合到流体速度中的碰撞速度数量,值为1表示流体会完全匹配碰撞速度。
Max Distance指定一个世界空间的距离,在该距离内会运用该效果。
Max Cells指定最大的体素数量,在该数量范围内会运用该效果。
Stick Bias控制粘滞距离内,影响的效果达到Stick Scale参数设置的效果的快慢(就是粘滞匹配的快慢)。
Normal Scale缩放在碰撞曲面法线方向上速度调节的数量。
Tangent Scale缩放在碰撞曲面切线方向上速度调节的数量。

Tip

保持一个高的 Normal Scale 值,降低 Tangent Scale 值可以创建一个粘滞效果,即流体会快速跟随碰撞对象,但任然粘滞在曲面上。

Control Field通过该空间中变化的场来缩放效果,在分辨率上,其应当匹配碰撞场。

Viscosity

Enable Viscosity启用粘度解算器。
Viscosity by Attribute使用指定的属性来覆盖粘度场。
Attribute Name用于粘度数量的粒子上的浮点属性名。
Mix Method如何将点属性和已存在的粘度场混合。
Viscosity Scale当运用属性效果后,会将该缩放运用到粘度场上。此可以用于快速的调节全局的粘度数量。

Density

模拟流体有一个统一的密度(FLIP Object上的Physical选项卡上)。要模拟变化的密度,你可以使用每粒子密度属性来控制流体的密度。

如果你通过连接到Flip解算器的 Volume Velocity 输入端(数据)覆盖密度场,你就可以任意的编辑密度场。

Density by Attribute使用指定的属性来操作密度场。
Attribute Name用于密度数量的粒子上的浮点属性名。
Mix Method如何将点属性和已存在的密度场混合。
Density Scale当运用属性效果后,会将该缩放运用到密度场上。此可以用于快速的调节全局的密度数量。

Divergence

默认体积的运动是自由分散的。此会强制临近的粒子要么分离,要么分散。但是,你有可能想要调节粒子的间距。

你可以添加一个每粒子的浮点属性来存储粒子要分散的程度。正值会使粒子散开,负值会导致粒子相聚。

如果你通过连接到Flip解算器的 Volume Velocity输入端(数据)覆盖分散场,你就可以任意的编辑分散场。(必须开启 FLIP Object上的Add Divergence Field 参数)。

Diverge by Attribute使用指定的属性来覆盖分散场。
Attribute Name用于分散数量的粒子上的浮点属性名。
Mix Method如何将点属性和已存在的分散场混合。分散场不会被帧到帧的重置。
Divergence Scale当运用属性效果后,会将该缩放运用到分散场上。此可以用于快速的调节全局的分散数量。

Solver

Spatial Scale用于缩放整个模拟效果。此值用于控制各种粒子操作的容差值,特别是移动的粒子(其要匹配SDF曲面值)。如果你的场景是以米为单位的,默认值1就足够了。如果场景单位是厘米,此值应当为0.01.
Mass Scale整个模拟中的质量缩放。此值控制着用于密度,粘度的容差值。如果场景是以kilogram为单位的,默认值1就足够了。如果是以grams为单位,此值应当为0.001.
Feedback Scale缩放流体对其它物体的反馈力。值为0表示流体不会对物体有反馈(即流体不会对物体产生作用)。默认的RBD物体和水的密度一样。如果增加该值,可以使RBD物体漂浮在水面上。
Extrapolation Mode控制解算器中扩展速度的方式。

Normal是一个可快速处理弯曲的碰撞容器的方式。此是推荐的扩展方式。
Fast-moving Colliders 速度慢,但是对于快速的碰撞以及低数量的子步幅,计算更精确。
Automatic Extrapolation By Speed自动基于流体的速度,增加扩展距离来增强对象快速运动的流体的处理。大多数情况下,此可避免调节 Max Cells To Extrapolate 参数。最终的扩展距离大于Max Cells To Extrapolate和所计算的速度值。
Max Cells to Extrapolate 要被速度值填充的非流体的单元数量(一个单元就是一个体素)。对于快速运动,或低数量的子步幅的流体,可以增加该值。
Use Preconditioner在压力映射和粘度解算中,涉及到的矩阵可能会被预处理,以便加速模拟。但是,此是一个单线程的处理。在有四个核心的机器上,禁用此预处理,并使用一个简单的Jacobi 预处理器(其是多线程的),可能会更快。
Parameter Operations每个数据选项都有一个关联的菜单,可以指定参数如何操作对象。

Use Default使用默认操作菜单中的数值。
Set Initial只当数据被创建时,设置该参数的值(设置初始状态)。在所有随后的时间步幅中,此参数数值不会改变。此可以用于设置,如位置,速度的初始状态。
Set Always一直都使用该参数值。此方式可以用于被设置关键帧的数值在整个时间上都需要时所使用。这可能在整个时间上都使用物体的关键帧位置,或导出SOP中的几何体物体在每个时间步幅上都被重新抓取(如果物体有变形)。

你也可以使用此设置与参数的局部变量来随着时间的改变而修改参数。例如,在X位置上,表达式$tx + 0.1会导致在每个时间步幅上都向右移动一个单位。

Set Never从不设置此参数的数值。当使用该节点修改一个已有的连接到第一输入端的数据块时,此选项非常有用。

例如一个RBD State DOP节点可以只给物体的质量设置动画。Set Never选项可以用于所有参数,除了质量参数(其会使用Set Always方式)。

Default Operation对于任意的“操作” 菜单中设置使“用默认方式”的参数,此参数控制使用什么操作方式。

该参数也有同样的菜单选项,意思和参数操作菜单一样,但是没有“使用默认”选项。

Make Objects Mutual Affectors开启此参数会使所有连接到该节点第一输入端的物体成为手动控制的效应器。

此相当于使用一个 Affector DOP节点在物体和物体间创建一个影响关系(在连接到该节点之前创建)。此选项使所有流入一个解算器节点的物体影响其它物体变得更方便。

Group当一个物体连接器被附加到该节点的第一输入端时,此参数可以用于从这些物体中选择被该节点所影响的一个Subnet容器。
Data Name提示会被附加到物体上火其它数据中的数据名。如果数据名包含一个或多个”/”,表示要进入子数据内部。

例如,如果 Fan Force DOP节点有默认的Forces/Fan数据名,此会将名为Fan的数据附加到一个名为Force的数据块中。如果不存在名为Forces的数据,会创建一个数据块容器来放置Fan子数据。

不同的数据块在应当使用什么名称方面有不同的需要。除非在及其罕见的情况下,会使用默认的数据。

Unique Data Name开启该参数会修改数据名参数值,确保由该节点创建的数据会使用一个唯一的名称被附加,这样它就不会在任何已有的数据中被覆盖。

当关闭该参数,使用相同名称附加两个数据块会导致第二个数据被第一个替换。

如果一个物体需要多个风扇力来吹起它,此时使用唯一数据名方式更容易确保每个风扇力不会覆盖先前的风扇力(而不是要试着改变每个风扇的数据名来避免产生冲突)。

在另一方面,如果已经知道一个物体被附加了一些RBD状态数据,关闭该选项可以允许一些新的RBD状态数据覆盖已有的数据。

Solver Per Object默认解算器的行为是附加同样的解算器到所有在指定组中的物体上。此可以让物体在一个但通道中被解算器所处理,因为这些参数对每个物体都是可识别的。 但是,在单个物体上的某些物体操作更逻辑化。在这种情况下,可以使用$OBJID表达式来改变解算器对于每个物体的参数。设置此项会在每个物体上创建一个单独的解算器,允许$OBJID 变量有所不同(按预期的那样变化)。

Inputs

Fluid to Solve要演变为粒子流体的模拟物体。
Particle Velocity此输入会在粒子速度被更新之后,传递到体积场之前,注入以微解算器。可以更深层次的操纵粒子的速度和位置。
Volume Velocity体积速度输入端中的解算器会在“体积速度场”被创建之后,在被设为非分散场之前,被添加。

附加到该输入端的解算器应当不会创建或删除粒子。

Sourcing (post-solve)该输入端的主要用途是 Source Volume node节点添加,或移除粒子(从几何体网络中导入粒子和体积对象)。查看流体源获取更多信息。

附加高该输入端中的节点会编辑模拟网络的速度场,如在主模拟步幅之后,运用一个自定义的力。

Outputs

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

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

点击分享到: