章前导读
为了便于模拟自然界中的各种粒子现象(像雨、雪、喷泉等),以及粒子现象受到的各种力,3ds Max为用户提供了粒子系统和空间扭曲。此外,利用3ds Max的动力学(reactor)系统,可以通过定义物体的属性和外力,快速制作出物体与物体之间真实的物理作用效果。本章我们就来学习这些知识。
8.1基础篇
8.1.1粒子系统
粒子系统是3ds Max的一项重要功能,利用它可以非常方便地模拟各种自然现象和物理现象,如雨、雪、喷泉、爆炸、烟花等。
1.认识粒子系统
简单地讲,粒子系统就是众多粒子的集合,它通过发射源来发射粒子流,并以此创建各种动画效果。粒子系统常用来制作动态效果,因为它与时间和速度有着非常密切的联系。用户可以把粒子系统作为一个整体来设置动画,并可通过调整它的属性来控制每个粒子的行为。
3ds Max在“创建”>“几何体”面板的“粒子系统”分类中为用户提供了各种粒子系统的创建按钮。下面,我们利用粒子系统创建一个“下雪”动画效果,以此初步熟悉一下粒子动画的创建流程,具体步骤如下。
Step01单击“创建”>“几何体”面板“粒子系统”分类中的“雪”按钮,然后在透视视图中单击并拖动鼠标,到适当位置后释放鼠标左键,创建雪粒子系统。
Step02打开“修改”面板,调整雪粒子系统的参数,完成雪粒子系统的创建。
Step03选择“渲染”>“环境”菜单,通过打开的“环境和效果”对话框指定一个位图贴图作为场景的背景(贴图图像为本书素材中的“雪景.jpg”图片)。
Step04选择“视图”>“视口背景”菜单,打开“视口背景”对话框,然后设置其参数,使透视视图显示出场景的背景。
Step05调整透视视图的观察效果,使雪粒子的飘落方向与背景相匹配,且雪粒子的喷射范围覆盖整个透视视图。
Step06打开材质编辑器,任选一未使用的材质球分配给雪粒子系统,并命名为“雪花”;然后调整雪花材质的基本参数。
Step07打开雪花材质的“贴图”卷展栏,然后为“不透明度”贴图通道添加“渐变”
贴图,贴图的参数如。至此就完成了对雪花材质的编辑调整。
Step08选择“渲染”>“渲染”菜单,打开“渲染场景”对话框,然后调整场景的渲染参数;最后,设置渲染视口为“透视”,并单击“渲染”按钮,进行渲染输出即可。
2.常用粒子系统
(1)喷射
喷射粒子系统中的粒子在整个生命周期内始终朝指定方向移动,主要用于模拟雨、喷泉和火花等。创建完粒子系统后,利用“修改”面板“参数”卷展栏中的参数可以调整粒子系统中粒子的数量、移动速度、寿命和渲染方式等。
(2)雪
在雪粒子系统中,粒子的运动轨迹不是始终指向恒定方向的直线,而且粒子在移动的过程中会不断翻转,大小也会不断变化,常用来模拟雪等随风飘舞的粒子现象。
(3)超级喷射和暴风雪
超级喷射和暴风雪属于高级粒子系统。超级喷射产生的是从点向外发射的线型(或锥型)粒子流,常用来制作飞船尾部的喷火和喷泉等效果。暴风雪产生的是从平面向外发射的粒子流,常用来制作气泡上升和烟雾升腾等效果。
(4)粒子阵列和粒子云
粒子阵列和粒子云也属于高级粒子系统。粒子阵列是从指定物体表面发射粒子,或者将指定物体崩裂为碎片发射出去,形成爆裂效果。粒子云是在指定的空间范围或指定物体内部发射粒子,常用于创建有大量粒子聚集的场景。
(5)PF Source
PF Source(Particle Flow Source的缩写)粒子系统即“事件驱动粒子系统”。这是一种特殊的粒子系统,它将粒子的属性(如形状、速度、旋转等)复合到事件中,然后根据事件计算出粒子的行为,常用来模拟可控的粒子流现象。
8.1.2空间扭曲
空间扭曲可以看作是添加到场景中的一种力场,它能影响所有绑定到空间扭曲的场景对象,使其产生变形,从而创建出涟漪、波浪和风吹等效果。空间扭曲的行为方式类似于修改器,只不过空间扭曲影响的是世界空间,而几何体修改器影响的是对象空间。
创建空间扭曲对象时,视口中会显示一个线框。空间扭曲只会影响和它绑定在一起的对象,用户可以像对其他3ds Max对象那样改变空间扭曲的位置、角度和比例,进而改变其作用范围和强度等。
空间扭曲的种类不同,作用在对象上的力场也不同,对象的效果自然也就不同。根据功能的不同,可将空间扭曲分为力、导向器、几何/可变形和基于修改器等类别。我们可利用“创建”>“空间扭曲”面板中的按钮创建控件扭曲。
下面,我们利用粒子系统和空间扭曲创建一个“喷泉”动画。读者可通过此实例熟悉一下超级喷射粒子系统和空间扭曲的基本用法。
Step01打开本书提供的素材文件“喷泉模型.max”。
Step02使用“创建”>“几何体”面板“粒子系统”分类中的按钮在顶视图中创建一个超级喷射粒子系统,并在前视图中调整其位置,使粒子发射器位于喷泉的出口处。
Step03单击“创建”>“空间扭曲”面板“力”分类中的按钮,然后在顶视图中单击并拖动鼠标,到适当位置后释放鼠标左键,创建一个重力空间扭曲。
Step04单击选中工具栏中的“绑定到空间扭曲”按钮,然后单击重力空间扭曲并拖动鼠标到超级喷射粒子系统中(此时将从重力引出一条白色虚线与光标相连),再释放鼠标左键,将重力绑定到超级喷射粒子系统中。
Step05调整重力的强度,然后在场景中选中超级喷射粒子系统,调整其参数。
Step06单击“空间扭曲”创建面板“导向器”分类中的按钮,然后在顶视图中单击并拖动鼠标,到适当位置后释放鼠标左键,创建一个导向板;再在前视图中调整其位置。
Step07调整导向板的参数,以调整导向板的弹性和影响范围;再参照Step04所述操作将导向板绑定到超级喷射粒子系统中,完成喷泉模型的创建。
Step08打开材质编辑器,任选一未使用的材质球分配给超级喷射粒子系统,然后参照调整材质的基本参数,再为材质的“折射”贴图通道添加“薄壁折射”贴图(贴图的参数如),完成水珠材质的创建。
Step09选择“渲染”>“渲染”菜单,打开“渲染场景”对话框,然后调整场景的渲染参数;最后,设置渲染视口为Camera01,并单击“渲染”按钮,进行渲染输出即可。
“力”分类中的空间扭曲主要用来模拟现实中各种力的作用效果,大多数都可作用于粒子系统,其中重力、粒子爆炸、风、马达和推力还可作用于动力学系统。在后一种情况下,用户不用把扭曲和对象绑定在一起,而应把它们指定为模拟中的效果。
“导向器”分类中的空间扭曲可应用于粒子系统或动力学系统,以模拟粒子或物体的碰撞反弹动画。
“几何/可变形”分类中的空间扭曲主要用于使三维对象产生变形效果,以制作变形动画。
“基于修改器”分类中的空间扭曲可应用于许多对象,它与修改器的应用效果基本相同。
8.1.3动力学
利用3ds Max 2010的动力学(reactor)系统,可以通过定义物体的属性和外力,快速制作出物体与物体之间真实的物理作用效果(例如,物体的碰撞,物体在外力作用下的变形等),并可自动生成最终的动画关键帧。
1.reactor动画制作
在“创建”>“辅助对象”命令面板中选择“reactor”(动力学)分类,可调出辅助对象的动力学系统工具;在“创建”>“空间扭曲”命令面板中选择“reactor”分类,可调出空间扭曲的动力学系统工具;在主工具栏的空白处右击鼠标,从弹出的快捷菜单中选择“reactor”(动力学),将打开“reactor”(动力学)工具栏,其提供了与动力学系统相关的大量工具。
使用3ds Max的reactor系统模拟物体动力学动画的操作通常分为四步:创建运动场景、创建reactor对象并与场景中的物体关联、设置物体的动力学属性、预览模拟效果并生成关键帧。下面以“风吹窗帘”动画为例,介绍一下reactor插件的使用方法。
Step01打开本书配套光盘“素材与实例”>“第7章”文件夹中的“窗帘模型.max”文件。
Step02右击3ds Max工具栏的空白处,在弹出的快捷菜单中选择“reactor”,打开reactor工具栏;然后单击“创建刚体集合”按钮,并在左视图中单击鼠标,创建一个刚体集合。
使用reactor模拟物体的动力学动画时,首先要创建集合对象,并将场景中的物体添加到集合中,以确定各物体的类型。
Step03选中“Step02”创建的刚体集合,然后单击“修改”面板“刚体集合属性”卷展栏中的“添加”按钮,通过打开的“选择刚体”对话框将场景中的窗户和窗帘架添加到刚体集合中。
Step04选中场景中任意一个窗帘,然后为其添加“reactor Cloth”修改器,再在修改器的“属性”卷展栏中设置“质量”编辑框的值为0.5(即设置窗帘的重量为0.5kg)。
若物体属于织物、软体或绳索,在添加物体到织物、软体或绳索集合中前,需先分别为其添加reactor Cloth、reactor Soft Body或reactor Rope修改器,否则无法添加到这几种集合中;另外,使用reactor模拟动力学动画时,需指定运动物体的重量,否则在模拟时无法产生运动效果。
Step05设置reactor Cloth修改器的修改对象为“顶点”,然后在前视图中选中窗帘顶部的两行顶点,并单击“约束”卷展栏中的“固定顶点”按钮,固定这两行顶点,使窗帘在模拟动画中不会因重力的作用而掉落下来。
Step06参照前述操作,为另一个窗帘添加“reactor Cloth”修改器,并设置其重量,然后固定顶部的两行顶点。
Step07选中场景中的两个窗帘,然后单击reactor工具栏中的“创建Cloth集合”按钮,此时系统会创建织物集合并将窗帘添加到其中。
Step08单击reactor工具栏中的“创建风”按钮,然后在左视图位置单击,创建reactor的风对象;再调整风的吹动方向(即风图标中箭头的指向),使其直吹窗帘。
Step09设置风的参数,其中,“风速”编辑框用于设置风的风速,选中“扰动风速”复选框时风速随时间变化,“变化”编辑框用于设置风速的最大变化量,“时间缩放”编辑框用于设置风速的变化频率。
Step10单击reactor工具栏中的“预览动画”按钮,在打开的“reactor实时预览”
对话框中选择“模拟”>“播放/暂停”菜单,即可预览reactor动画的模拟效果。
Step11单击reactor工具栏中的“创建动画”按钮,生成动力学动画的关键帧,完成风吹窗帘动画的创建。接下来,设置渲染的参数,然后设置渲染视口为Camera01,并单击“渲染”按钮进行渲染,即可获得风吹窗帘动画。
2.reactor对象介绍
3ds Max 2010的reactor工具栏为用户提供了各种reactor对象的创建按钮,利用这些按钮可创建相应的reactor对象。根据各对象作用的不对,可将3ds Max 2010中的reactor对象分为集合对象、反应器对象和约束对象三类,具体如下。
(1)集合对象
在reactor中,系统根据物体所属的集合对象来识别物体的类型。3ds Max 2010为用户提供了五种集合对象,不同的集合对象中的物体具有不同的特点,具体如下。
刚体集合:使用reactor工具栏中的按钮可以创建刚体集合。该集合中的物体能够抵抗外力,不会因外力的影响而变形。
布料集合:使用reactor工具栏中的按钮可以创建布料集合。该集合中的物体在外力作用下会产生布料等薄物体的变形。
软体集合:使用reactor工具栏中的按钮可以创建软体集合。该集合中的物体类似于橡胶类物体,受外力作用时总是力图保持原来的形状。
绳索集合:使用reactor工具栏中的按钮可以创建绳索集合。该集合中的物体类似于绳索,只能拉伸,无法进行压缩。
变形网格集合:使用reactor工具栏中的按钮可以创建变形网格集合。该集合中的物体随物体的运动而变形,主要用于模拟动物和人体的衣物、毛发等。
(2)反应器对象
反应器对象能够以指定的方式与集合对象中的物体相互作用,以制作物体的动力学动画。3ds Max 2010为用户提供了9种反应器对象,各反应器对象的用途如下。
平面:使用reactor工具栏中的按钮可以创建平面。当平面属于刚体时,在动力学动画中,任何物体均无法逆向穿过平面。利用这一特性,常使用平面来限制物体的运动范围(例如,作为自由落体运动的地面、作为运动场景的墙壁等)。