×

太简单!用Realflow制作动画液态龙教程分享

发布时间:2019-08-20 16:39:17

在许多影视作品和广告中,经常可以看到由液体凝结而成的人或动物做出各种动作,产生令人不可思议的视觉效果。本案例中,将以液态龙为例,讲解此类案例的制作技巧,案例效果如图14-72所示。

oStep01打开Maya场景文件,如图14-73所示,选中龙模型,单击RealFlow标签下的圈按钮,在弹出的窗口中选择存储路径,设置导出帧数,勾选ExportSelected(导出选择)、Export Deformation(导出变形)等选项,如图14-74所示。


oStep02打开RealFlow,创建一个新的工程,将导出的long.sd龙模型文件存入该工程的Objects(对象)文件夹中。返回RealFlow界面,执行菜单lmport>Objects.…(导入>对象)命令,选择龙模型,将其导入,如图14-75所示。


oStep03在Nodes(节点)面板中,将导入的摄影机删除,龙模型中包含许多细小的结构,如图14-76所示。

OStep 04需要将这些文件编组以便管理,将主体文件(文件名为body)以外的细碎结构进行编组,在Nodes(节点)面板中选择除body以外的所有文件(配合Shift键可快速全选文件),单击鼠标右键,在弹出的菜单中选择Group(成组)命令,如图14-77所示,编组后的效果如图14-78所示。


oStep05此时,观察发现在Global Links(全局链接)面板中仍然有一堆散碎的文件;在本案例中,不需要这些物体出现在Global Links(全局链接)面板中,所以直接将这些文件删除即可。

如果在其他案例中,需要这些文件在Global Links(全局链接)面板中保留,可以不必再对所有文件进行编组,只需将该面板下的所有文件删除后,将Nodes(节点)面板中已经编组完成的文件拖曳进来即可,如图14-79所示。


oStep06创建一个Fill Object(填充对象)发射器,拾取龙模型的主体body,对body填充粒子后进行解算,如图14-80所示。


在图14-80中可以看到,由于龙模型本身自带动画,所以开始解算之后,龙(绿色)便缓慢移动了,但是粒子(红色)却停留在原处,并没有跟随龙模型一起运动;打开发射器的节点参数面板,也没有找到诸如“继承速度”、“跟随模型的运动”等类似参数,那么这个问题该如何解决?正是本案例的核心内容。

解决这个问题,自然是要回到粒子发射器上来,虽然在发射器节点参数面板中没有提供上面提到的那几个参数,但是仔细观察之后,发现有一个参数还是可以拿来利用的,就是Fill Volume(填充体积),该参数用于填充粒子,但是默认状态下仅填充一次。这里需要使该参数每一帧填充一次,这样粒子就能够跟上龙模型的“步伐”了;但是当下一帧的粒子出现之后,上一帧的粒子并没有消失,这个问题就比较容易解决了,为场景添加一个kage(k年龄)场,使粒子的寿命只有一帧即可。所以问题的关键还是如何能够使Fill Volume(填充体积)每帧填充一次?

操作方法是每解算一帧,便将Fill Volume(填充体积)关闭再打开,使其持续填充粒子,而这一操作也不需要手动完成,只需再次利用脚本。

oStep07由于需要每一帧执行一次,因此使用表达式编辑器,执行菜单Layout>Simulation Events

(布局>解算事件)命令(或直接使用Ctrl+F2组合键),在onSimulationFrame(每一帧运行一次)中写入以下内容,如图14-81所示。


def onSimulationFrame():

par=scene.getEmitter("Fill_Object01")par.setParameter("Fill Volume",False)

par.setParameter("Fill Volume",True)

pass:这个脚本较为简单,仅仅是获取Fill_Object01发射器中的Fill Volume(填充体积)参数,然后将其每一帧均关闭一次,再开启一次即可。

oStep08在工具架中单击园按钮,选择kAge(k年龄)场,保持节点参数面板中kAge(k年龄)项下的Life(生命)为默认值1即可,如图14-82所示。

oStep09再次进行解算,此时粒子就可以跟随龙模型进行运动了,如图14-83所示。


返回列表>