xpClothFX

Iterations:数值越高,布料越生硬。


xpConstraints

约束一共有6个板块,其中Viscosity、Friction、Surface Tension这3个都是关于流体模拟的,随着xp的更新,已经有更好的解决方案,但是这并不是说这3个板块就不用了,它们还是有自己的用处的。

Connections:粒子之间会有一个约束力,可以理解为粒子与粒子之间有一个弹簧,会限制粒子的运动形态。

Stiffiness:数值越小,弹簧越软,越容易被拉长。

Radius:如果粒子之间的距离小于该数值,那么就会生成一个弹簧。

Break As:超过一定数值,弹簧会断开。

以下分别为Birth和Distance模式:Birth模式下粒子只在出生的时候生成弹簧。Distance模式会一直判定,只要粒子间的距离小于设定的Radius数值,粒子间就会生成弹簧。

 

Collionsion:根据粒子的半径,计算粒子之间的碰撞。(如果发现有穿插,可以适当提高Subframe Steps)

 

Forces:每个粒子都有一个吸引力和排斥力,有点像微观结构的分子、原子。

Radius:吸引力或者排斥力在半径范围内生效。

Map to Param:贴图映射。比如映射到粒子半径,半径越大,吸引力越强。

 

Viscosity:粘度,用来创造那些比较粘稠的流体,比如蜂蜜、牙膏。其工作原理有点像Connections,也会在粒子之间创建黄色的约束力,不过这里的约束力不像弹簧,而像是麦芽糖。

 

Friction:摩擦力,用来创造那些比较粘稠的流体,比如蜂蜜、牙膏。

 

Surface Tension:表面张力,模拟流体时更容易凝聚x形成水珠。


xpDomain

通用的求解器,可以模拟水、流体,也可以模拟气体烟雾,但是速度效果不太好。


xpExplosiaFX

模拟气体烟雾


xpFlowField

可以改变粒子的方向、速度、加速度,可以理解为自定义力场,有点像R21新增的Field Force,我怀疑是R21学的XP,然后加了这个新功能。


xpFluidFX

模拟流体,精度高但速度慢

Int Pressure:内部压强,使流体向外扩张。

Ext Pressure:外部压强,压缩流体。这2个参数有点像是表面张力。


xpFliudPBD

简单的模拟流体,精度不是很高


xpFoam

通常会配合xpFluid或者xpFliudPBD使用,用来生成模拟流体时的气泡、泡沫。

Crest Rate:当流体形成波浪时会生成泡沫。由Min Crest和Max Crest控制泡沫的数量。

Air Rate:另一种生成泡沫的方法,当2个粒子相碰撞时生成泡沫。由Min Impact和Max Impact控制泡沫的数量。

Min Speed/Max speed:只有位于最大最小速度区间内的粒子,才会生成泡沫。

Min Crest/Max Crest:流体在运动时会产生波浪,这2个参数就是用来定义波浪的高度。可以把这2个参数的意义理解为一个阈值,只有达到阈值的波浪才会生成泡沫。Max Crest的数值越高,能达到这个高度的波浪越少,从而生成泡沫的数量就越少。下图,Max Crest的数值由5%增至90%,泡沫粒子的数量也由7634降至501。

那么问题来了,如何增加流体的卷曲波浪呢?找到粒子发射器xpEmitter – Extended Data – Fluid Data,适当降低Viscosity(粘度),增加Vorticity(涡流)。


xpPPCollisions

粒子与粒子之间的碰撞。


xpSheeter

模拟薄片状流体时,可以通过添加颗粒的方式填补孔洞。通常会把Max Density、Max Speed数值调高,通过调节Max Hole Size来控制整体形态。

Remove Sparse、Relative Speed、Check Age、Velocity Alignment四个选项都关闭,这样创建的薄片状流体相对规则完整,开启这几个选项可以让流体形成不规则的孔洞。下图分别为默认不勾选(图左)和开启Relative Speed、Velocity Alignment(图右)。

Angle:粒子A的运动方向,与粒子B的方向矢量之间的夹角。小于该值才会生成sheeter粒子,也就是说该数值越大,越容易生成薄片状流体。


xpSplash

类似realflow里的水滴皇冠效果,通常会配合xpSheeter使用。


xpWave

 

参考

https://space.bilibili.com/3714368/video