以 Phoenix FD 制作开啤酒的液体特效

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),如此可以渲染成啤酒泡沫。

5.最终渲染动画

关于作者

本文章由岑伟锦先生提供,作者是一名在广州就职的 CG 爱好者,经常在 Chaos Group 的官方微信群组分享他的 Phoenix FD 作品。文中将分享以 Phoenix FD for 3ds Max 制作开啤酒特效的关键步骤。流体模拟的结果表现了瓶盖打开后,液体向外喷出,泡沫上升窜出的效果,配合 V-Ray Next 渲染出拟真的画面。

作者联系方式: