1.场景单位
关于场景单位,因为物体是小物体所以使用 Centimeters 为单位即可,不推荐使用 mm。作者使用下 mm 单位会出现一些 BUG。
2.整体配置
场景使用了一个酒瓶(Bottle),一个瓶盖(beer_cap),一个特殊几何体用来灌满瓶体(稍后说明),一个 PhoenixFD Liquid Simulator、LiquidSrc (拾取 Cylinder 为来源)、Particle Shader、一个 V-Ray 的穹顶光作为环境光,顶部的 V-Ray 面光作为主光源,另外两个是补光。
Phoenix FD Liquid Simulator Grid 参数(截图展示的为作者制作的最终参数)
设定 Grid 尺寸与分辨率:让 Grid 一开始可以完全包住瓶子(绿色框)
为了节约资源,需要开启自我调整 grid,[adaptive],参数需要根据你场景情况设置。
3.Liquid Sources 液体来源
本案例中,液体有两个来源。其一是用如下的几何体产生的 Initial Fill,初始灌满的液体;其二是以 Cylinder 圆柱体作为发射源,产生向外喷发的啤酒。
一开始的时候,我们希望瓶子已经有液体,所以使用瓶子内部的模型作为填充物体,并且设置切割,以保持水平面。
右击 phoenix 属性勾选 Initial Liquid Fill 就可以得到与模型相等的水位体积。
因为瓶盖打开的时候会有液体喷出,所以设置一个圆柱体作为喷射液体的发射器,摆放的在瓶子的轴向的中心,此时填充的水平面要覆盖住圆柱体发射器。
4.动画 KEY 帧
由于瓶盖飞出的动态,只是一个简单的直线运动加一些旋转,所以选择直接手 KEY。
要注意的是瓶盖飞出的第一帧关键帧,要在液体到达瓶口的帧相近。
然后是液体发射器的 KEY 帧。对场景中 Liquid Source (以 Cylinder 为发射来源)的 Outgoing Velocity KEY 帧。液体一开始有巨大的喷力并且有一定的时间然后消失,所以大发射量的帧数,要有个 20 帧左右(因为时间缩放值的原因所以我选择 20 帧的时间)接着又几帧的过渡为 0。
因为是要表现升格的原因,所以把重力以及时间缩放的值调小。啤酒并不需要拉丝所以把表面张力(Surface Tension)的强度[strength]调到 0.1
泡沫的设置。泡沫的发射率(Foam Amount)也是需要 KEY 帧,道理和液体的发射器一样,在喷射量最大的时候,泡沫的发射量也是最大。当液体的发射量为0时泡沫就不再发射。
当在 Phoenix FD Liquid Simulator 中勾选 Foam 选项时,场景会自动产生一个 Particle Shader。将 Mode 设定为泡泡(Bubbles),如此可以渲染成啤酒泡沫。