利用单一材质的粒子制作真实的火焰是比较吃力的,把爆炸火焰的燃烧状态分析一下的话我们可以将其分为三种效果状态
1、爆炸中核心燃烧部分的火焰效果,呈炽热的黄色。
2、爆炸中围绕核心部分滚动的灼热火焰效果,呈红色。
3、爆炸中滚动的黑灰色烟尘效果。
所以,我们需要的就是三个在相互缠绕、交融中滚动散开的粒子层,三层粒子如果分别用黄、红、灰色来表示的话,其反映的剖面的相互关系应如图N-A所示,三者间既要有交融又要有相互的内外层次。
这是最后的效果
图1
下面我们就开始制作这三层粒子。
图2
1、建立一个NURBS球体,设置其半径值为3,选择此球体,选择Modify>Make Live命令,此时球体线框变为绿色。
图3
2、选择Particles>article Tool命令右侧的小方块,在弹出的窗口中设置如图所示。
图4
[page]
3、使用Particle Tool工具在NURBS球体上画出覆盖整个球体表面并且有一定密度变化的粒子层,达到所需要的效果后按Enter键,完成粒子的建立,在Outliner窗口中为其重命名为yellow,如图所示,我们将用它制作爆炸中核心燃烧部分的火焰效果。
图5
4、在Outliner窗口中选择NURBS球体,用缩放工具将其放大到原来的1.1倍,继续使用Particle Tool工具在NURBS球体表面画出和上步操作要求相同的粒子,完成后在Outliner窗口中为其重命名为red,如图所示,我们将用它制作爆炸中围绕核心部分滚动的灼热火焰效果。
图6
5、再次在Outliner窗口中选择NURBS球体,用缩放工具将其放大到原来的1.1倍,继续使用Particle Tool工具在NURBS球体表面画出和上步操作要求相同的粒子,完成后在Outliner窗口中为其重命名为black,如图所示,我们将用它制作爆炸中滚动的黑灰色烟尘效果。
图7
6、在Outliner窗口中选择NURBS球体,按Ctrl+h键,隐藏它,在Outliner窗口中选择所有的粒子,选择Window>General Editors>Attribute Spread Sheet...命令,在Channels Box中修改粒子的类型为Cloud。
7、我们还需要为粒子建立力场,使其产生散射出去的动态效果,在Outliner窗口中选择所有的粒子,选择Fields>Turbulence命令,加入扰动力(设置自己实验)。
8、继续在Outliner窗口中选择所有的粒子,加入Fields>Drag,添加拖沓力场。
图8
9、选择所有的粒子,选择Fields>Radial命令。
10、在Outliner窗口中选择Radial力场,打开其属性窗口,为Magnitude项设置如图所示的关键帧,使用Radial力场的目的是为了给粒子提供一个瞬间的散射速度。
图9
11、在Radial力场属性窗口,将Volume Shape类型设置为Sphere,并使用缩放工具将其放大到能够包容所有的粒子的程度,如图所示。
图10
[page]
12、由于我们没有用发射器而使用了固定数量的粒子,为了弥补粒子散开而留下的缝隙,我们还需要使粒子的在散开的过程中增大相应的Radius值,选择yellow粒子,打开其属性窗口,为Radius项设置如图所示的关键帧。
图11
13、选择red粒子,打开其属性窗口,为Radius项设置如图所示的关键帧。
图12
14、选择black粒子,打开其属性窗口,为Radius项设置如图所示的关键帧。
图13
15、按时间滑块上的播放按钮,就可以看到粒子的散射过程了。
图14
材质是制作爆炸火焰效果的非常重要的因素,Blob Map的影响纹理决定了火焰的类别,在这里我们使用的是stucco纹理。
首先我们要实现的是yellow粒子的纹理,建立一个Particle Cloud材质,为其重新命名为yellow,打开它的属性窗口,对其设置如图所示。
图15
点击yellow材质的Life Color属性项,为其加入一个Ramp纹理节点,对Ramp纹理节点的各颜色点位置与颜色设置如图所示:
图16
点击yellow材质的Life Transparency属性项,为其加入一个Ramp纹理节点,对Ramp纹理节点设置如图所示:
图17
[page]
点击yellow材质的Blob Map属性项,为其加入一个stucco纹理节点,对stucco1纹理节点设置如图所示:
图18
点击stucco1纹理节点的Channel1属性项,为其加入一个stucco2纹理节点,对stucco2纹理节点的Channel1和Channel2颜色设置如图所示:
图19
对stucco2纹理节点的贴图坐标设置,这个数值自己实验,多次渲染实验,自己满意就行,我的是:
图20
将yellow材质赋予yellow粒子,在Outliner窗口中选择red和black粒子,按Ctrl+h键,隐藏它们,建立一盏Intensity为16的Ambient Light,使它只照亮yellow粒子,如图所示。
图21
渲染一下,我们可以看到呈炽热的黄色的核心燃烧部分的火焰效果。
图22
我们继续制作black粒子的材质,在Multilister窗口中,选择red材质,选择Edit>Duplicate>Shading Network命令,复制出一个red材质的材质体系,为其重新命名为black,Multilister窗口中删除影响black材质Life Color属性项的Ramp5纹理节点,将black材质的Color改为纯黑色,修改影响black材质Life Transparency属性项的Ramp6纹理节点如图所示。
图23
修改影响black材质Blob Map属性项的stucco6纹理节点如图所示:
图24
[page]
将black材质赋予black粒子,取消black粒子的隐藏状态,建立一盏Intensity为0.1的DirectionalLight,使它照亮black粒子、yellow粒子和red粒子,如图所示:
图25
red粒子的材质,相对yellow材质的设置差不多,只是相对暗一些,将red材质赋予red粒子,取消red粒子的隐藏状态,建立一盏Intensity为1.2的DirectionalLight,使它照亮red粒子和yellow粒子,如图所示。
图26
现在渲染就好些了。
图27
图28
为了使火焰的燃烧动态更接近真实,火焰材质的纹理贴图坐标应具有与粒子运动相似形态,为了使贴图坐标能获得力场的影响,我们还需建立一个nurbsCube物体,建立后,在Outliner窗口点击nurbsCube1左侧的小加号,展开它的下一层级,我们发现它由六个NURBS面构成,当前火焰材质的三维贴图坐标刚好也正有6个,用鼠标中键将贴图坐标逐一依次拖动到每一个NURBS面下,使其成为NURBS面的子物体,如图所示。
图29
建立Drag、Turbulence力场,在Dynamic Relationships窗口中使nurbsCube物体的每一个面都与刚才建立的力场建立连结。
图30
在persp窗口屏障掉NURBS物体和粒子的显示,按时间滑块上的播放按钮,可以看到火焰材质的三维贴图坐标在间接继承力场影响力的状态下运动的状况,如图所示。
图31
我们还需要制作在爆炸中散射出来的固体物质,首先要建立的是粒子的替代物体--不规则的石块,建立一个Subdivisions值都为4的Polysphere,通过修改它的结构点位置得到石块的大体形状,完成后为其重新命名为stone,如图所示。
图32
[page]
在Outliner窗口中选择NURBS球体,选择Particles>Emit from Object命令,以NURBS球体为发射物体表面建立一个粒子发射器,打开发射器的属性窗口,在弹出的窗口中为其Rate值设置如图所示的关键帧图片:
图33
Outliner窗口中选择粒子发射器发射的粒子,为其重命名为stone。 在Outliner窗口中选择stone物体,按Ctrl键选择stone粒子,继续选择SelectParticles > Instancer (Replacement)命令,则每一个粒子都为stone物体所替代,选择stone粒子,按Ctrl+a键打开其属性窗口,在Instancer (Geometry Replacement)属性栏下设置如图所示。
图34
调节好它的材质,最后和粒子一起渲染。
图35
图36
图37
Color和Life Color 尽管在Particle Cloud材质的属性窗口中点击Color项和Life Color项节点都可以直接打开同一个Ramp纹理节点,但是将Ramp纹理节点与Color项和Life Color项节点相连结所产生的结果是不同的,如图所示就是在分别与二者相连结所带来的不同结果,相比较而言,将Ramp纹理节点与Color项相连结,粒子的贴图会使渲染结果出现明显的横向纹理的痕迹,为什么这样我也解释不清楚。
图38
我们把控制三种不同燃烧形态的火焰的亮度的灯光yellow、red、black的Intensity值分别改为5、0.4、0.05,减小灯光的亮度,渲染得到的结果爆炸效果会偏暗,如图所示,但在亮度调节上会有更大的回旋余地。
图39