Maya的FluidEffects流体技术在影视特效中的应用

2017-12-20 11:14彭城
科学与财富 2017年32期
关键词:流体

彭城

摘 要:影视特效绚丽的外表下无外乎是强大的流体和粒子特效,Maya的Fluid Effects流体技术是基于物体特性的真实模拟,同时易于操作的特性和真实可靠的渲染输出使其成为影视后期制作中被广泛使用的软件之一。

关键词:Maya 流体 影视特效

从《星球大战》开始,观众就开始将电脑影视特效与好莱坞大片联系在了一起。《侏罗纪公园》、《泰坦尼克号》、《2012》、《阿凡达》,一部部耳熟能详的优秀电影中都包含着令观众叹为观止的影视特效。这些影视特效的制作是依靠多款软件共同协作而产生出来的,其中Maya的Fluid Effects流体技术在环境模拟和细节体现上可谓功不可没。

一、Fluid Effects流体技术的概念

Maya的Fluid Effects是模拟流体运动的成熟技术,大到复杂多变的天气、波涛汹涌的大海,小到角色手中的香烟、咖啡杯中冒出的水蒸气,只要是在力的作用下不断改变形状的流体,这项技术都可以轻松的模拟出来。Maya应用流体动力学规律去摸拟流体运动,关键在于背后运用动力学流体模拟来建立真实的流体运动,让流体表现动感用粒子是难以实现的。这其中比较常见的基本流体效果类型主要分为以下两种:

1、动态流体效果

动态流体效果是完全模拟自然规律来反映流体的变化,Maya内置的Navier-Stokes方程可以根据用户定义的参数计算出不同时间段流体的真实形态,在不同的时间点,可以赋予流体不同的材质,从而使其更加的真实,比如腾空而起的烟花、浓烟滚滚的火焰等。动态流体需要Maya进行解算,因此运行比静态流体效果要慢很多,渲染输出可以借助烘焙关键帧加快运算。

2、静态流体效果

静态流体效果是不需要利用Navier-Stokes方程来进行解算、模拟流体运动的,用户需要利用材质和关键帧动画来完成动态效果。比如远处天空运动缓慢的云就可以使用静态流体来完成。由于不需要进行解算,其运行速度比动态流体效果要快很多。

二、Fluid Effects流体技术的应用

1、流体容器的基本控制

Fluid Effects流体在使用时要由用户定义一个边界,也就是为流体创建一个存在的空间,这个称之为流体的容器。在Maya软件里可以创建两种流体容器:2D流体容器和3D流体容器,如果用户仅仅是将流体效果展示出来,可以优先选择2D流体容器,因为这种更快捷、简便;如果用户制作的是快速变化的流体效果或者是需要模型在流体里穿过,那就最好使用3D流体容器。比如利用Maya制作的爆炸效果,就是利用了带有粒子发射器的3D流体容器来制作的,同时爆炸产生时火焰和烟尘会迅速升腾,因此容器高度Y值要相应的大一些才能满足需要。为了追求爆炸效果的真实性,Maya中还允许利用流体带动粒子,制作一些爆炸的碎片从爆炸点飞溅而出的细节效果,可见一个爆炸效果其实是流体和粒子层相互影响交融扩散的结果。

我们创建了一个流体容器后,在容器的底部会用栅格线直观的显示出分辨率,这些栅格里面的数值多少控制了流体的流动,栅格的多少可以通过Resolution项来调整。在渲染的每一步,Maya利用动力学解算器计算栅格中的数值,数值的变化,促成了流动的实现。流体容器的尺寸决定了流体存在的空间,由于爆炸效果的流体容器Y值偏大,因此我们应该在创建容器后先修改尺寸,让后将容器与物体打组,这样就不会影响爆炸的最终效果。最后我们还要注意容器的边界,流体在接近容器边界时有不同的衰减模式,一般会有四种模式:开放边界、双面封闭边界、单向封闭边界和循环边界。在开放边界模式下,流体容器的边界呈开放状态,流体运动时仿佛没有边界存在一样,更不会有衰减效果。双面封闭边界效果下,边界会像墙一样阻挡流体,将其限定在容器内。单向封闭边界模式下流体容器可以在用户定义的方向上对流体产生限定效果,除此以外方向的边界效果等同于开放模式,不会对流体产生限定。循环边界模式下,流体到达边界后会从该边界对应的另一边出来循环往复。

容器是流体的“工作区”,流体的大部分属性还是由发射器来进行控制的。在爆炸效果中,我们可以利用发射器定义爆炸的密度、速度、温度和燃料等属性,一般来讲容器的燃料和温度的交集产生爆炸或者燃烧时火焰的热量和烟尘的浓度。影响流体动态的因素有很多,包括阻尼,浮力,涡流力,扰乱力等等。渲染效果主要是由密度和温度来控制。燃料的作用是设定流体达到最大温度的反应时间或反应速度。对于一堆火来说,燃烧中心到边缘火焰的温度炽热颜色是不均衡的,因此在均衡发射流体密度的同时,扰乱发射器的温度和燃料输出就会在低温和高温颜色区间产生随机效果,使爆炸火焰变得更加真实。

由此可见,如果想表现流体的动力学属性就必需定义一个符合动力学规律的容器,解算过程中由Maya指定一个流体动力学解算器给这个容器,在每一个时间段中计算新的值来代替容器中的旧值。这里要说明的是在2D流体容器中,流体的贴图属性值在模拟计算中不能被改变。2D流体容器属性编辑器的容器设置卷展栏里会有一个区别于3D流体容器的选项——Use Height Field(使用高度场),它是2D流体专用的。可以将2D曲面绘制成高度场而并非平坦的平面,可以实现某些效果。同时开启此项后会使渲染速度加快。

2、流體与粒子的相互配合提升特效质量

粒子便于操控,而流体模拟更加接近真实,所以在实际应用中经常会将粒子和流体进行组合模拟。如果使粒子与容器之间建立约束关系,那么流体里的动力学能够作为场来对Emitter所发射出来的粒子施加影响,基于这个基础,粒子就能够受流体动力学驱动,并保持粒子的易操控性,力场还能够与粒子相链接,通过粒子来对流体产生作用。流体则能够用作粒子的纹理,还包括各种体积材质(volume shaders),这样流体的材质特性就能够保留下来在特效中显现。通过控制粒子的方法来对速度,粘性和速度散度进行控制,并提供了两种基本控制形状(球形各向同性控制和圆柱各向异性控制),而每个粒子的影响量则通过下降曲线来体现,在具体实施控制的时候又提供了软控制或者硬控制两种模式,从而为整个流动提供了一种灵活的控制机制。

由于我们做的是拖尾效果,因此越接近物体本身的最初状态应该是红热状态的气体,然后逐渐过渡到淡烟或者黑烟,因此要在粒子shape属性中手动创建userScalar2PP参数来控制粒子的自发光,同时这类特效在渲染时火焰和烟尘肯定都是一直在变化的,不会保持静止,所以我们要由粒子shape属性中的userScalar1PP参数时时控制流体中用于模拟流体运动的extureTime属性。导弹拖尾到后面肯定是越来越大的,因此我们还需要控制粒子的半径,也就是particleShaper下的radiusPP属性。

三、总结

Maya作为一款优秀的三维动画软件,真实的特效模拟是必不可少的因素之一,用户可以利用Maya中的粒子系统、Fluid Effects流体技术模拟出火山喷发、陨石坠落、战争爆破、大厦垮塌等等现实中无法拍摄或者拍摄代价过高的镜头,为电影制作者提供了一个实现想象力的广阔平台。虽然制作影视特效的软件有很多款,但就特效系统的灵活性与成品的细节表现力来看,Maya的Fluid Effects流体技术,特别是和粒子系统配合后形成的统一特效体系依然是特效师的首选。

参考文献:

[1] 姚明. Maya特效技术实战完全攻略.清华大学出版社. 2016年第一版

[2] 杨桂民,张毅,刘超,刘日明. 中文版Maya特效案例高级教程.中国青年出版社. 2017年第二版

[3] 陶立阳,郑超. Maya特效制作. 辽宁美术出版社. 2014年第二版endprint

猜你喜欢
流体
纳米流体研究进展
『流体压强与流速的关系』知识巩固
流体压强知多少
一维非等熵可压缩微极流体的低马赫数极限
山雨欲来风满楼之流体压强与流速
层结流体中带有耗散和地形强迫的非线性Boussinesq方程及其解
等效流体体积模量直接反演的流体识别方法
流体包裹体研究现状及展望
抗高过载微流体惯性开关
Lennard-Jones流体相平衡性质的Monte Carlo模拟