Fluids —— FLIP SOP

张开发
2026/5/31 21:02:22 15 分钟阅读
Fluids —— FLIP SOP
目录FLIP Container —— 创建容器域及相关场和属性FLIP Boundary —— 为生成或删除粒子而创建的surface或density VDBFLIP Collide —— 添加碰撞体FLIP Solver —— 解算器FLIP Volume Combine —— 合并不同精度的FLIP场FLIP Container —— 创建容器域及相关场和属性此节点创建并初始化粒子流体的域连入闭合对象或体积不必是矩形也可移动或变形以自定义形状无输入则通过节点参数控制域的尺寸和位置Particle Separation不仅控制域的精度还控制粒子和体素的数量及碰撞对象的精度该节点还提供流体的物理属性如density、viscosity当开启FLIP Solver SOP/Waterline选项可观察到域边界外也会创建粒子这是由于受环境影响并向域内流体注入velocity和pressure在域的边界粒子持续的发射和删除以维持水线和粒子数量边界框总是存在的即使没有waterline可通过FLIP Boundary SOP测试注当surface粒子是边界粒子时也会被考虑生成的mesh会变大通过Bounding Box参数剪切流体框的大小 输入模型边界框 间隙Sourcessource流体总是在此SDF内创建source -sourcesurface补种seed生成粒子Gas Seed Fluid Particlesflipsolver(DOP)/Volume Motion/Solver/Guiding Fields/Source Surface注souce、collision、sink激活区域其值当带宽超过其激活区域会全部填满sink流体总是在此SDF内移除sink -sinksurface删除补种的粒子Gas Seed Fluid Particlesflipsolver(DOP)/Volume Motion/Solver/Guiding Fields/Sink Surfacevelsurface在此SDF边界使用速度边界条件以使流体速度不会突然跨过velsurface边界会先和collision SDF合并以作为projection_collisionProject Non-Divergentflipsolver(DOP)/Volume Motion/Solver/Collision Fields For Solver/Collision Surfacevel通过“velsurface”或“guidingsurface”设置速度时使用的速度值vel -guidingvel复制引导速度到velGas Calculate及粒子vflipsolver(DOP)/Volume Motion/Solver/Guiding Fields/Guiding Velocityvel - vel初始化vel场guidingsurface在pressure projection后在此SDF内设置速度velguidingsurface -guidingsurface用于计算vel复制guidingvelflipsolver(DOP)/Volume Motion/Solver/Guiding Fields/Guiding Surfacepressuresurface在此SDF的边界应用pressure边界条件会产生气泡从surface场移除此SDF以作为projection_surfaceflipsolver(DOP)/Volume Motion/Solver/Surface Fields For Solver/Surfacepressure在free surface或pressuresurface边界应用此场被添加到surfacepressuremassdensity、viscosity、age及自定义场CollisionsurfacevelFLIP Boundary —— 为生成或删除粒子而创建的surface或density VDB此节点将输入的几何体转化为volume以控制解算也可直接连入volume可Merge多个对象以获得更加复杂的外形source作为发射源创建粒子可添加额外的速度Pressure-based sourcing通过定义Hydrostatic Pressure填充杯子或水池达到水位即停止velocity-based sourcing会溢出在整个模拟过程中创建粒子sink会删除粒子有负速度或压力产生吸力效果注仅当想添加或移除粒子从source或sink使用Pressure-based sourcingUniform Pressure粒子会沿源对象法线方向发射在给定的压力下如给定的压力被达到则源停止动画此参数以约束粒子在sink模式下设置为-1可创建吸力效果正值则会排斥Hydrostatic Pressure粒子会沿源对象法线方向发射在给定的压力下如Water Level被达到则源停止动画此参数以约束粒子建议值在0~1在sink模式下与Uniform Pressure区别不大Water Level仅与Hydrostatic Pressure一起才有效以定义阈值一旦水平面被达到则源停止如填充杯子或水池FLIP Collide —— 添加碰撞体此节点接收2D/3D几何体和volume作为碰撞体将对象连入到第四个端口以将对象转为碰撞体唯一调整碰撞体精度的方法是FLIP Container SOP/Particle Separation参数Grid Scale参数谨慎调节精确的碰撞体速度对流体解算非常重要不正确的碰撞速度可能会导致缺少动态飞溅或流体泄漏可使用merge连入多个对象或使用多个FLIP Collide节点可处理开放或封闭的3D对象及2D几何体如grids、planes碰撞体可移动或变形默认会计算速度Point Velocity SOPVDB Convex Clip SDF SOP使用Convex hull裁切SDF相对于Shrink Wrap/VDB from Polygons/VDB CombineFLIP Modify Volume更新碰撞速度FLIP Solver —— 解算器该解算器是基于粒子和基于体积解算的混合所有流体数据均存于粒子只有粒子需逐帧保存确保不会发生不必要的流体混合或损失但pressure projection是在体积被实时创建上完成的流体是被具有pscale属性的粒子表示的可被POP/DOP力移动当FLIP流体解算时临时的速度场会被创建粒子速度会被传递到该场该场被用于执行流体projection避免粒子相互叠加及相似方向运动FLIP Solver的优点是每帧只需运行几个子步然而SPH则需要5-10个子步或更多才能稳定FLIP利用一些体积场来帮助约束可能出现的瞬间impulse可在任何时候引入新粒子可使用许多POP工作流Waterline会创建初始的水体如部分填充容器或创建水面用于交互默认是特定厚度的水层是因为narrow band可加速模拟并降低内存水面以下的流体由体积或场表示第四端口的边界传递则必须禁用waterlineBoundary Condition水一旦到达域的边界就会消亡且新粒子会被创建以保持平衡粒子在source band内生成和删除在域外部周围该参数也与边界传递相关如产生翻滚的海浪对于不接触边界的模拟不必考虑“类型”如填充杯子Pressure Driven流体会更飞溅和扰乱也缺乏稳定Velocity Driven缺乏扰乱但更稳定Initial Surface如何填充域的方式依据Initial Surface、Waterline、Enable Particle Narrow Band的组合CollisionParticle Collisions依赖FLIP Collide SOP节点的Volume Collide、Surface Collide设置None禁用碰撞粒子与对象碰撞Particle如是2D或开放的3D几何体使用此模式Move Outside Collision如是封闭的3D对象和体积使用此模型Fluid Behavior在空气区域内不解算速度只是限制流体的速度以压缩或膨胀空气体积在Paticle Fluid Surface内使用Preserve Bubbles以保留流体内的气泡禁用Solver Pressure with Adaptivity参数VisualizationAdvancedFLIP Volume Combine —— 合并不同精度的FLIP场可将两个不同精度的FLIP场surface、vel、pressure融合到一组场中在FLIP up-res工作流中非常有用其使用低精度驱动高精度需使用mask平滑过渡可仅融合surface场

更多文章