来源:
互联网
作者:
若水
2008-04-01/17:29
粒子系统是衡量一个三维动画软件强弱的重要标准。Maya 2.5拥有目前
世界上最强大的Maya F/X特效软件包,能精确模拟真实世界中存在的各种作用力,比如重力、风力、摩擦等。而Softimage Extreme 3D 3.8的粒子系统是独立的程序组,有占用系统资源少、渲染效果好等特点,最新的Softimage的超强进阶版本Sumatar更是将粒子系统合并进统一的软件中,更加方便操作。而3DS Max 3.0的粒子系统基本上和上一个版本(2.5版)没有多大区别,只是加入了粒子系统可以参加动力学计算的功能。但即便如此,3DS Max 3.0的粒子系统也是足够的强大了。下面,就笔者认为的最有价值的功能专题介绍。
1.爆炸效果和气泡效果的模拟——PArray。
PArray能够指定一个场景中的物体作为发射器,并能将粒子设为该发射器物体的碎片而且数量可调,这样,就能轻而易举的模拟爆炸效果,其真实程度远远高于其他方法。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Blast.max文件,播放动画可以看到爆炸效果,如图1所示。场景中的PArray指定了火箭物体作为发射器(Emitter),在Particle Type下的Particle Types下选择Object Fragments,并在Object Fragments Controls下选择Number of Chunks,设参数值为100。这样,爆炸便产生了。
如果将PArray的Particle Type设为普通物体(Standart Particles),也能产生千变万化的效果。用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Bubbles.max文件,播放动画,如图2所示。场景中的PArray指定了Cylinder02物体作为发射器(Emitter),在Particle Type下的Particle Types下选择Standart Particles并设Standart Particles为Sphere,于是便产生了气泡上升的效果。
2.指定替代物体的超级喷射——SuperSpray。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的P_spawn1.max文件,播放动画,如图3所示。超级喷射SuperSpray和PArray一样可以指定场景中其他物体作为粒子,该场景中,SuperSpray01的Particle Type下的Particle Types下选择了Instanced Geometry,并在场景中选择了Hedra01。我们发现动画过程中粒子物体是在不断变的。这其中的奥秘在SuperSpray01修改命令面板下的Partical Spawn下,如图4所示。首先,我们在Partical Spawning Effects下选择Spawn on Death,即消亡后产卵。然后,再在高级产卵控制栏中设置如下:在相应的关键桢处,在Object Mutation Queue栏中点取Pick,在视图中分别点选Hedra02、Hedra03;然后再在Lifespan Value Queue栏中的Lifespan中填入10,点取Add,重复上述步骤一次。这两个参数设置的意义分别是:选择新的个体替身物体,设置新物体的生命值。这样,我们播放动画时,替身物体就会不断变形。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的P_spawn2.max文件,
播放动画,如图5所示。这个动画的原理和上一例是完全一样的,所不同的只是替身物体更多。我们需要注意的是场景中的四个Deflector物体,这是不可渲染且只作用于粒子系统的“挡板”,在粒子动画中很有用。要使它们生效,必须将它们绑定(Bind)到粒子物体上;而且系统将把它们始终放在修改堆栈的最顶层。
3.粒子特有的材质——Particle Age和Particle Mblur。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Par_age.max文件,
播放动画,如图6所示。场景中的Spray01粒子物体是Omni01的父物体。它的材质是粒子特有的材质——Particle Age和Particle Mblur。前者用于Diffuse贴图,如图15所示,粒子会随着时间的变化而变化颜色;后者用于Opacity贴图,根据粒子的运动速度进行模糊处理。此外,场景中的Omni01加了一个Volume Light体积光效果,其参数设置和最终的渲染结果如图6所示。一般,制作粒子系统的材质,都是Particle Age用于Diffuse贴图,Particle Mblur用于Opacity贴图,这在片头的火焰飞行动画中尤为常用。
4.粒子系统参与动力学运算。
这项功能是3DS Max 3.0新增的。用3DS Max 3.0打开光盘目录下的
Tut\Tut03下的ParticleDynamics_1.max文件,播放动画,如图7所示。进入程序命令面板,打开Dynamics,在这里我们可以查看有关动力学计算的内容,如图16所示。场景中只有Box01和Table top参与了动力学计算,除了重力之外,还有一个3DS Max 3.0新增的PdynaFlect物体,它专门用于粒子系统参与动力学运算,如图17所示。将场景中的粒子系统绑定(Bind)到PdynaFlect01上,并且将PdynaFlect01放置于Box01和粒子相交的平面上,将它链接成Box01的子物体,这样,当粒子和PdynaFlect01相交时便推动了它和它的父物体Box01,使Box01向后运动。
5.粒子动态空间扭曲物体。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Partrail.max文件,
播放动画,如图8所示。这个场景中涉及了最常用的三种粒子动态空间扭曲物体——Gravity、Deflector、Wind。将这三种粒子动态空间扭曲物体分别绑定到粒子系统上,使喷射出来的粒子呈现出逼真的效果。注意,在SuperSpray01的Particle Spawn栏中,Lifespan Value Queue栏中的变化很多,避免了粒子形态的重复。3DS Max 3.0的粒子动态空间扭曲物体进行了重新的分类,种类也更加丰富,仅关于粒子系统和动力学的就有Particle only、Dynamics Interface和Particles&Dynamics三大类,基本上可以真实的模拟自然界的各种动力和扭曲现象。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Par_lava.max文件,
播放动画,如图11所示。这也是一个利用粒子动态空间扭曲物体制作的动画。除了常见的重力和档板以外,和球体重合的Sdeflector值得注意。
6.瀑布的模拟——Spray。
笔者《数码影视后期制作实战演练》(希望电子出版社出版)中曾讲解了一例瀑布和一例喷泉的制作。其中瀑布的制作技巧较为独特,周围的岩石运用了Camera Map编辑修改器,所以渲染的结果比较真实。用3DS Max 3.0打开光盘目录下的Tut\Tut03下的waterfall.max文件,如图9所示。场景中用Spray模拟瀑布,运用了Motion Blur模糊;岩石运用了UVW Mapping修改器,而岩石又被指定为三个Udeflector物体的替身物体,如图10所示。这样,就产生了瀑布跌落到岩石上又被反弹出去的效果。场景中的蝴蝶的建模和动画曾在“第二节 建模的常用方法”中讲解过;两盏灯光,一盏用来照亮场景(Spot01),一盏用来模拟阳光(Sun)。 #p#分页标题#e#
Spray的参数不多,但如果调节合适,完全可以模拟出迥然不同的效果。用3DS Max 3.0打开光盘目录下的Tut\Tut03下的水管.max文件,如图13所示。场景中的模拟水的粒子系统同样是Spray01,但参数稍稍改动就不再是瀑布而是水滴。注意,Spray01的材质是在Glossiness和Specular Level都设为0的情况下,将渐变材质运用于Glossiness贴图所得。
7.Pcloud的材质和运动模糊。
Pcloud粒子云可以将粒子限制在一个空间内,通常是球体、圆柱体或立方体等,也可以是其他指定的物体;而替身可以是规则物体,也可以任意指定。赋予Pcloud粒子系统不同的材质,可以模拟各种不同的物体;而用或者不用运动模糊,也会造成迥然不同的视觉感受。
用3DS Max 3.0打开光盘目录下的Tut\Tut03下的Moto_星.max文件,如图12所示。场景中Pcloud粒子系统的材质是渐变材质,亮度和色彩都是由中间向外侧渐变。图12中分别有赋予了运动模糊和没有运动模糊的渲染结果,可以比较。同样,Tut\Tut03下的星-2.max文件也是赋予了渐变材质和运动模糊的Pcloud粒子系统,如图14所示。两个场景运用的粒子动态空间扭曲物体都是Motor和Wind。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的彗星拖尾.max文件,播放动画,如图33所示。这个场景中用来模拟彗星尾的Pcloud粒子云没有指定替身物体,而是用了Cylinder Emitter。这样,运动起来,就很像彗星尾的形状。
8.3DS Max 2.5的粒子插件——Sand Blaster(沙漠风暴)。
Sand Blaster(沙漠风暴)擅长粒子变形,在广告片头中应用非常广泛。下面我们用它来制作一个有趣的“跳圈变形游戏”动画。
打开3DS Max 2.5,确认该软件装有Sand Blaster(沙漠风暴)插件。打开光盘目录下Tut\Tut03下的“米老鼠.max”文件,然后在场景中用Torus建立一个跳圈,最后,再用File下的Merge命令合并Tut\Tut03下的“怪兽.max”文件,并适当缩小怪兽大小,使它和米老鼠一样大。将场景中的米老鼠和怪兽分别放置在跳圈两边,如图29所示。进入建立命令面板的Geometry,选择Digimation Particles下的Sand Blaster,在Left视图中建立一个Sand Blaster粒子系统的标志,然后进入修改命令面板进行调节。按下Set Emitter,在视图中选择“米老鼠”,将它作为粒子发射器;按下Set Target,在视图中选择“怪兽”,将它作为第一个发射目标;因为我们只准备做一次变形,所以将Targe数量设为1。勾选Particle Activation和Render Activation,这时,米老鼠的周围已经有十字状的粒子出现,如图19所示。进入显示命令面板,用Hide by name命令将“米老鼠”和“怪兽”物体隐藏起来,这样,Sand Blaster粒子系统才能生效。回到修改命令面板,将Render下的Particle Count设为1000,并选择Sphere球体方式,其它参数保持默认值。展开Emitter:米老鼠,将End Emission(结束发射)值设为25,这样,米老鼠将在25桢之前全部变为粒子。默认Top-Bottom(顶-底)方式,这样,米老鼠将由上而下发射自己。在Particle Location中选择Emitter Simulation,把“米老鼠”物体由实体转化为粒子发射。在Material and Mapping下,选择Master,Use Emitter Material,To Target;这样,米老鼠发射出的粒子将使用原材质,如图20所示。最后设置Target:怪兽面板,有关参数含义和“Emitter:米老鼠”面板一样,这里不再重复。需要注意的是,系统默认的是Visible Edges only选项,这样怪兽最终将以粒子方式显示,如果想让它还原实体显示,需要选择Target Simulation(目标模拟器)选项;此外,如果想让怪兽还原自身的材质,需要在Material and Mapping下,选择Master,Use Target Material,如图21所示。播放动画。最终渲染的几个关键桢二.3DS Max 3.0、Maya 2.5粒子系统在
虚拟现实中的高级运用
1.烟。
制作烟是虚拟现实场景的一个难题,因为无论其形态还是其材质和动画都太“随意”,不易模拟。而粒子系统的随机性恰恰符合制作烟的需要。下面,我们用3DS Max 3.0和Maya 2.5的粒子系统模拟现实世界中各种各样的烟。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的smoke_motionblur.max文件,如图22所示。场景中用SuperSpray超级喷射模拟烟,粒子数量只设为100,粒子形态设为Sphere球体,但Motion Blur(鼠标右键点击物体,在弹出的菜单中选择properties,再紧接着弹出的对话框中有关于Motion Blur选项的设置)的值设为6,这样大的模糊值使粒子很像烟的形态。加上风力效果,更加逼真。烟的材质主要是在Extended Parameters栏中将Falloff设为Out,Amt设为100,Type设为Additive;并将Opacity贴图设为Noise。具体参数,读者可参看场景文件。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的smoke_浓浓的黑烟.max文件,如图28所示。场景中用一个简单的Spray模拟烟,而且没有使用运动模糊,全靠材质作用。这是一个经典的材质用法,需要读者重点掌握。在Diffuse贴图上运用Noise,参数调节如图39所示。在Opacity贴图上运用Mask,然后进入下一层级设置。将Maps贴图设为Noise,Noise贴图参数设置如图40所示。将Mask设为Gradient,Gradient贴图参数设置如图41所示。这样做的根本目的就是增强材质的随机性。渲染的结果,黑烟的效果还是很真实的,和上一例迥然不同。
如果将材质的几个参数变动一下,便可以得出相反的效果。用3DS Max 3.0打开光盘目录下Tut\Tut03下的smoke_White.max文件,如图36所示。场景中仍然是用Spray模拟烟,材质的构成也和上一例无二。但Noise和Gradient的参数有所不同(具体变化可参看场景文件),结果,这里的烟成了白烟,可以模拟蒸汽等。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的smoke_烟尘.max文件,如图34所示。场景中用SuperSpray模拟烟,渲染出来,类似烟尘的效果,可以模拟尘土飞扬的场面。其主要变化一是在SuperSpray的参数调节上,更主要的是材质的变化。它的材质的Opacity贴图用了一个Gradient,Color 1和Color 2都是黑色,Color 3是白色,并且用了Particle Age贴图,其参数如图42所示。这样的材质会随着时间的变化而变化,类似烟尘飘动的感觉,而烟尘的主体颜色,仍然保持Diffuse的颜色。 #p#分页标题#e#
最后,还要介绍一种重要的专门制作烟的插件——Particle+。这个插件曾广泛运用于游戏设计和广告设计中。那沙漠中飞扬的烟尘裹住了坦克,就是Particle+的功劳。用3DS Max 2.5打开光盘目录下Tut\Tut03下的smoke_Particle+.max文件,如图23所示。场景中的粒子就是Particle+,其参数和普通粒子差别不大,但重要的是,要使Particle+生效,必须在Enviroment环境编辑器中增加一个Particle Combustion,然后在场景中选择Particle+作为源物体,其编辑参数和Combustion差不多。这样,不需要再增加什么其它设置(诸如运动模糊等)就可以渲染出逼真的烟的效果。注意,这个场景中的烟的材质用了Cellular作为Diffuse贴图,如图43所示。
用Maya 2.5制作烟的方法和3DS Max 3.0是一样的。用Maya 2.5打开光盘目录下Tut\Tut03下的Smoke.mb文件,播放动画。按键盘上的“Ctrl+A”键可以打开Attribute Editor查看粒子属性,这里用的是Cloud(S\W)的粒子形态;Maya 2.5中,粒子形态后有S\W的属于软件渲染的范畴,没有S\W的属于硬件渲染的范畴。在Maya 2.5中制作粒子特效的一般步骤是,先建立发射器(Creat Emitter),然后播放动画,选中粒子,进入属性编辑器,修改粒子形态及其它属性,然后建立力场并建立它们和粒子系统的关系,最后制作粒子材质。
2.火。
3DS Max 3.0有专门的环境编辑器Enviroment制作火的效果,可以在场景中的任意地方制作辅助物体BoxGizmo或SphereGizmo,然后在Enviroment中增加一个Combustion,在场景中拾取Gizmo即可。但这种方法制作的火没有粒子系统来的灵活,运动起来也受很大限制。下面我们重点学习用粒子系统和相应的火的材质模拟火的效果。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的fire_Parray.max文件,如图24所示。场景中模拟火的粒子系统是PArray,并指定球体为发射器,这样,粒子随球体一起运动,加上风力效果的绑定和运动模糊的设置,形成长长的火焰拖尾。火焰的材质是对于Diffuse贴图运用Gradient,如图44所示;并且在Extended Parameters栏中将Falloff设为Out,Amt设为100,Type设为Filter。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的风火轮.max文件,如图30所示。场景中有12个Superspray超级喷射和12个圆柱体物体作为Wheel(轮子)物体的子物体随着它一起往复运动。而12盏Omni泛光灯都是Firecracker04圆柱体的子物体,有色彩的动画,如图31所示。12个Superspray超级喷射既有运动模糊,又在Video Post中增加了Lens Effects Glow发光特效和Lens Effects Highlight十字光效。这些综合起来,形成了风火轮。
在Maya 2.5中制作火,和制作烟的原理以及方法都是一样的,只是具体参数调节以及材质设定略有变化。用Maya 2.5打开光盘目录下Tut\Tut03下的Fire.mb和Fire-1.mb文件,如图38、25所示。前者是一个火球爆炸的动画,后者是一个火焰升起的动画,具体参数和动画设置可参看场景文件。
3.气泡。
模拟水下世界的重要一点就是模拟气泡以及它们的上升运动,用粒子系统就再合适不过。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的气泡.max文件,如图27所示。渲染结果的逼真促使我们必须要弄明白这些气泡是怎样产生的。场景中,收反向作用力(向上)的重力的两个Superspray用来模拟上升的气泡,Particle Type是Standart Particles下的Facing,重点在材质上。粒子的材质的Diffuse、Ambient和Specular都是白色,Specular Level和Glossiness都是0,Opacity贴图用了一个气泡的贴图,如图45所示。这样,逼真的气泡材质就产生了。
下面我们提供另一种制作气泡及其材质的方法,这就是Blizzard——暴风雪。用3DS Max 3.0打开光盘目录下Tut\Tut03下的气泡-2.max文件,如图37所示。场景中除了运用了一个Fog环境编辑器之外,就只有一个Blizzard。Particle Type选择了MetaPaticles。这是一种超密粒子,它们实际上就是变形球,在发射过程中可以相互碰撞、融合;这项功能对于液体的模拟非常优秀。渲染结果中有些气泡很接近,结果融合为一,这正是超密粒子MetaPaticles的奇效。这种方法制作的气泡的材质也和上一例不一样。在Glossiness、Selfillumination、Opacity、Filter Color和Reflection贴图中都运用Noise,并将Extended Parameters栏中将Falloff设为In,Amt设为100,Type设为Filter。具体参数值可参看场景文件。
4.云雾和雨雪。
在3DS Max 3.0中,云雾的模拟和火的模拟一样,都可以在环境编辑器中实现,但都不便于制作动画并精确控制。只有调节出合适的粒子材质,同样可以使粒子系统看起来像云雾效果,而粒子系统的动画功能是很强的。这样,就解决了造型和动画之间的矛盾。
用3DS Max 3.0打开光盘目录下Tut\Tut03下的Fog.max文件,如图35所示。场景中用Spary模拟雾,材质则又运用了前面制作第一个烟的动画时讲解过的那个经典材质。加上本身环境编辑器中已经运用一个Fog雾效,渲染的结果非常逼真;而粒子的运动也更增强了真实感。
3DS Max 3.0模拟雨雪有专门的粒子系统——Snow和Blizzard。用3DS Max 3.0打开光盘目录下Tut\Tut03下的Rain.max文件,如图32所示。这就是利用Blizzard制作的雨景。而Tut\Tut03下的Snow.max文件则是用两个Snow制作的雪景,如图46所示。一般如果用Snow来制作雪景,都用两个或两个以上的粒子系统,参数各异,使模拟的雪花更富于变化。而Blizzard暴风雪虽然和Snow相似,但功能更完善,粒子的运动、形态都可以精细控制。最后,可以看看这两个粒子系统的材质,Snow的材质又是我们前面说过的那个经典材质。
总之,粒子系统和多层嵌套的材质可以虚拟出各种自然景观,除了上面分析的瀑布、爆炸、烟、火、气泡、云雾、雨、雪等外,还包括火山熔岩、喷泉、礼花、蘑菇云等。笔者将在以后的实例分析中,尽可能多的讲解有关粒子系统的高级技巧。