本主题提供了用户第一次学习使用“粒子流”时很多常见问题的解答。第一部分包含到所有问题的链接,后续部分包含了按类别组织的问题和解答。
当转到不同的帧时,3ds Max 有时好像暂时冻结一样。发生了什么事?
如何在不单击“命令”面板上“粒子视图”按钮的情况下打开粒子视图?
有时会在粒子视图中看到名为“操作恢复”的事件。它们出自何处?
“粒子流”中测量时间的参数,如“出生” “发射开始/停止”以及“年龄测试”
“测试值”,都在帧中进行指定。然而,“粒子流”始终知道当前系统帧速率 (fps),如果更改此速率,它会调整所有与时间相关的参数以保持相同的计时。例如,当使用 NTSC 帧速率 (30 fps) 时,如果设置“测试值”为 60,然后切换到 PAL (25 fps),那么“粒子流”会自动将此值更改为 50,从而所测试的年龄仍为两秒钟。
另一方面是速率参数,如“速度”,以秒为单位进行测量,因而当转到不同帧速率时,它们不会更改。
“粒子流”中的多数动画依赖于历史,即为了能够绘制特定帧中的粒子,“粒子流”需要了解以前所有帧中发生的事件。通常情况下,更改参数值时,“粒子流”需要重新计算开始和当前帧之间的所有帧。或者,如果转到不同帧,“粒子流”必须重新计算一个或多个动画帧。如果向前转到某一帧,“粒子流”必须计算当前帧和将要转到帧之间的帧。因此,如果只是转到下一帧,需要进行的相关计算工作较少。但如果向后转到某一帧,即使是一个帧,也必须计算从动画开始到将要转至帧之间的所有帧。
如果需要大量计算,此项工作会产生延迟。同时,3ds Max 会在状态栏上显示如“粒子流源 01 更新 xx%(按 Esc 可取消)”的消息,因而可以了解重新计算的进度。如果看到此消息时,按 Esc 键,则“粒子流”会显示消息为“单击‘确定’关闭‘粒子流源 01’”的警告。如果单击“确定”,则重新计算停止,可以利用此机会优化动画。例如,可以减少用于测试目的的粒子数量。必须重新打开此源,才能继续。如果单击“取消”,此计算将继续。
可以。“粒子流”的“缓存”操作符可用于将所有或部分粒子动画存储在内存或文件中,然后播放存储的动画,而不是重新计算粒子运动。这使得动画不同部分间的跳转变得更加快速。
“粒子流”可以对计算机提出进行繁重处理的需求和资源需求。为了获取最佳性能,最重要的是使用最快速的可用 CPU。同样,使用具有很多粒子的粒子系统时,请在计算机上安装尽可能多的内存,尤其是在使用缓存时。
其他增强性能的方法包括使用“数量倍增”设置减少视口粒子百分比以及临时禁用当前不使用的粒子流和动作。更改参数时,返回到第一帧并向前播放,或将“粒子视图”“选项”菜单
“更新类型”设置为“向前”。对于这种方法,如果更改设置,则不强制粒子系统从开始处重新计算其状态。此更改只影响从当前帧开始向前的动画。另一方面,因为无法立即看到差异,其结果可能令人误解。
此外,使用繁殖时要小心,因为它会快速创建大量粒子,尤其是在使用“繁殖”测试中的“按移动距离”选项时。
粒子流通过“粒子蒙皮器”修改器(mParticles 系统的一部分)支持对象碎片。有关如何使用的示例,请参见 3ds Max 教程中的《mParticles 快速入门》教程。
在粒子流源图标的“系统管理”卷展栏上,可以分别调整视口播放和渲染的积分步长。积分步长越小,“粒子流”计算粒子每帧运动的次数越多,从而以计算时间为代价产生较高的精度。
可以。“粒子流”包括“脚本”操作符和测试,以及“出生脚本”操作符,允许您完全自定义此粒子系统。每个可脚本化的动作都包含一个示例脚本,其中还列出了所有相关的可脚本化功能。还可以按照各个主题中说明的内容,使用脚本关联方法来控制“力”操作符和“保持分离”操作符的参数。
此外,还可以在每个积分步长处执行脚本,在查看或渲染每个帧前执行另一脚本;请参见“脚本”卷展栏。
可以。当组合对象的每个成员都构成一个单独粒子时,通过“图形实例”操作符,可以使用组、层次以及包含多个元素的对象。可以按特定顺序或随机顺序发射这些对象。例如,可以通过按字母出现在文本中的顺序发射的字母来使用文本对象。
要防止粒子受到灯光源的影响,请使用灯光的“排除”功能,此功能位于“常规参数”卷展栏(“修改”面板)上,用于指定任一包含要排除粒子的事件。指定“粒子流源 XX”对象(默认名称)并不会产生效果,必须指定列为“PF XX”->“事件 XX”的所有对象。
按 6 键。可能必须首先启用位于主工具栏上的 (键盘快捷键覆盖切换)。
不需要,所有粒子系统都显示在“粒子视图”中。可以滚动和缩放事件显示以查看不同的系统。
“粒子视图”为您提供多种进行此项操作的不同方法。可以单击动作图标或事件的电灯泡图标以关闭粒子系统、或使用右键单击菜单、或使用“编辑”菜单的“打开”和“关闭”命令。同样,如果在“粒子流”计算时按 Esc,则 3ds Max 会提供一个关闭整个粒子系统的机会,从而立即返回对 3ds Max 的控制。然后,可以分析此系统来确定减速、优化或简化粒子流的区域,再重新计算动画。
合并包含“粒子流”数据的场景时,可以导入整个事件和孤立的动作。如果合并不带有其事件的动作,“粒子流”会将此动作放置到一个名为“操作恢复”的事件中。
使用相同的自动关键点方法,使用方法如同对任一其他 3ds Max 参数设置动画一样。
不需要;使用碰撞测试、碰撞繁殖测试或“力”操作符来影响具有 3ds Max 空间扭曲的粒子运动。在全局和局部(每个事件)基础上进行此项操作的功能比使用以前系统能够更好地控制空间扭曲对粒子的影响。
可以使用“速度按图标”操作符或“查找目标”测试,将图标或目标指定给样条线路径。可在两个主题中找到说明性步骤。
No. “快照”工具当前与“粒子流”不兼容。
可以通过“粒子视图”中的右键单击菜单编辑事件的对象属性来在每一事件基础上应用运动模糊,或通过编辑全局事件对象的属性在全局基础上应用运动模糊。在“粒子视图”对话框中,高亮显示此事件以进行编辑,然后右键单击并选择“属性”。在“对象属性”对话框中,编辑“运动模糊”组设置。
或者,还可以将运动模糊应用于整个“粒子流”系统,而不需要通过使用关于摄影机的多过程运动模糊效果来设置属性。
要通过“粒子流”使用“粒子年龄”贴图,必须使用“删除”操作符为粒子提供有限的寿命。有关详细信息,请参见删除操作符。
还要注意以下事项:
通常使用 MassFX 和 mParticles 功能将粒子与动力学结合起来。否则动力学系统可能会使用 Euler XYZ 控制器生成旋转关键点。要避免插值的不连续性,请将这些对象的旋转控制器更改为“TCB 旋转”。
使用“出生”操作符中的负帧范围。例如,要获取一个范围为 30 帧的粒子年龄,请将“发射开始”设置为 –29,并将“发射停止”设置为 0。
可以使用关键帧为很多“粒子流”参数值设置动画。在多数动作中,可以通过从标记为“同步方式”的下拉列表中选择时间帧,以将此动画应用于粒子。可以将动画应用于整个动画时间帧中的粒子,或每个粒子生命的特定时间(粒子年龄),或根据此粒子存在于当前事件中的时间长度。详细信息请参见单个操作符和测试主题。
虽然“粒子流”在粒子阵列中没有气泡运动选项,您仍可以通过以下步骤模拟其效果:
其结果为当粒子沿其路径移动时,这些粒子会上下来回地摆动,与气泡运动相似。
“粒子流”包括几个“分割”测试,可用于根据数量、选择或源将某些粒子发送至另一事件。在单一事件中可以使用任意数量的测试将部分粒子流发送至不同事件,然后使用“发送”测试来将剩余粒子重定向至另一事件。记住,第一次测试后的任意后续测试只对事件中剩余的粒子有效,而无需对此事件中开始的所有粒子有效。
视情况而定。如果事件包含两个或多个相同类型的操作符(如“形状”),那么最后一个动作将覆盖其余动作。如果事件包含两个或多个测试,那么将计算动作,并且粒子按测试出现的顺序重新定向。
然而,如果某事件中的两个动作控制相同的属性,它们之间的相互作用就更复杂。连续工作的动作通常胜于第一次进入事件时只影响粒子的动作。例如,“查找目标”测试和“速度”操作符都可以控制粒子速度和方向,但测试连续工作,而操作符只发挥一次作用。如果事件中二者均包含,则通常情况下,即使操作符出现在测试之后,粒子速度和方向都将主要受测试控制。然而,操作符设置也会对粒子行为产生某些影响,尤其当其“速度”值明显大于测试的速度值时。有关操作的有效时间帧的列表,请参见操作时间帧。
此外,如果正在测试可能受到事件中其他动作影响的特定条件,请确保将此测试放置到动作之后。例如,在带有“力”操作符和“碰撞”测试的事件中,将“碰撞”测试放置到“力”操作符的后面。这就避免了在“粒子流”测试碰撞前强制将粒子推过导向器的可能,以允许粒子穿透导向器。通常情况下,将测试放置到事件的末尾。
一种方法是在每个事件中将“显示”操作符的“类型”选项设置为不同选项。例如,第一个事件会使用“十字叉”,第二个事件会使用“圆形”,第三个事件会使用“直线”。按这种方式,当粒子从一个事件移动至另一个事件时,会更改其在视口中的外观。还可以使用“显示”操作符来更改粒子颜色,以进一步加以区别。
另一种方法是选择特定事件中的所有粒子。选择“粒子流源”图标,然后转到“修改”面板 “选择”卷展栏,再单击“事件”图标。然后可以在“按事件选择”列表中单击事件来高亮显示视口中所有它的粒子。
材质是事件的静态属性。它并不与粒子一起从一个事件移动至另一事件。粒子的材质 ID 与粒子一起移动,但其材质并不移动。如果希望粒子始终使用相同材质,请使用“材质”操作符或“图形实例”操作符定义全局事件中的材质。否则,就需要在每个局部事件中定义材质。
“粒子流”可用于将任意数量的测试连线至单个事件。
全局事件中的相似操作符可能会覆盖局部操作符。默认情况下,“粒子流”会首先计算局部操作符,然后再计算全局操作符。如果全局操作符如同局部操作符影响相同属性(如速度),此粒子系统将使用由全局操作符设置的值。可以通过选择“粒子视图”“选项”菜单
“操作顺序”
“全局优先”,将局部操作符设置为覆盖全局操作符。
可以,但这根本不会影响粒子系统。