4. FLIP流体模拟入门:创建第一个FLIP模拟
好,咱们正式开始玩FLIP流体了。
说实话,我第一次接触FLIP的时候,心里还挺没底的。那时候刚入行,看着Houdini里密密麻麻的参数面板,完全不知道从哪下手。后来做多了才发现——FLIP其实没那么玄乎,核心就那几件事:发射、解算、缓存。
这一章,我带你把整个流程跑一遍。你跟着做,半小时内就能跑通第一个FLIP模拟。
4.1 创建第一个FLIP模拟
打开Houdini,新建一个场景。在tab菜单里搜“FLIP”,你会看到几个选项:
- FLIP Fluid from Object — 从一个物体发射流体
- FLIP Tank — 带容器的流体模拟
- FLIP Source — 单独的发射源
我个人习惯用FLIP Fluid from Object起步。它帮你把发射源、容器、解算器都串好了,省事。
创建步骤:
- 先创建一个Sphere,半径0.3左右,放在原点上方
- 选中Sphere,按Tab输入“FLIP Fluid from Object”
- Houdini会自动生成一个网络:
sphere → FLIP_Object → FLIP_Solver → FLIP_Output - 点击播放按钮,你就能看到流体往下掉了
嗯,就这么简单。第一个FLIP模拟,跑起来了。
4.2 发射源设置
刚才那个例子,发射源就是那个球体。但实际项目中,发射源往往更复杂——可能是水龙头、瀑布、或者一个角色身上的水花。
发射源的核心参数在FLIP Source节点里。双击进去,你会看到:
| 参数 | 作用 | 我常用的值 |
|---|---|---|
| Source Type | 发射方式:Volume(体积)或Points(点) | Volume |
| Density | 粒子密度,越大粒子越密 | 1000(水) |
| Velocity | 初始速度,控制流体喷出的方向 | 0, -5, 0(向下) |
| Emission Type | 一次性发射还是持续发射 | Continuous |
我曾经在做一个水龙头项目时,死活调不出水流效果。后来发现是Emission Type设成了Single Frame,只发射了一帧。你想想看,水龙头只喷一帧,那能叫水龙头吗?
$F >= 1的表达式,否则粒子只会在第一帧发射。
4.3 粒子参数调整
粒子参数,说白了就是控制流体“看起来像什么”。
在FLIP Solver节点里,有几个关键参数:
- Particle Separation — 粒子间距。越小越精细,但计算量翻倍。我一般用0.02到0.05之间。
- Collision Separation — 碰撞检测的精度。设得太小,粒子会穿透物体。
- Viscosity — 粘度。水是0,蜂蜜可以设到10以上。
- Surface Tension — 表面张力。让流体表面更“紧”,适合做水滴效果。
举个例子:你想做一杯水倒出来的效果。
- Particle Separation = 0.03
- Viscosity = 0
- Surface Tension = 0.01
想做岩浆?
- Particle Separation = 0.05(不用太细)
- Viscosity = 50
- Surface Tension = 0.5
为什么会这样?因为岩浆粘稠,表面张力大,粒子间距可以大一点,省计算资源。
4.4 缓存与回放
模拟跑完了,怎么保存?
Houdini里,缓存就是把你算好的粒子数据存到硬盘上。下次打开不用重新算。
缓存步骤:
- 在FLIP Output节点上,点右键 → Cache → Cache to Disk
- 选择保存路径,建议用
$HIP/geo/flip_cache这种变量路径 - 设置帧范围,比如1-100
- 点Start Cache
缓存完成后,你会看到节点上多了一个绿色的小点。这时候把FLIP Solver的Display Flag关掉,只显示FLIP Output,就能流畅回放了。
回放时如果卡顿,可以试试:
- 降低显示粒子数(Display Options里调)
- 用Geometry Spreadsheet查看粒子属性,而不是直接看视口
- 把视口显示模式改成Wireframe或Points
我曾经在做一个商业项目时,缓存了整整一晚上,结果第二天发现路径写错了,缓存文件全白存了。嗯,从那以后我每次缓存前都会检查一遍路径和帧范围。
4.5 本章知识体系
下面这张图,帮你理清FLIP流体模拟的整个流程:
这张图把FLIP模拟拆成了四个环节。你每次做流体项目,都可以按这个流程走一遍。熟练之后,你会发现大部分时间都花在粒子参数调整上——因为那才是决定流体“像不像”的关键。
好了,第一个FLIP模拟你已经跑通了。下一章我们会深入粒子参数,看看怎么调出真实的水、油、岩浆效果。