在本教程中,将使用粒子系统创建从烟灰缸升起的一股烟雾。此动画依靠空间扭曲来影响烟雾移动。例如,使用“风”空间扭曲对场景中吹动烟雾的风扇建模。
本教程中使用的动画技术:
-
创建粒子系统。
-
创建影响粒子运动的空间扭曲。
-
选择适当的粒子几何体。
-
创建应用于粒子时对烟雾建模的材质。
完成时间:30 分钟
设置场景:
-
打开 cigarette_smoke.max。
本教程的文件位于 \tutorials\simple_particle_effects\ 目录中。
注意:本教程的所有必需文件都可以在 3ds Max 8 附带的教程文件光盘上找到。在执行教程之前,请将 \tutorials 目录从光盘复制到您的 \3dsmax8 本地安装目录中。
此场景包含一张简单的桌子,一个烟灰缸和一个风扇。为了使动画易于调整,将风扇几何体(除风扇马达外)冻结。
创建粒子系统:
-
激活“顶”视口。
-
如果需要,请选择烟灰缸并单击“最大化显示选定对象”以使烟灰缸适合视口。
-
在“创建”面板中,确保“几何体”处于活动状态,并从下拉列表中选择“粒子系统”。
-
在“对象类型”卷展栏上,单击“超级喷射”。
-
在“顶”视口中,在烟灰缸中香烟对象末端附近单击并拖动。
现在已创建了“超级喷射”粒子系统。所看到的图标称为“发射器”。此发射器不会渲染,但它显示了将在场景中发射粒子的位置。箭头指向上方,表示开始时粒子将从图标中心向上移动。
创建“超级喷射”系统时,在所单击的视口中粒子是朝向您发射的。即,它们沿 Z 轴的正向移动。这就是我们使用“顶”视口创建此系统的原因。
(不同类型的粒子系统具有不同图形的发射器以及不同的发射行为。)
此时所看到的是“超级喷射”的默认行为和设置。若要获得更接近于烟雾的效果,首先要调整“超级喷射”参数。
使粒子减速以使它们更易于显现:
-
在选定“超级喷射”粒子系统的情况下,转到“修改”面板。
提示:粒子系统拥有大量卷展栏。如果愿意,可以展开命令面板,以便同时查看更多的卷展栏和控件。将鼠标移到命令面板与视口之间的边界处,然后拖动命令面板来创建多个列。无论命令面板是浮动式的还是停靠式的,它都可以加宽。若要停靠或浮动命令面板,请在选项卡一侧单击右键,然后从弹出按钮菜单中选择“浮动”或“停靠”。
-
在“基本参数”卷展栏 >“视口显示”组中,将显示类型更改为“圆点”而不是“十字叉”。
为了在视口中工作,尤其当粒子彼此非常接近时,“圆点”提供的预览效果要比加号“十字叉”更好。
-
在“基本参数”卷展栏 >“粒子分布”组中,将“轴偏离”的“扩散”值设置为 2.0。
(这是直接位于“轴偏离”微调器下面的“扩散”微调器,而不是与“平面偏离”关联的“扩散”值。)
-
在“粒子生成”卷展栏 >“粒子运动”组中,将“速度”设置为 1.5。
如果现在播放动画,将看到粒子向上更为缓慢地流动。稍微增加“扩散”值意味着这些粒子不会完全在一条直线上移动。(“扩散”的计量单位为度。较高的“扩散”值会创建更像扇子的图案。)
然而,这些粒子在第 30 帧处停止发射,并在第 100 帧处从屏幕中完全消失。若要获得烟雾效果,还需要更改控制粒子生成和寿命的默认值。
调整粒子生成:
-
在“粒子生成”卷展栏 >“粒子数量”组中,将“使用速率”设置为 30。
这将增加从第 10 帧至第 30 帧期间每帧生成的粒子数量。
注意:当在“Camera02”视口中播放动画时,不会看到每帧发射的 30 个粒子。默认情况下,在视口中,“超级喷射”只显示实际发射粒子数的 10%。这可使视口快速播放。可以在“基本参数”卷展栏的“视口显示”组中调整预览值,但我们建议使其保持较低值。 在系统中预览较大比例的粒子时会严重降低 3ds Max 速度。当渲染动画时,渲染使用全部粒子。
提示:预览所有粒子效果的较好方式是使用命令“渲染”>“生成预览”。
-
同样,在“粒子生成”卷展栏上的“粒子计时”组中,将“发射停止”和“显示时限”都设置为 300。
此动画的长度为 300 帧。将“发射停止”设置为 300 表示在整个动画过程中将持续发射粒子。将“显示时限”设置为同一值表示没有消亡的所有粒子都保留在此场景中,直到动画结束。
-
继续下一步,将“寿命”值更改为 180。
此系统中的粒子在发射后 180 帧消亡。并不是所有这些粒子都将持续到第 300 帧。
现在粒子呈现为更浓的烟云,它并没有直接移出场景。这容易使人联想到烟雾。但粒子系统的移动看起来仍有些虚假。
粒子不具有智能。如同绵羊,需要驱赶它们。空间扭曲(如“风”和“重力”)可以添加影响粒子运动的方向场。在此烟雾模拟中,将风扇与对风扇吹出的微风建模的“风”空间扭曲相关联。
创建“风”空间扭曲以模拟来自风扇的微风:
-
转到“创建”面板,并启用“空间扭曲”按钮。
-
确保“力”为处于活动状态的空间扭曲类型。
-
在“对象类型”卷展栏上单击“风”。
-
在“左”视口中拖动以创建“风”空间扭曲。
不必使“风”图标与风扇马达过于精确地对齐。风的方向以及与马达运动的链接才是重要的。
将“风”空间扭曲绑定到烟雾粒子。
-
选择“超级喷射”粒子系统。
-
单击“绑定到空间扭曲”,然后单击“超级喷射”系统,并在拖动至“风”空间扭曲时按住鼠标按钮。
当“绑定到空间扭曲”处于活动状态且光标位于选定对象上时,光标变为空间扭曲图标,表示可将此对象绑定到空间扭曲。接着,当从此对象拖动至空间扭曲时,将绘制一条线以显示已将哪个对象绑定。离开对象后,光标形状再次变化,直到它位于合适的空间扭曲上。之后,光标又还原为空间扭曲图标,告诉您此绑定有效。释放鼠标按钮时,绑定的空间扭曲暂时高亮显示,表示绑定操作完成。
-
激活“Camera02”视口,然后播放此动画。
风的效果太强。烟雾突然急转。
调整风的强度:
默认情况下,“风”空间扭曲的“强度”值为 1.0。减少“强度”值使风扇效果看起来更真实。
-
选择“风”空间扭曲。
-
在“修改”面板中,将“强度”值设置为 0.03。
-
激活“Camera02”视口,然后播放此动画。
现在烟雾轻轻飘荡。通过为烟雾添加一些惯性,还可使烟雾的外观看起来更加真实。为此,将使用另一个空间扭曲。
添加“阻力”空间扭曲:
-
转到“创建”面板,并单击“空间扭曲”按钮。
-
确保“力”为处于活动状态的空间扭曲类型。
-
在“对象类型”卷展栏上,单击“阻力”。
-
在“顶”视口中,拖动以在“超级喷射”附近创建“阻力”空间扭曲。
设置“阻力”空间扭曲参数:
“阻力”空间扭曲有很多参数。对于此动画,只需设置其中几个参数:“结束时间”和用于“线性阻尼”的“轴”百分比。
-
在选定“阻力”空间扭曲的情况下,转到“修改”面板。将“结束时间”设置为 300。
默认情况下,“结束时间”值为 100,但需要使“阻力”在动画持续时间内处于活动状态。
-
在“线性阻尼”为活动的阻尼类型的情况下,将“X 轴”和“Y 轴”百分比设置为 1.0,将“Z 轴”百分比设置为 2.0。
与“风”空间扭曲一样,将粒子绑定到“阻力”空间扭曲之前,空间扭曲也不会影响粒子。
将“阻力”空间扭曲绑定到烟雾粒子:
-
单击“绑定到空间扭曲”,然后在“顶”视口中单击“超级喷射”系统,之后在拖动至“阻力”空间扭曲时按住鼠标按钮。
现在已将阻力应用于粒子。此力是非均匀的:沿 Z 轴方向(在场景中向上和向下)的阻力多于沿其他方向的阻力。
-
激活“Camera02”视口,然后播放此动画。
“风”空间扭曲的效果减弱。“阻力”扭曲将降低粒子运动速度。
为风添加湍流:
烟雾效果看起来更好一些,但其运动的均匀性还是不自然。解决的方法是使“风”更紊乱。
-
选择“风”空间扭曲。
-
在“修改”面板上,转到“参数”卷展栏中的“风”组框。将“湍流”设置为 0.03、“频率”设置为 0.12、“比例”设置为 0.1。
“湍流”值控制粒子从其位置扰动的程度。“频率”产生湍流中的随机变化,“比例”调整湍流区域的大小。
为什么设置这么小的值?实际上,湍流设置的良好经验方法是开始时设置较低值,逐渐设置较高的值。湍流会创建分形噪波区域,此区域局限在“风”空间扭曲图标上。此区域比例需要与场景比例相匹配。执行此操作的最简单方法是以较低值开始,然后根据需要增加这些值。
-
激活“Camera02”视口,然后播放此动画。
这些粒子移动更加像缭绕的烟雾。
此外,在给定帧上,粒子沿“风”空间扭曲的当前方向吹动。此效果并不像真实的风扇一样是具有衰减的圆锥形;而是,风的效果及其湍流是平行的。
虽然烟雾的移动现在很好,但此粒子几何体还需要一些调整。
这些粒子仍显示为一串类似实体的圆点(默认情况下它们渲染为 3D 三角形)。若要使这些粒子看起来更像烟雾,首先要调整粒子几何体,然后将适当的材质应用于这些粒子。
更改粒子几何体:
-
选择“超级喷射”粒子系统。
-
转至“修改”面板。
-
如果在修改器堆栈中选择了空间扭曲绑定之一,请单击“超级喷射”项,从而可以看到此粒子系统的卷展栏。
-
在“粒子类型”卷展栏 >“标准粒子”组中,选择“面”。
“面”是方形粒子,它们始终朝向摄影机。如果将这些粒子渲染为实体,则它们看起来还是不真实。但必须有材质应用给面粒子。当面粒子聚集到一起并且材质给予它们一定程度的透明度时,可以获得相当逼真的烟雾。
粒子大小均匀。通常,如果要创建逼真的自然现象模型,需要避免均匀性。
使粒子几何体更随机:
理想情况下,粒子出生后应该增大,然后在消亡时逐渐消失。可以使用“增长耗时”和“衰减耗时”参数完成此任务。此外,若要打破粒子大小的不真实的均匀性,需要为大小添加某些变化。
-
在“超级喷射”被选定且“修改”面板仍处于活动状态的情况下,转到“粒子生成”卷展栏底端附近的“粒子大小”组。
-
将“大小”设置为 2.0,将“变化”设置为 30%。
-
将“增长耗时”值设置为 90,并将“衰减耗时”值设置为 30。
在这些最后步骤中,已增加了粒子总体大小,并通过增加或减少 30% 的粒子大小以使其随机化。现在每个粒子的增长时间为 90 帧,从初始的零增长到将达到的实际大小。在消亡前的 30 帧上,它的大小开始逐渐收缩到零。(记住已将每个粒子的寿命设置为 180 帧。)
由于已调整了粒子几何体,因此可以为粒子着色以使它们看起来像烟雾。窍门是使用柔软、部分透明的材质,此材质允许粒子混合到一起并形成缭绕的烟雾图案。由于已将粒子渲染为方形面几何体,因此带有透明边缘的径向渐变可以完成此任务。
设置材质:
-
打开“材质编辑器”。
-
选择未使用的示例窗。
-
在“Blinn 基本参数”卷展栏上,单击“漫反射”色样以显示“颜色选择器”。
-
将“漫反射”颜色设置为纯白(值为 255)。
-
将“高光级别”和“光泽度”值都设置为 0。
-
启用“自发光”下的“颜色”复选框。
“自发光”可控制从微调器到色样的更改。
-
单击“自发光”色样。在“颜色选择器”中,将“自发光”颜色设置为中灰色(值为 144)。
-
在“明暗器基本参数”卷展栏上,启用“面贴图”切换。
使用“面贴图”对“面”粒子进行着色,从而每个渲染的粒子都显示整个贴图。
现在的材质为纯白色、部分自发光(带有中灰色)并为粒子设置了面贴图。
若要柔化烟雾,需要在其边缘通过透明度创建径向渐变。
为烟雾粒子生成径向渐变贴图:
-
在“材质编辑器”中,打开“贴图”卷展栏并单击“不透明度”贴图按钮。
-
在“材质/贴图浏览器”中,选择“浏览自:新建”,并单击“渐变”,然后单击“确定”。
-
在“渐变参数”卷展栏上,将“渐变类型”更改为“径向”。
-
单击“转到父级”以返回至材质的基础级别。
-
在“贴图”卷展栏上,将“不透明度”值更改为 5。
“渐变”贴图只决定不透明度的 5%。95% 的不透明度仍受基本“不透明度”参数控制。对于烟雾,尽可能使粒子柔软和半透明,尤其在粒子数量很多的情况下。这样,“渐变”贴图应该是设置粒子“不透明度”的唯一途径,但还希望总体“不透明度”非常低。对于此动画,请完全禁用基本“不透明度”值。
-
在“基本参数”卷展栏中,将“不透明度”值设置为 0。
渲染的场景现在拥有非常柔软的烟雾,烟雾上升并逐渐增大,同时来自风扇的风使其四处飘动。
现在可以激活“Camera02”视口,并渲染整个动画。即使采用低分辨率,该过程也需要约半小时的时间。或者,可以播放教程文件光盘上提供的 cigarette_smoke.avi 文件。