粒子系统(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默认的效果,我们后面需要对其进行调整。
阅读指南 本系列教程的每个实例都提供有配套的场景文件,场景文件有两个,一个是制作前的,一个是制作后的。你既可以直接打开制作后的效果文件察看效果,也可以打开制作前的场景,然后跟着教程的节奏一步一步进行制作。 再说明一下配套场景中物体的命名方式。初始场景中所有物体的名称都是英文,在效果场景中会出现中文命名的物体,它们是在实例的制作过程中需要添加的。 这些中文名称后面有一个下划线,下划线后面的英文代表这个物体的类型。举例来说,在制作烟雾效果的这个例子中,我们建立了一个Drag空间弯曲,它在效果场景中的名称就是“阻力_Drag”,这样我们就可以更容易区分不同物体的作用。 |
阅读指南 在教程中不时会出现“背景知识”的介绍,让你对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形式的粒子,因此一个圆形渐变并且边缘透明的材质就可以实现这种效果。
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(圆形)就可以了,其他参数不需要调整。