来源:
pconline
作者:
xuqingzhong
2008-06-20/15:23
粒子系统(Particle System)是3DS MAX提供的一种效果和动画制作手段,它适用于需要大量粒子的场合,具体来说比如暴风雪、水流、爆炸、烟雾,当然不限于此,有些非常复杂的场景也可以用粒子系统来实现,比如下文将详细介绍的导弹击毁目标的动画。
3DS MAX粒子系统可以分成两种类型,分别是非事件驱动粒子系统(Non-Event-Driven)和事件驱动粒子系统(Event-Driven)。
非事件驱动粒子系统比较适用于制作一般化的场景,相对来说比较简单。就拿下雪场景来说吧,雪花的数量虽然非常多,但是所有雪花的运动规律是相同的,这种粒子系统就可以胜任这样的场景。
而事件驱动粒子系统又称为粒子流(Particle Flow),它的使用比较复杂,适宜于制作复杂的粒子动画效果,比如飞机发射导弹击中目标的过程就可以使用这种粒子系统来实现。因为飞机发射出来的导弹是粒子,而导弹喷射出来的尾气也是粒子,这些粒子何时产生、粒子是否具有追逐目标的特性等等,都需要比较细致的控制。而这些细致入微的控制正是事件驱动粒子系统的长项,因为使用这种系统我们可以通过检测一系列的事件来确定粒子的行为。
第一部分 非事件驱动粒子系统
实例一:烟雾效果
1、最终效果和制作步骤
首先让我们来熟悉一下将要制作的效果。这是一个300帧的动画,前150帧中,烟头冒出来的烟缓缓沿直线上升,150帧时窗户打开,风吹了进来,烟雾开始随着风抖动。
示例场景中有烟头、烟灰缸、桌子和窗户。窗户的动画已经制作好了,它会在150帧左右的时候自动打开。
2、创建并设置粒子系统
1)启动3DSMAX,打开面板Create(创建)->Geometry(几何体),选择子类型为Particle System(粒子系统)。
2)在Object Type(对象类型)卷展栏中单击Super Spray按钮。
3)进入顶视图(快捷键T),拖动鼠标建立Super Spray粒子系统的发射器,将其命名为“烟雾_SuperSpray”,调整位置使其处于物体“Cigarette”的位置。
现在我们看到的图标就是发射器,它有一个箭头,指向粒子发射的方向,烟就会从图标所在的位置沿箭头方向发射。
这时如果播放动画,会看到很多小十字星号从发射器中出来沿着箭头方向飞行,这就是Super Spray默认的效果,我们后面需要对其进行调整。
背景知识
粒子系统制作的一般步骤
1、创建粒子发射器。有的粒子系统用一个图标作为粒子发射器,而有的粒子系统则需要使用场景中的物体作为粒子发射器。
2、设置粒子数量。设置粒子在每一帧中产生的数量或者在整个动画中出现的数量,另外还要设置粒子产生之后“生存”多长时间(单位是帧)等。
3、设置粒子的大小和形状。这一步对于粒子系统的渲染效果是至关重要的。我们可以使用场景中现成的物体作为粒子,这样可以制作一些特殊效果,比如后面将要介绍的导弹追踪目标的动画将会这个功能。当然,大多数情况下,使用3DSMAX自带的粒子类型就可以实现比较理想的效果。
4、设置粒子的初始运动状态,也就是粒子从发射器飞出来之后,在不受外力影响的情况下所具有的运动状态,包括速度、方向、转动等等,为了避免死板,我们还可以为这些运动添加随机的运动效果。
5、制作复杂运动效果,主要指通过建立空间弯曲影响已经从发射器中飞出来的粒子。比如添加重力、风力作用等等。在后面的章节中,我们将会详细介绍多种空间弯曲的使用。
----------------------------------------
----------------------------------------
4)进入Modify(修改)面板,打开粒子系统的Basic Parameters(基本参数)卷展栏。在Particle Formation(粒子形成)中设置Spread(扩散)参数为2.0。这个参数如果设置为大于0的值,可以让粒子在运动过程中在一定的角度范围内散开,对于制作烟雾效果而言这是必要的。
5)打开Particle Generation(粒子生成)卷展栏,对其中的Speed进行设置,降低粒子的初速度(比如1.5)。对于烟雾而言,如果速度过快效果就会失真。
6)在Particle Quantity(粒子数量)中选择Use Rate(使用发射率)并在下面的窗口中设置一个较大的值(比如30),也就是让粒子系统“烟雾_SuperSpray”每帧生成30个粒子。这个值越大,形成的烟雾效果就会越细腻,同时也会消耗比较多的系统资源。
7)设置Emit Start(起始时间)和Emit Stop(结束时间)分别为0和300,也就是和动画的时间长度相同,这样粒子系统“烟雾_SuperSpray”在整个动画过程中都发射粒子。
8)设置Life Time(生存期)为较大的值,比如180,这样烟雾粒子出现之后会隔比较长的时间才消失。
#p#分页标题#e#阅读指南
在教程中不时会出现“背景知识”的介绍,让你对3DS MAX的设计有更深入的了解,做到举一反三,而不至于为一两个实例所固囿。你当然可以跳过这些内容,但是仔细读一读会对你的3DS MAX学习大有裨益,它能帮你跳出“知其然不知其所以然”的误区。出于同样的考虑,在介绍各种参数的时候,对于没有使用的参数的功能和含义,我们也尽量作了介绍。 |
3、随风抖动效果
现在开始添加空间弯曲影响烟雾,包括两项内容。第一:添加Wind(风)空间弯曲,它让烟雾随风抖动;第二:添加Drag(阻力)空间弯曲,它的作用是让烟雾在上升过程中速度逐渐减慢并停滞下来。
1)打开Create(创建)面板,选择Space Wrap(空间弯曲),并在子类型中选择Force(力)
2)单击Wind按钮,在场景中拖动建立Wind 物体,将其命名为“风_Wind”,将其放到窗外,箭头指向烟雾的方向。
3)Wind空间弯曲的参数比较简单,只需要调整其Strength(强度)、Turbulence(抖动)等参数。由于窗户是在150帧的时候才打开的,因此我们要让空间弯曲“风_Wind”在150帧的时候才产生作用,具体来说就是设置Strength参数的变化。
在动画控制栏中单击Auto Key(自动记录关键帧)按钮,拖动动画滑块到第1帧,单击Set Keys(设置关键帧)按钮(注意不要将它和Set Key动画记录模式按钮混淆),在Modify(修改)面板中设置Strength参数为0。
拖动滑块到151帧,将Strength参数调整为0.03。然后拖动滑块到150帧,调整Strength参数为0。完成操作之后播放动画可以看到Strength参数在前150帧保持为零,到151帧是突然变成0.03,这就是我们需要的效果。
4)现在将空间弯曲和粒子系统绑定起来,也就是让空间弯曲作用于粒子系统。单击Bind To Space Warp(绑定到空间弯曲)按钮,然后单击粒子系统“烟雾_SuperSpray”并拖动鼠标到空间弯曲“风_Wind”上释放鼠标。
4、减速效果
现在我们来创建一个Drag(阻力)空间弯曲。
1)在Create(创建)面板的空间弯曲中单击Drag按钮,在场景中拖动建立空间弯曲并命名为“阻力_Drag”,你可以将它放在任意的位置,因为它的作用效果和位置无关。
2)设置Time On和Time Off分别为0和300,也就是和动画长度相同,在整个动画过程中这个空间弯曲都会起作用。选择阻尼方式为线性阻尼并分别设置X、Y、Z为1%、1%和2%,由于烟雾比较轻盈,因此空气的阻尼效果显得比较小,因此这里设置的参数也相应地比较小。
背景知识
关于Drag空间弯曲
Drag空间弯曲主要用来制作粒子运动的“阻尼”效果,“阻尼”效果可以按照线形、球形、圆柱形三种方式赋予粒子。Drag空间弯曲特别适合于模拟运动物体在大气或者水中受到阻力影响逐步减速的效果。
3)使用和前面绑定空间弯曲“风_Wind”完全一样的方法,将粒子发射器和空间弯曲“阻力_Drag”进行绑定,绑定完成之后在粒子发射器的修改面板中将可以看到有两个空间弯曲对其起作用。
5、烟雾材质
现在如果进行渲染,是看不到预期效果的,我们还需要对粒子系统发射出来的粒子的外观进行设置并赋予其烟雾材质。
1)选择粒子发射器“烟雾_SuperSpray”,进入Modify(修改)面板。在修改器堆栈中单击Super Spray条目,这时可以再次看到粒子系统的参数。
2)在Particle Type(粒子类型)卷展览中的Standard Particles(标准粒子)下选择类型为Facing。
3)现在来调整粒子的大小。默认的情况下,粒子的大小是统一的,并且在其生存期内都不会改变。但我们需要的效果是,粒子产生之后逐渐变大,然后渐渐消失。
我们可以通过设置Grow For(生长)和Fade For(消失)参数来形成这种效果。另外为了防止粒子大小同步变化,我们还需要为尺寸添加一些随机的变化。打开Particle Generation(粒子生成)卷展栏,在Particle Size(粒子大小)中对上述参数进行设置。
4)现在开始制作材质。对于制作烟雾效果而言,我们应当使用柔和的、具有半透明效果的材质。由于前面我们使用了Facing形式的粒子,因此一个圆形渐变并且边缘透明的材质就可以实现这种效果。#p#分页标题#e#
A.打开材质编辑器(快捷建M),选择一个空白样本球,设置其Diffuse(散射)颜色为纯白色,Specular Level(反射级别)和Glossiness(光泽度)为0。
在Self-Illumination (自发光)中选择Color复选框并设置自发光颜色为灰色(灰度144),这样得到的烟雾是灰色的。如果你想调整烟雾的颜色,设置自发光颜色就可以实现。
在Shader Basic Parameters(着色器基本参数)中勾选Face Map(面贴图)。
B.打开Maps(贴图)卷展栏,单击Opacity(不透明)贴图通道按钮,从弹出的Material/Maps Browser(材质/贴图浏览器)窗口中选择材质类型为Gradient(渐变)。
在该贴图的参数中我们只需要在其Gradient Parameters(渐变参数)中设置Gradient Type(渐变类型)为Radial(圆形)就可以了,其他参数不需要调整。
至此,烟雾效果的制作已经完成, 可以使用渲染工具渲染动画了。在下一个例子中,我们将介绍如何制作水流效果。