粒子流源是每个流的视口图标,也用作默认发射器。默认情况下,它显示为带有中心徽标的矩形(参见插图),但是可以使用本主题中所述的控件更改其形状和外观。
在视口中选择源图标时,“粒子流发射器级别”卷展栏将出现在“修改”面板上。也可以在“粒子视图”中单击全局事件的标题栏以高亮显示粒子流源,并通过“粒子视图”对话框右侧的“参数”面板访问“发射器级别”卷展栏。可使用这些控件设置全局属性,例如图标属性和流中粒子的最大数量。
粒子源图标基本等同于“粒子视图”中相应的全局事件。它们具有相同的名称,但是选择一个并不会选择另一个。如果从场景中删除粒子源图标,则“粒子流”会在“粒子视图”中将全局事件转化为孤立的局部事件,而它的操作符及其设置则不受影响。系统中的任何其他事件及其关联继续保留在“粒子视图”中。但是,如果删除全局事件,“粒子流”也会移除此系统专用的任何局部事件以及对应的粒子源图标。要保留局部事件,则需要先删除全局事件中的关联,然后再删除全局事件。
如果在使用 Shift 键的同时使用变换或“编辑”菜单 “克隆”来克隆视口中的粒子源,则相同数量的全局事件副本会出现在“粒子视图”中,并且每个副本都与原始出生事件关联。“克隆选项”对话框仅提供“复制”选项。但是,如果在“粒子视图”中克隆全局事件,则也可以使用“克隆选项”对话框创建克隆操作符和测试的实例。由于无法创建全局事件和局部事件的实例,因此在“克隆选项”对话框中这些选项不可用,仅作为提示。此外,在“粒子视图”中克隆的全局事件不会自动与原始出生事件关联。
在修改器堆栈中,扩展粒子流源对象的层次可访问两个子对象层级:“粒子”和“事件”。有关详细信息,请参见“选择”卷展栏。
使用这些控件可启用和禁用粒子系统,以及打开“粒子视图”。
也可以使用“编辑”菜单 “全部关闭”来关闭“粒子视图”中的所有粒子流,或通过右键单击其全局事件的标题栏,然后选择“关闭”来关闭特定粒子流。
设置发射器(粒子源)图标的物理特性,以及渲染时视口中生成的粒子的百分比。
默认情况下,徽标大小与源图标的大小成比例;使用此控件,可以对其进行放大或缩小。
该设置仅影响徽标的视口显示;更改此设置不会影响粒子系统。
仅当将源图标作为例子发射器时,此选择才起作用。可用的大小设置取决于所选择的图标类型,而且仅当将源图标作为发射器时,大小设置才有意义。
默认的图标类型为“矩形”。如果添加了粒子系统,然后将图标类型更改为“长方体”,则图标仍类似于矩形。要使其看起来像长方体,请增加“高度”设置。
这些设置仅影响这些项的视口显示;它们不会影响粒子系统。
这些设置可确定渲染时在视口中实际生成的每个流中粒子总数的百分比。它们不影响可见粒子的百分比;可见粒子的百分比由“显示”操作符和“渲染”操作符确定。您可以使用它们在粒子系统中的所有事件中一致地快速减少或增加粒子数。使用最大设置 10,000% 可以将流生成的粒子数乘以 100。
粒子总数由下列操作符和测试的组合效果确定:出生、出生脚本、删除、碰撞繁殖和繁殖。脚本化操作符和测试也可以影响粒子总数。
使用这些控件可以基于每个粒子或事件来选择粒子。事件级别粒子的选择用于调试和跟踪。在粒子级别选定的粒子可由“删除”操作符、“组选择”操作符和“拆分选定项”测试来操作。不能通过标准的 3ds Max 工具(如“移动”和“旋转”)直接操纵选定粒子。
选定粒子以红色(如果不是几何体)显示在视口中,并采用“显示”操作符 “选定”设置指定的形式。
每个粒子都有唯一的 ID 号,从第一个粒子使用 1 开始,并递增计数。使用这些控件可按粒子 ID 号选择和取消选择粒子。仅适用于“粒子”选择级别。
单击可将“事件”级别选择转化为“粒子”级别。仅适用于“粒子”级别。
显示粒子流中的所有事件,并高亮显示选定事件。要选择所有事件的粒子,请单击其列表项或使用标准视口选择方法。
显示选定粒子的数目。
使用这些设置可限制系统中的粒子数,以及指定更新系统的频率。
对于每个积分步长,粒子流都会更新粒子系统,将每个活动动作应用于其事件中的粒子。较小的积分步长可以提高精度,却需要较多的计算时间。这些设置使您可以在渲染时对视口中的粒子动画应用不同的积分步长。
大多数情况下,使用默认“积分步长”设置即可。当应该与导向板碰撞的快速移动的粒子穿透导向板时,增加实例中的积分步长频率可能会很有帮助。
每秒有 4,800 个 Tick;因此,若以每秒 30 帧的 NTSC 视频速率播放,则每帧有 160 个 Tick。
该卷展栏使您可以将脚本应用于每个积分步长处的粒子系统以及所查看的每帧的最后一个积分步长之后的粒子系统。使用“每步更新”脚本可设置依赖于历史记录的属性,而使用“最后一步更新”脚本可设置独立于历史记录的属性。
“每步更新”脚本在每个积分步长的末尾、计算完粒子系统中所有动作后和所有粒子最终在各自的事件中时进行计算。例如,当根据粒子索引设置“材质 ID”时,确保粒子不会跳转到另一事件至关重要。
设置依赖于历史记录的属性(如速度)时,对每个积分步长进行每步更新也很重要,否则最后位置将会完全不同。
默认脚本将修改粒子的速度和方向,从而使粒子跟随波形路径。
当“使用脚本文件”处于禁用状态时,这是默认的“每步更新”脚本 (3dsmax\scripts\particleflow\example-everystepupdate.ms)。当“使用脚本文件”处于启用状态时,这是加载的脚本(如果已加载一个脚本)。如果未加载脚本,单击“编辑”将显示“打开”对话框。
当完成所查看(或渲染)的每帧的最后一个积分步长后,执行“最后一步更新”脚本。例如,在关闭“实时”的情况下,如果在视口中播放动画,则在粒子系统渲染到视口之前,粒子流会立即按每帧运行此脚本。但是,如果只是跳转到不同帧,则脚本只运行一次,因此如果脚本采用某一历史记录,就可能获得意外结果。
因此,最好使用“最后一步更新”脚本来修改依赖于历史记录的属性。例如,如果系统中的操作符都不依赖于材质索引,则可以使用它来修改材质索引。在这种情况下,不必在每个中间积分步长中都设置那些索引。此外,如果知道位置的解析表达式,也可以在“最后一步更新”脚本中设置位置通道。
默认脚本将修改粒子的速度和方向,从而使粒子跟随灯泡形路径。
当“使用脚本文件”处于禁用状态时,这是默认的“最后一步更新”脚本 (3dsmax\scripts\particleflow\example-finalstepupdate.ms)。当“使用脚本文件”处于启用状态时,这是加载的脚本(如果已加载一个脚本)。如果未加载脚本,单击“编辑”将显示“打开”对话框。