| 操作系统 办公 实用知识 设计 开发 WEB开发 移动开发 数据库 软件工程 网管 安全 管理 信息化 答疑 渠道 |
3DS Max 7.0 PF Source粒子全攻略(6):真实的爆炸场面第六篇 使用粒子流创建一个真实的爆炸场面 1、创建基本场景。单击此处下载原文件。在命令面板上单击Create(建立)/Geometry(物体)/Plane(平面)钮,在Top视图中创建一个平面作为地面,命名为地面,设置其Length(长度)值为600,Width(宽度)值为550;单击Create(建立)/Space Warps(空间扭曲),单击Gravity(重力),在Top视力中创建一个重力,再在命令面板上单击Drag钮,在Top视图中再创建一个阻力;在命令面板的下拉列表中单击选择Deflectors(导向板),如图1-1所示,然后在Top视图中创建一个Pomniflect类型的导向板,其大小同我们创建的地面相同。
图1-1 2、创建爆炸物体。单击Create(建立)/Geometry(物体)/Sphere(球体),在Top视图中创建一个球体模型,我们最终的目的就是通过粒子流将这个球爆炸。而且爆炸以后的碎片碰撞到地面在反弹后会继续爆炸。如图1-2所示。
图1-2 3、创建爆炸后的碎片。使用画线工具画出一些不规则的封闭的多边形,然后将它们制作成有一定厚度的不规则的几何体,我们将用它们来模拟爆炸后的碎片,如图1-3所示。
图1-3
图1-4 5、设置球体的可见性。我们计划在第0帧发生爆炸,在第10帧时碎片将会充满整个场景,因此,在第10帧以后球体将不会显示在视图当中。首先在动画设置栏中将时间滑块拖动到第10帧,然后单击Auto Key钮打开自动设置动画开关,在场景中选择球体,单击鼠标右键选择Properties项,进入参数设置命令面板中,设置Rendering Control(渲染控制)项下的Visibility的值为0,如图1-5所示。
图1-5 6、创建粒子流系统。单击Create(建立)/Geometry(物体)钮,在其下拉列表中选择Particle Systems(粒子系统)选项,然后在命令面板上单击PF Source在视图中创建一个粒子流,如图1-6所示。
图1-6 7、单击Modify钮进入修改命令面板中,在Emission卷展栏中,将Icon Type(图标类型)设置为Sphere(球体),然后将Logo Size(图标大小)和Diameter(直径)的值都设置为15,如图1-7所示,在视图中使用对齐工具将粒子流图标的中心与球体的中心对齐。我们之所以将粒子流设置为球形,这是因为这样设置粒子流在发射粒子时是直接从中心向外吹送,这样将导致所有的粒子从球体的中心直接向外吹送粒子。
图1-7 8、设置初始事件。在这个场景中,爆炸将在10帧内发生,我们首先按下键盘上的快捷键6打开Particle View(粒子视图)。 9、在粒子视图中单击Birth 01事件,在其右侧的命令面板参数中,设置Emit Stop的值为10,设置Amount(数量)的值为500个粒子,然后右键单击Event 01的名称,在弹出的菜单中选择Rename(重命名),然后将此事件重命名为 Exp,如图1-8所示。
图1-8
图1-9 11、为粒子添加外力。在实际爆炸产生的过程中,要生成具有真实感的爆炸,则粒子在脱离爆炸冲击力以后应该减速,我们通过向粒子施加“阻力”空间扭曲即可实现此效果。 12、首先在Exp事件中的Speed操作符下添加一个Force操作符,然后单击该操作符在右侧将会显示其命令参数。单击BY list按钮,然后在弹出的窗口中选择空间扭曲Drag01。如图1-10所示。此时如果播放动画,我们将看到该空间扭曲没有对粒子产生足够的影响,这是因为我们还没有对阻力影响进行设置,下面我们来调整调整“阻力”空间扭曲,它有虽然有5% 的均匀影响,但是,该空间扭曲将与系统中的其他粒子一起使用,所以我们不用调整它的命令参数,而只是修改“Exp”事件中的“Force”操作符的“Influence”设置即可。默认情况下,“Force”操作符使用“Influence(影响) %”值为1000。它允许粒子流使用影响与非事件驱动粒子系统的空间扭曲的影响相当的空间扭曲。在这里我们将“Influence(影响) %”的值增加到2000。此时播放动画,我们会发现当粒子离开粒子流源时,将按相应的速率减速。
图1-10 13、将“Delete”操作符添加到“Exp”事件的结尾,然后将“移除”设置为“按粒子年龄”,并将“寿命”值设置为 40 帧,将“变化”设置为10帧。这将使爆炸粒子在发射后 40 帧(加或减10帧)消亡。如图1-11所示。
图1-11 14、单击“Display”操作符。将“Type(类型)”更改为“Circle(圆)”,并将色样更改为蓝色,需要说明的是,这里我们设置的是粒子在视图中的显示方式,粒子的蓝色只有在取消选择粒子时才会显示,显示蓝色圆形将有助于我们区分不同类型粒子的外观。
图1-12
16、为粒子创建事件。前面,我们经定义了爆炸的粒子。下一步,我们将定义爆炸粒子炸开时破裂的碎片,并将刚开始时创建的重力应用于粒子上以使它们能够落到地平面上。需要说明的是我们如果使用碎片表示所有的粒子,那么场景中的碎片就会太多,我们可以使用“Split Selected”测试来解决此问题,这不是减少粒子的数量,这个测试允许我们选择系统中的不同粒子集和项目以达到最佳匹配。 17、将“Split Selected”测试添加到“Exp”事件的底部。在右侧的命令面板中选择“Is Selected”选项。如图1-13所示。
图1-13 18、创建一个新事件。首先,我们将为选定粒子设置一个新事件,这样可以使我们在进行选择后看到破碎的效果。将“Force”操作符拖到粒子视图的空白区域以创建新事件。将此新事件重命名为Fra,单击“Force”操作符,在右侧的命令面板上单击By List钮,然后在弹出的窗口中选择Drag01 和 Gravity01项,如图1-14所示。
图1-14 19、在“Fra”事件中,单击“Display”操作符。将“Type(类型)”和“Select(选择)”都更改为“Geometry(几何体)”,并将色样更改为淡黄色以匹配球体的颜色。如图1-15所示。
图1-15 20、用鼠标拖动将“Split Selected”测试的输出关联到“Fra”事件的输入,如图1-16所示。
图1-16
22、在摄影机视图中选择所有的不规则的几何体,然后使用菜单栏中的Group命令将它们编成一组。在粒子视图中,将“Shape Instance”操作符添加到“Fra”事件的“Force”操作符下,单击“Shape Instance”操作符,单击None按钮,然后选择成组的不规则的几何体Group01,由于场景中碎片太大。我们在粒子视图中设置比例,从而使碎片适配场景,而不必缩放实际几何体。将“Scale(比例)%”的值设置为50,并将“Variation(变化)%”的值设置为30。勾选“Acquire Mapping(获得贴图)”和“Acquire Material(获得材质)”,启用“Multi-Shape Random Order(多图形随机顺序)”,它的作用是使这些图形随机指定给粒子,而不是按顺序循环指定这些图形 ,如果不为碎片设置材质效果,此步骤在场景中是不重要的,但是如果想制作出真实的效果,材质设置是必须的,通常的做法是将指定给实例几何体的材质和贴图提供给粒子系统,另外,如果我们不使用此选项,也可以按每个事件分别对实例几何体设置贴图和纹理,如图1-17所示。
图1-17 23、选择破碎的粒子。下面我们将会为“Split Selected”测试操作符创建粒子选择,此测试会将选择传递给“Fra”事件。下面我们来拖动时间滑块,直到粒子开始向外成扇型散开为止。单击粒子流图标本身或单击场景中的任何粒子,选择粒子流。 24、单击Modify钮进入修改命令面板中,展开“Selection(选择)”卷展栏,然后单击“Particle(粒子)”按钮。在Left视图中放大球体和粒子,然后在视图当中拖动鼠标,框选出一个选择区域以选择与球体处于同一水平高度的粒子,此时选择的粒子将变为红色,并更改为显示几何体碎片,未选择的粒子继续显示为蓝色圆形,由于选择的粒子和未选择的粒子采用了两种不同的显示方式,因此我们很容易确定哪些粒子是选定的,哪些粒子是没有选定的。
图1-18 25、拖动时间滑块观察,我们会发现在整个动画播放的过程中,碎片粒子显示为“Fra”组中的随机图形,即不规则的几何体的形状,如上图所示。将选择的粒子传递给事件的功能是非常强大的,而且为系统添加了很多的灵活性,通过选择不同的粒子配置,可以创建完全不同的效果。例如,我们可以选择球体上方的所有粒子,或只选择球体底部附近的粒子,这样,就可以方便快捷地实现许多不同的爆炸效果。 26、在“Selection(选择)”卷展栏上,单击Event图标,这样选择的粒子就被确定为爆炸后最终显示的碎片,然后再单击“Particle(粒子)”按钮以退出子对象层级,这样就可以避免无意中取消选择粒子。 27、设置碎片自旋方式。在实际制作爆炸效果的过程中,若要使爆炸看起来更加真实,最终爆炸的碎片应该旋转,也就是说粒子要产生自旋。 28、在“Fra”事件中,将“Spin”操作符添加到“Shape Instance”操作符的下面。然后选择“Spin”操作符,在其右侧的命令面板上将“Spin Rate(自旋速率)”设置为 720 度,并将“Variation(变化)”设置为 30,如图1-19所示,下面我们按下播放动画钮,观看一下效果,碎片在发射以后产生了自旋。
图1-19
30、在“Fra”事件的底部添加“Collision Spawn”测试,在其右侧的命令面板上,将 POmniFlect01 指定为“导向器”,它就是地平面上的导向器,如图1-20所示。
图1-20 31、在其右侧的命令面板上,在“Spawn Rate And Amount(繁殖速率和数量)”组中,确保选定“Spawn On First Collision(首次碰撞时繁殖)”并且启用“Delete Parent(删除父粒子)”选项,删除父粒子的作用可以以使其在破碎为较小对象后不再反弹,将命令面板中,“Spawnable%(可繁殖)”参数用来设置要破碎的碎片的百分比,默认的情况下此值为100%,我们也可以将其设置为较低的值,以仅使部分碎片破碎。将“Offspring(子孙数)”设置为 10,将“Variation%(变化)”值设置为 10.0。它表示的是当每个初始碎片与导向器碰撞时,都将创建 9 至 11 个新碎片。在“Speed(速度)”选项组中,确保“Parent(父粒子)”和“Offspring(子孙)”的参数都设置为“Bounce(反弹)”。这将导致两种类型的粒子都在导向器上反弹。反弹的程度已由位于“修改”面板上的导向器参数设置。在“Speed(速度)”组中,保持默认的“Inheritde%(继承)”的默认值为100,将“Variation(变化)%”设置为 30,将“Divergence(散度)”角度设置为 30。在“Size(大小)”组中,将“Scale Factor(比例因子)%”设置为 50,将“Variation(变化)%”设置为 25,这将导致新繁殖的碎片变成原始碎片的约一半大小,设置完成后的命令面板如图1-21所示。
图1-21 31、观察动画效果。在屏幕的下方移动时间滑块,此时我们会看到这些碎片在通过导向器时分裂成更小的碎片。现在我们没有定义破碎粒子图形的特定事件,如果繁殖操作没有输出至另一事件,则原始粒子的属性就会由新粒子继承。 32、为破碎的碎片创建新事件。粒子爆炸后撞击地面,并继承了原始碎片的旋转。现在要使破碎的碎片随机反弹和自旋,还需要一个新事件,以便可以为这些碎片设置属性。这里我们将使用“Spin”操作符开始新事件,以使粒子在碰撞导向器后随机旋转。在粒子视图的空白区域添加“Spin”操作符,并将此新事件重命名为 Sha,如图1-22所示。
图1-22 33、将“Fragments”事件中“Collision Spawn”测试的输出关联至“Shatter”事件,它表示只有当粒子已与导向器碰撞并破碎为较小的碎片时,粒子才会传递到“Sha”事件,如图1-23所示。
图1-23 34、在Sha事件中单击“Spin02”操作符,在其右侧的命令面板中将“Spin Rate(自旋速率)”设置为 900,将“Variation(变化) %”设置为 100,它表示当粒子碰撞导向器时,此自旋速率将大致与粒子的自旋相匹配,如图1-24所示。“Force”操作符并不能在事件中间传递,因此我们必须为新事件添加一个“Force”操作符,并且此操作符应该同Fra事件中使用的“Force”操作符的设置相同,使Sha事件中的粒子使用相同的力。
图1-24 35、在粒子视图窗口中的“Fra”事件中,单击“Force”操作符,然后右键单击并在弹出的菜单当中选择“Copy(拷贝)”,然后在“Sha”事件中,右键单击“Spin”操作符下方并从菜单中选择“Paste Instanced(粘贴实例)”,这样“Force”操作符的实例将会出现在“Sha”事件中,如图1-25所示。
图1-25 36、删除“Sha”事件中的“Display”操作符,同样使用复制粘贴的方法将“Display”操作符的实例从“Fra”事件复制并粘贴到“Sha”事件当中,此时按下播放动画钮观看动画效果,破碎的碎片将会随机产生自旋效果并且对重力产生反应,此时,它们仍然还会通过导向器,如果要使这些碎片反弹,我们还需要一个“Collision”测试。 37、为破碎的粒子创建碰撞测试。将“Collision”测试拖动添加到“Sha”事件的末尾,这里的“Collision”测试比“Collision Spawn”测试更适用,我们希望粒子在首次撞击导向器时破碎,并且在以后碰撞时不希望粒子破碎,使用“Collision”测试参数可以很好地控制粒子在碰撞和反弹时的行为,如图1-26所示。
图1-26 38、单击“Collision”操作符,在右侧的命令面板上将POmniFlect01导向器添加到“Deflectors(导向器)”列表当中,选择“Collided Multiple Times(碰撞多次)”选项,将“Times(次数)”的值设置为默认值 5,将“Speed(速度)”的值设置为“Stop(停止)”,它表示破碎粒子与导向器碰撞的次数不超过五次,然后完全停止,如图1-27所示。
图1-27 39、播放动画,动画进展顺利,球体爆炸形成碎片,碎片反弹并进一步爆炸破碎,然后继续进行少许反弹,效果非常真实。 40、通过观察我们发现,虽然粒子在接近动画末尾时停止了移动,但是它们的自旋仍然在继续,发生这种情况的原因是由于“Collision”测试操作符只是停止了粒子的运动,但是并没有停止它们的自旋。这些粒子在“Sha”事件开始时仍然跟随“Spin”操作符,为了解决此问题,我们使用“Collision”操作符将测试为“真”的粒子传输至新事件,该事件将告知粒子停止。 41、在动画结束时停止粒子。在“粒子视图”的空白区域中创建新的“Rotation”操作符,并将新事件重命名为 Stop,将“Rotation”操作符的“Orientation Matrix(方向矩阵)”设置为“Random Horizontal(随机水平)”,这将导致每个碎片在停止时“躺下”,如图1-28所示。
图1-28 42、将“Sha”事件中“Collision”测试的输出关联至新的“Stop”事件,如图1-29所示。
图1-29 43、我们还需要使用另外一个操作符来将粒子系统转换到“Rotation”操作符设置并停止,而不是让粒子系统使用操作符来创建运动,为此,在“Stop”事件中的“Rotation”操作符上方,添加一个“Go To Rotation”测试,它将会告知正在进入的粒子立即转换到下面的新“Rotation”操作符,如图1-30所示。
图1-30 44、单击“Go To Rotation”测试。保持Transition BY的默认设置为Event Duration方式,并将“Duration(持续时间)”设置为 0,将Variation的值设置为 0,确保将“Target Rotation(目标旋转)”设置为“Constant(恒定)”,并且启用“Match Initial Spin(匹配初始自旋)”,在“Match Initial Spin(匹配初始自旋)下,将“Variation(变化)”设置为 30,并确保启用“Stop Spinning(停止自旋)”,如图1-31所示。
图1-31
46、再次播放动画,此时我们就完成了球体的动画设置,球体爆炸成为碎片,而且这些碎片在撞击地面时会继续反弹和破碎,这在以前的非事件驱动的粒子当中是无法实现的,如图1-32所示。
图1-32 47、本节小结:本节我们学习了一个球体爆炸后撞击地面反弹并且反弹后继续破碎的爆炸动画,通过此节学习,我们应该对粒子流的强大功能及流程有了一个基本的了解,下一节我们将通过一个更为复杂的实例导弹追踪动画来学习粒子流的强大功能,请大家继续关注PConline软件资讯的3DS Max栏目。
今日推荐
|
重点推荐
领军企业技术文库
+更多领军技术文库
最新专题
电子杂志订阅
| ||||||||