3DS MAX图文教程粒子系统篇——水下爆破
作者:网友整理3DS密室脱出高级豪宅篇v1.8.5 55.55M /
点击下载PPT精品教程软件1.4 550.33M / 简体中文
点击下载PPT精品教程软件 1.21.4 546.97M / 简体中文
点击下载实例三:水下爆破
1、最终效果和制作步骤
这是一个深水炸弹在水下爆炸的场景,长度300帧,前200帧深水炸弹缓慢下落,200帧时爆炸,爆炸瞬间产生一个大火球然后迅速收缩并伴有强烈闪光,随后产生气泡和碎片,气泡摇摇摆摆地浮上水面,碎片慢慢沉入水底。
效果 | 实现方法 |
深水炸弹爆炸 | 使用PArray粒子系统,并设置该粒子系统以物体(深水炸弹)的碎片作为粒子 |
爆炸时强烈闪光 | Omni光源Multiplier参数瞬间增强,同时为其添加Volume Light效果 |
爆炸时先膨胀后收缩的火球 | 动态调整球体半径并为其赋予火球材质 |
爆炸产生的碎片受到水的阻力迅速减速 | Drag空间弯曲和一个球形Gravity空间弯曲同时作用 |
气泡摇摇摆摆升到水面 | PCloud粒子系统产生气泡,Wind空间弯曲使气泡摇摆 |
碎片下沉到水底 | Gravity空间弯曲作用于粒子系统 |
2、爆炸
我们可以设置PArray粒子系统将发射源的碎片作为粒子发射出去,PArray粒子系统的这种特性非常适合制作各种物体爆炸效果,下面我们就介绍这种方法。
1)启动3DSMAX,打开Create(创建)->Geometry(几何体),选择子类型为Particle System,单击PArray按钮在场景中任意位置拖动建立粒子系统,将其命名为“爆炸_PArray”,具体放在什么位置无关紧要。
2)选择粒子系统“爆炸_PArray”,进入Modify(修改)面板,在Basic Parameters(基本参数)卷展览中单击Pick Object(选择物体)按钮。这一步操作是选择粒子系统“爆炸_PArray”的发射器,然后选择深水炸弹物体(名为DepthCharge,这是初始场景中提供的物体,名称为英文)。
3)在Particle Timing(粒子时间控制)中根据深水炸弹的爆炸时间设置Emit Start(发射起始时间)和Emit Stop(发射结束时间),这个例子中,爆炸持续了大约5秒左右,因此,我们将时间跨度设置为100,注意,这里的单位是帧。
4)在Particle Type(粒子类型)卷展栏中设置粒子类型为Object Fragments(物体碎片),并在Object Fragment Controls(物体碎片控制中)设置Number Of Chunks(碎片数量)参数。
5)这时如果拖动时间滑块就可以看到动画效果了,但是你会发现碎片在场景中仍然使用小十字星号显示。为了在编辑状态下看到更加清楚的效果,可以在粒子系统“爆炸_PArray”的修改面板中的Viewport Display下选择Mesh,这样在编辑状态下也可以看到比较清楚的破片效果。注意,这个设置只对编辑状态起作用。
3、空间弯曲
现在,粒子爆炸出来之后迅速向四周散开,并且不会减速,这种效果在太空中还差不多,但是要放在水下就如论如何说不过去了。
通过前面的介绍可以知道,制作阻力效果可以使用 Drag 空间弯曲。但是在水下爆炸场景中,水的阻力表现得比较特殊,碎片不仅会向外飞出,而且会有向爆心收缩的趋势。单纯用 Drag 空间弯曲不能制作出这种效果。
我们可以考虑添加一个球型 Gravity 空间弯曲并使其随着深水炸弹一起运动,当深水炸弹爆炸时迅速提高这个 Gravity 空间弯曲的 Strength (强度)参数,紧接着再迅速减小,这样破片在水下运动的效果就比较逼真了。下面在制作的时候,我们将把这个 Gravity 空间弯曲命名为“收缩 _Gravity ”。
深水炸弹爆炸后,碎片会慢慢地沉到水底,很显然,我们还需要另外再添加一个 Gravity 空间弯曲,这是一个普通的平面型空间弯曲,它将使碎片下沉。
1)打开 Create (创建) ->Space Warps (空间弯曲) ->Force (力),单击 Drag 按钮在场景中拖动建立 Drag 空间弯曲,将其命名为“阻力 _Drag ”。进入 Modify (修改)面板中修改其参数,选择阻尼方式为 Linear Damping (线形阻尼)并设置 X 、 Y 、 Z 三个方向上的值为5% 。
2)打开 Create (创建) ->Space Warps (空间弯曲) ->Force (力),单击 Gravity 按钮,在场景中拖动建立一个重力空间弯曲,将其命名为“收缩 _Gravity ”,并设置其为Spherical(球形)。
将时间滑块拖动到 0 帧,在“收缩 _Gravity ”的参数面板中设置 Strength( 强度 ) 为 0 , Decay 0.01 。注意,设置 Strength 为 0 只是暂时的,下一步我们将为这个参数添加运动控制器以便动态控制其参数,所使用的方法和前面介绍的动态调整水流的 Speed 参数所使用的方法一样。
单击工具栏中的 Align (对齐)按钮(快捷键 Alt+A ),然后单击深水炸弹物体,从弹出的对话框中同时选择 X 、 Y 、 Z Position 。这样可以将空间弯曲“收缩 _Gravity ”和深水炸弹物体的中心准确地对齐起来。
单击主工具栏中的 Select And Link (选择并链接)工具,单击空间弯曲“收缩 _Gravity ”然后拖动鼠标(注意,这时鼠标会拖出一条虚线),然后在深水炸弹物体上单击,这样可以将空间弯曲“收缩 _Gravity ”定义为深水炸弹的子物体,两者将同步移动。当炸弹爆炸发生时,空间弯曲“收缩 _Gravity ”就能够在爆心位置对碎片起作用。
在空间弯曲“收缩 _Gravity ”的修改面板的 Strength 输入框中单击鼠标右键选择 Show In Track View (在轨迹视图中显示)。然后在轨迹视图中的 Strength 条目上单击鼠标右键选择 Assign Controller (指定控制器),从弹出的对话框中选择 Bezier Float (贝兹浮点控制器)。
完成控制器的指定之后,在轨迹视图窗口中首先单击右下角 Zoom (缩放)按钮调整轨迹视图的大小,使纵向的刻度为 1.0 左右(我们希望空间弯曲“收缩 _Gravity ”的 Strength 参数动态的最大值为 1.0 ),横向的刻度定位到 200 帧,也就是爆炸发生的那一帧。单击工具栏上的 Add keys (添加关键点)按钮,在视图中纵向刻度为 0 、横向刻度为 200 的位置单击鼠标左键。这时将会出现一个白色的空心点,表示在这个帧的位置上 Strength 参数有了一个关键帧。
拖动横向滑块,在 210 帧和 220 帧执行同样的操作。三个关键点添加完成之后,单击工具栏上的 Move Keys (移动关键点)按钮,选择 210 帧位置的那个关键点(我们希望在这个位置时参数达到峰值),将其向上移动到纵向刻度大于为 1.0 的位置。这样调整的意义是,让空间弯曲“收缩 _Gravity ”的 Strength 参数从 200 整开始(也就是爆炸开始时)均匀变化,到 210 帧时达到 1 ,随后减小,到 220 帧时恢复为 0 。顺便说一下,从这个图形也能非常直观地看出 Bezier Float 控制器的作用,也就是让参数值沿一条光滑的曲线均匀变化。
至此,空间弯曲“收缩 _Gravity ”的制作才算告一段落,够麻烦吧。理一下思路:我们正在制作对粒子系统施加影响的空间弯曲,已经完成了两个,分别是用于破片减速的 Drag 空间弯曲和用于破片收缩的 Gravity 空间弯曲。还少一个,就是让破片下落的 Gravity 空间弯曲。
3)再次单击 Gravity 按钮,在场景中拖动建立第二个 Gravity 空间弯曲,将其命名为“下沉 _Gravity ”,选择类型为 Planar (平面)。因为物体在水下下沉的加速度受到水的浮力影响不会像在空气中那样快,因此需要设置 Strength 为较小的值,在这个例子中我们用 0.1 。
4)三个空间弯曲都完成了,现在使用主工具栏中的 Bind To Space Warp (绑定到空间弯曲)工具将三个空间弯曲全部绑定到粒子系统“爆炸 _PArray ”上。完成操作之后,空间弯曲“爆炸 _PArray ”的修改器堆栈应该是这样的。
4 、火球
水下爆破场景有一个非常有趣的特点,就是会产生一个正球形的耀眼火球(大气中爆炸时产生的火球是不规则的),这也是由于水体均匀强大的阻力引起的。制作这个效果的方法比较简单,就是制作一个半径首先迅速涨大,随即迅速缩小的球体。
你可能首先想到用 Auto Key 来实现,但是如何才能让球体的涨大缩小和爆炸以及碎片运动精确同步呢?这里就要使用到 3DSMAX 的一个重要功能—— Wire Parameters (参数绑定)。通过将火球的 Radius (半径)参数和上一步中建立的空间弯曲“收缩 _Gravity ”的 Strength (强度)参数绑定起来就非常完美地能达到预期的效果。
1)打开 Create (创建) ->Geometry (几何体) ->Standard (标准),建立一个 Sphere (球体),命名为“火球 _Sphere ”,设置其 Radius (半径)为零,将其放到深水炸弹爆炸的那个点上。
2)确保“火球 _Sphere ”物体处于选择状态(最好按空格键锁定),单击鼠标右键选择 Wire Parameters (绑定参数),从弹出菜单中选择 Object(Sphere)->Radius ,鼠标这时会拉出虚线。
移动鼠标单击空间弯曲“收缩 _Gravity ”(如果选择不方便,可以按 H 键打开选择对话框进行选择),从弹出的小菜单中选择 Object(Gravity)->Strength ,这时 Parameter Wiring (参数绑定)对话框将会出现。
3)这个对话框的左右两栏分别列出了即将绑定的两个参数,左边是“火球 _Sphere ”的,右边是“收缩 _Gravity ”的。
我们希望得到的效果是,“收缩 _Gravity ”的 Strength 参数影响“火球 _Sphere ”的 Radius 参数,因此我们单击中间的左向箭头按钮。这时两个参数的颜色发生变化,影响其他参数的参数( Strength )变成了绿色,而受其他参数影响的参数( Radius )变成了红色。完成以上操作之后单击 Connect (连接)按钮。
现在你可以关闭参数绑定对话框看一下动画,是不是看不到火球?这是因为在上一步中我们漏掉了重要的一步。我们知道空间弯曲“收缩 _Gravity ” Strength 参数的变化范围是 0-1 ,设置参数绑定之后“火球 _Sphere ”的 Radius 参数也会在同样范围内变化,半径小于 1 的球体在场景中显得太小了所以看不到。
这时我们需要使用参数绑定的另外一个重要特性,就是表达式运算功能。打开菜单 Animation (动画) ->Wire Parameters (绑定参数) ->Parameter Wire Dialog (参数绑定对话框)重新打开参数绑定对话框。
在左右窗口中分别选择绑定的两个参数,然后将左下角的 Strength 换成 Strength*25 ,这样做的意思是,原来的参数绑定关系不变,但是“火球 _Sphere ”的 Radius 参数不是简单地等于 Strength 参数,而是 Strength*25 ,这样球体的半径就足够大,效果自然就出来了。 完成以上操作之后,单击 Update (更新)按钮更新参数之间的绑定关系。
|
5 、闪光
仅仅有“火球 _Sphere ”效果仍然不够真实,我们还需要制作爆炸瞬间光芒四射的效果。由于是在水中,光芒效果应该非常明显。
对于光芒效果,我们首先应当想到使用体积光来制作。这个光源必须有两个特性:其一,它会随着“深水炸弹”物体一起下沉,这种效果可以通过将光源作为深水炸弹的子物体来实现,和前面将“收缩 _Gravity ”作为深水炸弹子物体的方法完全一样;其二,爆炸发生之前光源不发光,当爆炸时,光源亮度瞬间增强,随后迅速减弱,这种效果可以通过将光源的 Multiplier (光强)参数和空间弯曲“收缩 _Gravity ”的 Strength 参数绑定来实现,这和上面制作“火球 _Sphere ”的方法是完全一样的。
1)打开 Create (创建) ->Light (灯光),单击 Omni (泛光灯)按钮,在场景中单击建立光源,命名为“闪光 _Omni ”。
2)单击工具栏上的 Select and Link (选择并链接)按钮,将光源“闪光_Omni ”和深水炸弹物体链接起来,使光源成为深水炸弹的子物体并随之移动。
3)在光源“闪光 _Omni ”上单击鼠标右键选择 Wire Parameters (绑定参数),选择 Object ( Omni Light ) ->Multiplier ,然后拖动鼠标到空间弯曲“收缩 _Gravity ”上单击鼠标左键(也可以按 H 键打开选择对话框进行选择,更加方便),选择 Object(Gravity )->Strength 。
在弹出的参数绑定对话框中单击左向箭头,也就是让空间弯曲“收缩 _Gravity ”的 Strength 参数影响光源“闪光 _Omni ”的 Multiplier 参数,在左下侧的对话框中设置为 Strength*10 ,原理和上面介绍的一样,直接用 Strength 参数强度不够,因此将其乘以 10 得到光源“闪光 _Omni ”强度。
单击 Connect (连接)按钮完成参数绑定。
4)现在来添加光芒四射的效果。选择光源“闪光 _Omni ”,进入 Modify (修改)面板,在 Atmosphere&Effects (气氛和效果)卷展览中单击 Add (添加)按钮,从弹出的对话框中选择 Volume Light (体积光)并单击 OK 按钮。
现在 Atmosphere & Effects 中多出了一个条目 Volume Light ,选择它,并单击 Setup 按钮,在弹出的对话框中,设置体积光的 Density (密度)为 3.0 。
5)这时如果进行渲染,只能看到一大个大雾球,几乎没有什么光芒效果。下面我们还需要对光源进行一些调整,选择“闪光 _Omni ”,单击鼠标右键,从弹出菜单中选择“ Cast Shadows ”选项。
然后进入修改面板,在光源的 Intensity/Color/Attenuation (饱和度 / 颜色 / 衰减)中分别选择 Near Attenuation (近衰减)和 Far Attenuation (远衰减)中选中 Use (启用)复选矿,然后适当调节参数,你可以根据自己的喜好来,通常只要减小 Far Attenuation 的 Start 参数就可以有比较好的效果了。
6 、气泡
爆炸发生后会产生一团气泡缓缓上浮,我们将使用 PCloud 粒子系统来制作水泡,并配合 Wind 空间弯曲来制作气泡在上浮过程中摇摆不定的效果。
1 )打开 Create (创建) ->Geometry ( 几何体 )->Particle System (粒子系统),单击 PCloud 按钮,然后在场景中拖动鼠标建立粒子系统,将其命名为“气泡 _PCloud ”,这时它的图标是一个大大的字母 C 。
选中粒子系统“气泡 _PCloud ”,进入 Modify (修改)面板,在 Basic Parameters (基本参数)卷展览的 Particle Formation (粒子形成)中选择 Object-Based Emitter (基于物体的发射器),然后单击 Pick Object (选择物体)按钮并在场景中单击“火球 _Sphere ”物体。这时粒子系统“气泡 _PCloud ”的图标会变成 Fill 。
基于物体的发生器是指让气泡从物体的“体”上而不是面上产生出来,很显然在这个场景中,我们需要气泡从火球内部各个位置产生,因此选择这个选项。
2)在 Particle Generation (粒子生成)卷展栏的 Particle Quantity (粒子数量)中,选择 Use Rate ,设置一个较大的数值,比如 100 左右。
在 Particle Motion (粒子运动)中将 Speed (速度)设置为较小的值,比如 1 。在粒子运动方向中选择 Direction Vector (方向矢量)也就是手工设置粒子固定的运动方向,这个选项下面是 X 、 Y 和 Z 轴方向上的矢量值, X 、 Y 方向保持为默认值 0 , Z 轴方向随便设置一个大于 0 的值即可,由于前面 X 、 Y 的值被设置成了 0 ,因此不论 Z 的值怎么设置,矢量的方向都是确定的。
3)现在设置气泡的外观,在 Particle Type (粒子生成)卷展栏中 Particle Types 中选择 Standard Particles (标准粒子),然后在下面选择 Sphere (球体),气泡当然是球形的。
在 Particle Generation (粒子生成)中的 Particle Size (粒子尺寸)下面设置 Size (尺寸)、 Variation (变化)和 Grow For (生长),这些参数的含义前面介绍烟雾和水流效果的时候都介绍了,你可以根据自己的需要进行设置,不必拘泥于本例中的设置值。
4)下面我们要建立一个 Wind 空间弯曲作用于粒子系统“气泡 _PCloud ”使其在上升过程中具有抖动效果。打开 Create (创建) ->Geometry (几何体) ->Space Warp (空间弯曲),单击 Wind 按钮在场景中拖动建立空间弯曲,将其命名为“抖动 _Wind ”。注意 Wind 空间弯曲是有方向性的,注意调整其箭头方向使其指向上方。
进入 Modify (修改)面板,设置 Strength (强度)参数为 0.0 ,也就是不让风对气泡的速度产生影响,我们仅仅需要 Wind 空间弯曲的抖动效果作用于气泡,对 Turbulence 、 Frequency 和 Scale 三个参数进行设置,具体的值可以根据自己的需要。
5)使用主工具栏上的 Bind To Space Warp 工具将空间弯曲“抖动 _Wind ”和粒子系统“气泡 _PCloud ”绑定起来。
7 、水下气氛
最后一个步骤是为场景添加 Fog (雾)来增强水下气氛。
1)打开菜单 Rendering (渲染) -> Environment (环境),在 Environment And Effects (环境和效果)窗口中单击 Atmosphere 下面的 Add (添加)按钮,从弹出的 Add Atmosphere Effect (添加气氛效果)对话框中 Fog 然后单击 OK 按钮。
2)Fog 添加完成之后在 Environment And Effects (环境和效果)窗口中选择 Fog 条目,窗口下方会自动展开其参数设置栏。单击 Color 下面的颜色框选择一种接近海水的颜色,然后选中下面的 Exponential 复选框,其他参数使用默认值就可以来了。
至此水下爆破效果的制作就完成了,我们对非事件驱动粒子系统的介绍也结束了。打开 Create->Geometry->Particle System 看看,这里列出的 7 个粒子系统中,我们还有三个没有介绍: Blizzard (暴风雪)、 Snow (雪)和 PF Source ( PF 源),前面两个比较简单,从名字中就能看出其用途,对于它们将不作进一步的介绍,而 PF Source 是 Particle Flow Source (粒子流源)的缩写,也就是我们在一开始曾经提到的“事件驱动粒子系统”(粒子流的别名),下一小节我们就开始介绍这种比较复杂同时也更加强大的粒子系统。
加载全部内容