1、最终效果和实现步骤
在3DSMAX中,制作火焰的方法是非常多的,不过粒子流制作的火焰更加逼真。今天我们要制作一个火球,最终需要实现的效果如图 1。
效果 | 实现方法 |
---|---|
火舌从火球上产生 | 设置粒子流的发射源为火球 |
火舌抖动 | 多个Wind空间弯曲共同作用 |
火焰光芒 | Glow效果 |
消除颗粒感 | 运动模糊 |
火焰材质 | 在Opacity贴图通道中使用由橙红色到黑色的Gradient Ramp并添加少量躁波 |
2)建立一个摄影机,调整镜头对准物体“火球_Sphere”,按C键切换到摄影机视图,如图 3。
3)现在要建立粒子系统了,以前我们通过Create(创建)面板来建立粒子流的发射器,不过今天我们使用另外一种方法,这样可以更加完整地掌握粒子流和粒子视图的操作流程。
按6键,打开粒子视图,这时粒子视图还是空空如也,单击鼠标右键选择“New->Particle System->Empty Flow”,这样将会建立一个空的粒子流,如图 4。
4)在粒子视图的空白区域单击鼠标右键,选择“New->Operator Event->Position Object”建立一个新事件,将其命名为“火焰_Event”。 选择Position Object操作器,在右侧的属性面板中,单击ByList按钮,从弹出的对话框中选择物体“火球_Shpere”,如图 5。另外,还需要选择Lock On Emitter选项,这个选项的功能是让粒子发射之后停留在发射位置,不要移动,后面我们将通过空间弯曲来移动粒子。
5)这时如果播放动画仍然不会看到粒子发射效果,我们还需要一个Birth操作器。使用和上面类似的方法为事件“火焰_Event”添加一个Birth操作器。 然后将PF Source 01的事件输出和“火焰_Event”的事件输入连接起来,如图 6。
6)选择Birth 01操作器,设置其粒子产生方式为Rate,设置参数为300,也就是每秒产生300个粒子。注意,这个参数的值是临时的,为了制作更加真实的效果,后面将会增大这个参数的值,现在设置小一点,这样不至于影响制作的效率。这时播放动画就可以看到球体表面出现粒子了,这些粒子产生后会附着在球体表面,如图 7。
7)为事件“火焰_Event”添加一个Age Test测试,设置参数为Test Value=10,Variation=5,如图 8。
8)新建一个事件,命名为“火舌_Event”,将事件“火焰_Event”的Age Test输出和事件“火舌_Event”的输入连接起来,如图 9。
为“火舌_Event”添加一个Delete操作器,选择删除方式为By Particle Age,Life Span=10,Variation=50,它的作用是让粒子产生之后经过一段时间后自动消失。
3、空间弯曲
1)打开Create(创建)->Space Warps(空间弯曲),向场景中添加三个Wind空间弯曲,方向均指向上方。添加多个Wind空间弯曲的目的是制作出火焰抖动的逼真效果,我们知道火焰抖动是随机的,单个Wind空间弯曲很难制作的很逼真。设置这三个空间弯曲的参数如图 10。
2)建立一个Drag空间弯曲,将其命名为“减速_Drag”,在其属性面板中选择Linear Damping(线形阻尼),选中Unlimited Range,设置X、Y、Z三个方向上的阻尼值均为100%。另外别忘了设置它的作用时间(Time On和Time Off)为和动画的时间等长,如图 11。
3)向事件“火舌_Event”中添加一个Force操作器,选择这个操作器,在其属性面板中单击By List(通过列表添加),然后选择上两步中建立的四个空间弯曲,如图 12。
现在,火焰的动态效果已经基本只做完毕了,播放动画可以看到如图 13所示的效果。
4、材质
1)对于制作火焰效果而言,材质是一个非常关键的因素。首先应当设置好粒子系统的相关特性,向事件“火舌_Event”中添加两个操作器Shape Facing和Material Dynamic。选择Shape Facing,在其属性面板中单击None按钮,选择摄影机Camera01,以后用这个摄影机视角进行渲染时,粒子将会始终显示为一个对着Camera01的小正方形,如图 14。
这时渲染一个静帧可以看到大致如图 15所示的效果。
2)打开材质编辑器(快捷键M),选择一个空白样本球,将其命名为“火焰_Material”。首先在Shader Basic Parameters卷展栏中选中Face Map。然后设置其Ambient颜色为橙黄色,Diffuse颜色为略浅的橙黄色,由于Ambient和Diffuse的颜色不同,因此别忘了关闭前面的锁定颜色的按钮。Specular和Glossiness均设置为0,如图 16。
3)进入Extend Parameters卷展栏,设置FallOff方式为Out,AMT为10,后面的Type设置为Additive,如图 17。这里设置的是材质的Advanced Transparency(高级透明效果),通常对于类似玻璃的效果我们需要将Falloff方式设置为In,而对于烟雾和火焰效果则需要将Falloff设置为Out。AMT是Amount(强度)的缩写。
5、运动模糊和发光效果
这时进行渲染会发现两个缺陷,一是火焰有很明显的颗粒感,二是火焰竟然不发光,如图 20。为了修补这两个缺陷,我们还还需要添加运动模糊和Glow效果。
至此,火焰效果的制作就算完成了。如果你对渲染出来的动画效果不满意,可以对粒子发射数量进行调整,通常数量越多越好,火焰效果会更加细腻。不过要注意一点,当你提高了粒子发射数量之后,应当相应地减小事件“火舌_Event”中Shape Facing的Size参数,同时运动模糊的参数也应当缩小。