这篇教程非常详细的介绍了flip流体的suction fluid的功能用法,也是非常简单的,核心需要注意两个参数,就是inside和outside distance。
suction fluid(流体吸引工具)是houdini16在particle fluid工具架上新增的工具。这个工具允许你吸收流体并且填充一个目标物体。基于你你使用的suction强度,沿着内部和外部的距离,你可以创建非常有意思的结果,通过控制流体融合模型的过程。流体和保留成目标物体的形态并且保持体积不变,或者可以通过一些连续的力进行捕捉或者释放流体。更有趣的是,使用静态和动态物体可以很戏剧性地改变最终流体的效果,因为流体同时被suction的力控制,同时也被运动目标物体控制。
suction fluid同样在流体限制框中起作用。你额可以导入obj模型并且使用flip tank工具,然后直接使用方便的suction fluid工具架工具,houdini会自动帮你创建剩下需要的节点来创建suction force。之后就是由你自己决定是多粗糙或者优化的suction流体结算。或者是多精确或者顺从的吸收形态。下面跟着我的步伐来看看做这个效果是多么的简单。
01加载你的模型
在一个新的houdini场景中(alt+N),找到create tab标签,点击file按钮。当choose geometry选择几何体窗口弹出,定位你想作为目标物体的模型。可以是obj或者bgeo格式的文件,选择它,点击accept并且点击enter,把物体放置放在坐标原点(0,0,0),给这个节点命名,在这个案例中,命名为skull头骨。
02调整你的模型
基于当前模型的旋转和大小,你也许会需要做一些重新定位,选择和缩放的工作来满足你的工作需求。在我的案例中,我需要选择这个skull。双击这个skul file节点,点击灰色的点,tab然后输入transform,选择这个节点。把显示标签在transform节点激活,然后就按照自己的需要调整移动旋转和缩放。之后有需要还可以回来调整这个节点。
03创建flip tank
现在就找到partile fluid 工具架标签点击flip tank工具。在3D视图中点击enter,你会看到创建了一个flip tank。缩放到适配你模型的正常比例。你可以通过点击fliptank中的红色箭头进行缩放。对我现在的案例,tank的大小是6*8*6,water level水平面是2,中心y周是4.点击u跳回到obj层级。
04修改particle separation (流体精度)值
默认情况下flip tank是设置为一个非常低的精度值。说要双击autodopnetwork节点然后选择fliptank节点。修改particle separation值为0.1,如果你需要调整skull更加靠近flip fluid,点击u然后双击fliptank_initial节点,在3D视图中点击enter,重新调整容器和增加water level水面平面的值。
05控制suctionforce 节点
在partifcle fluids 工具架上,点击suction fuid 按钮。选择skull和点击enter。然后选择flip fliuid然后再次点击enter。这样在flip sim模拟中会创建额外的节点,是一个gas field wrangle节点,命名为suctionforce。在这个节点里你可以控制流体的吸引力效果。
06测试你的效果
在houdini界面底部的playbar,激活realtime实时动画按钮。点击播放你就可以看到你现在效果。也许你想修改更长的时间线来查看效果。可以通过全局动画选项进行设置。
07调整吸引力的强度
已经有一些初始化的吸引,但是我想让流体填充完整个头股。所以停止动画预览,然后在suctionforce node节点中,修改suction strength为10,000,回到第一帧然后再次播放,你可以看到头骨填充更多的流体,并且速度更快。
08用mesh形式预览流体
想要以mesh的形式进行流体预览,选择fliptank,在guide tab标签下选择flip object,然后在visualiztion标签下,去掉勾选particles然后激活surface。我还需要做一些调整来提升流体的效果。
09inside 和outise distance 内外距离
回到gase filed wrangle:suctionforce,改变inside distance为0.5然后改变outside distance在第一帧的是k关键帧值为1,然后在第158帧设计值为0.4.
10最后面的优化
在material palette材质面板中创建一个milk chocolate 牛奶巧克力材质然后赋予给fluidtank fluid节点。添加一些灯光和HDRI,设置你的摄像机和你可以渲染了。
inside distance
内部距离定义的是流体在目标物体的之间的距离,值越少,更多细节的保持形态。
outside distance
外部距离,目标外部吸引流体到目标物体。所以一开始可以值大一点,当流体已经填充目标物体的时候,值设置为0;