返回介绍

3ds Max 帮助

3ds Max 帮助归档

粒子流常见问题

发布于 2022-07-23 00:45:56 字数 14614 浏览 0 评论 0 收藏 0

本主题提供了用户第一次学习使用“粒子流”时很多常见问题的解答。第一部分包含到所有问题的链接,后续部分包含了按类别组织的问题和解答。

问题列表

粒子流如何处理时间?

当转到不同的帧时,3ds Max 有时好像暂时冻结一样。发生了什么事?

是否有预计算粒子模拟部分的方法,如在“烘焙”动画时?

还可以进行何种操作来优化性能?

如何使用粒子流来使对象炸开?

如何控制粒子流模拟的精度?

可以使用 MAXScript 来影响粒子吗?

可以将多个对象用作实例化几何体吗?

如何从特定灯光源中排除粒子?

如何在不单击“命令”面板上“粒子视图”按钮的情况下打开粒子视图?

需要多个粒子视图来管理多个粒子系统吗?

可以选择性地禁用或“关闭”粒子系统部分吗?

有时会在粒子视图中看到名为“操作恢复”的事件。它们出自何处?

如何为动作参数设置动画?

如何将已设置动画的位图纹理与粒子年龄同步?

还需要将粒子流粒子绑定到空间扭曲吗?

如何使粒子跟随路径?

可以与粒子流一起使用快照吗?

如何通过粒子流使用运动模糊?

如何通过粒子流使用粒子年龄和粒子运动模糊贴图?

我打算将“粒子流”应用于使用动力学系统创建的动画中。为什么会产生诸如意外的粒子繁殖这样的奇怪结果?

如何在指定粒子不同年龄时,将所有粒子显示在第一个帧中?

如何指定时间帧来使已设置动画的参数应用于粒子?

如何将气泡运动应用于粒子?

如何将事件分支为几个其他事件?

将动作放入事件的顺序重要吗?

如何辨别特定事件中的粒子?

为什么当粒子移动到另一事件时会丢失其材质?

可以让一个事件接收来自多个事件的输入吗?

我更改了操作符设置,但看起来对粒子系统没有任何影响。

可以将事件孤立在粒子视图中并不与任何内容连接吗?

常规

粒子流如何处理时间?

“粒子流”中测量时间的参数,如“出生” “发射开始/停止”以及“年龄测试” “测试值”,都在帧中进行指定。然而,“粒子流”始终知道当前系统帧速率 (fps),如果更改此速率,它会调整所有与时间相关的参数以保持相同的计时。例如,当使用 NTSC 帧速率 (30 fps) 时,如果设置“测试值”为 60,然后切换到 PAL (25 fps),那么“粒子流”会自动将此值更改为 50,从而所测试的年龄仍为两秒钟。

另一方面是速率参数,如“速度”,以秒为单位进行测量,因而当转到不同帧速率时,它们不会更改。

当转到不同的帧时,3ds Max 有时好像暂时冻结。发生了什么事?

“粒子流”中的多数动画依赖于历史,即为了能够绘制特定帧中的粒子,“粒子流”需要了解以前所有帧中发生的事件。通常情况下,更改参数值时,“粒子流”需要重新计算开始和当前帧之间的所有帧。或者,如果转到不同帧,“粒子流”必须重新计算一个或多个动画帧。如果向前转到某一帧,“粒子流”必须计算当前帧和将要转到帧之间的帧。因此,如果只是转到下一帧,需要进行的相关计算工作较少。但如果向后转到某一帧,即使是一个帧,也必须计算从动画开始到将要转至帧之间的所有帧。

如果需要大量计算,此项工作会产生延迟。同时,3ds Max 会在状态栏上显示如“粒子流源 01 更新 xx%(按 Esc 可取消)”的消息,因而可以了解重新计算的进度。如果看到此消息时,按 Esc 键,则“粒子流”会显示消息为“单击‘确定’关闭‘粒子流源 01’”的警告。如果单击“确定”,则重新计算停止,可以利用此机会优化动画。例如,可以减少用于测试目的的粒子数量。必须重新打开此源,才能继续。如果单击“取消”,此计算将继续。

提示 提高重新计算和渲染粒子的速度的简单方式是调整粒子的总数量。要进行此项操作,请选择“粒子流源”图标,然后转到“修改”面板 “发射”卷展栏 “数量倍增”组。在此可以按粒子总数量的百分比来增加或减少,以分别用于视口显示和渲染。 提示要在不调整参数的情况下加速动画播放,请使用“缓存”操作符(请参见以下项)。

是否有预计算粒子模拟部分的方法,如在“烘焙”动画时?

可以。“粒子流”的“缓存”操作符可用于将所有或部分粒子动画存储在内存或文件中,然后播放存储的动画,而不是重新计算粒子运动。这使得动画不同部分间的跳转变得更加快速。

还可以进行何种操作来优化性能?

“粒子流”可以对计算机提出进行繁重处理的需求和资源需求。为了获取最佳性能,最重要的是使用最快速的可用 CPU。同样,使用具有很多粒子的粒子系统时,请在计算机上安装尽可能多的内存,尤其是在使用缓存时。

其他增强性能的方法包括使用“数量倍增”设置减少视口粒子百分比以及临时禁用当前不使用的粒子流和动作。更改参数时,返回到第一帧并向前播放,或将“粒子视图”“选项”菜单 “更新类型”设置为“向前”。对于这种方法,如果更改设置,则不强制粒子系统从开始处重新计算其状态。此更改只影响从当前帧开始向前的动画。另一方面,因为无法立即看到差异,其结果可能令人误解。

此外,使用繁殖时要小心,因为它会快速创建大量粒子,尤其是在使用“繁殖”测试中的“按移动距离”选项时。

如何使用粒子流来使对象炸开?

粒子流通过“粒子蒙皮器”修改器mParticles 系统的一部分)支持对象碎片。有关如何使用的示例,请参见 3ds Max 教程中的《mParticles 快速入门》教程。

如何控制粒子流模拟的精度?

在粒子流源图标的“系统管理”卷展栏上,可以分别调整视口播放和渲染的积分步长。积分步长越小,“粒子流”计算粒子每帧运动的次数越多,从而以计算时间为代价产生较高的精度。

可以使用 MAXScript 来影响粒子吗?

可以。“粒子流”包括“脚本”操作符测试,以及“出生脚本”操作符,允许您完全自定义此粒子系统。每个可脚本化的动作都包含一个示例脚本,其中还列出了所有相关的可脚本化功能。还可以按照各个主题中说明的内容,使用脚本关联方法来控制“力”操作符“保持分离”操作符的参数。

此外,还可以在每个积分步长处执行脚本,在查看或渲染每个帧前执行另一脚本;请参见“脚本”卷展栏

可以将多个对象用作实例化几何体吗?

可以。当组合对象的每个成员都构成一个单独粒子时,通过“图形实例”操作符,可以使用组、层次以及包含多个元素的对象。可以按特定顺序或随机顺序发射这些对象。例如,可以通过按字母出现在文本中的顺序发射的字母来使用文本对象。

如何从特定灯光源中排除粒子?

要防止粒子受到灯光源的影响,请使用灯光的“排除”功能,此功能位于“常规参数”卷展栏(“修改”面板)上,用于指定任一包含要排除粒子的事件。指定“粒子流源 XX”对象(默认名称)并不会产生效果,必须指定列为“PF XX”->“事件 XX”的所有对象。

粒子视图

如何在不单击“命令”面板上“粒子视图”按钮的情况下打开粒子视图?

按 6 键。可能必须首先启用位于主工具栏上的 (键盘快捷键覆盖切换)。

需要多个粒子视图来管理多个粒子系统吗?

不需要,所有粒子系统都显示在“粒子视图”中。可以滚动和缩放事件显示以查看不同的系统。

可以选择性地禁用或“关闭”部分粒子系统吗?

“粒子视图”为您提供多种进行此项操作的不同方法。可以单击动作图标或事件的电灯泡图标以关闭粒子系统、或使用右键单击菜单、或使用“编辑”菜单的“打开”和“关闭”命令。同样,如果在“粒子流”计算时按 Esc,则 3ds Max 会提供一个关闭整个粒子系统的机会,从而立即返回对 3ds Max 的控制。然后,可以分析此系统来确定减速、优化或简化粒子流的区域,再重新计算动画。

有时会在粒子视图中看到名为“操作恢复”的事件。它们出自何处?

合并包含“粒子流”数据的场景时,可以导入整个事件和孤立的动作。如果合并不带有其事件的动作,“粒子流”会将此动作放置到一个名为“操作恢复”的事件中。

动画

如何为动作参数设置动画?

使用相同的自动关键点方法,使用方法如同对任一其他 3ds Max 参数设置动画一样。

注意:避免使用“设置关键点”模式或按住 Shift 键同时右键单击的方法来为“粒子流”参数设置动画。同样,要查看轨迹栏中动作的动画关键点,请确保已选定“粒子流源”图标。

如何将已设置动画的位图纹理与粒子年龄同步?

结合使用“材质动态”操作符“位图 2D”贴图。可在此处找到详细说明此方法的步骤。

还需要将粒子流粒子绑定到空间扭曲吗?

不需要;使用碰撞测试碰撞繁殖测试“力”操作符来影响具有 3ds Max 空间扭曲的粒子运动。在全局和局部(每个事件)基础上进行此项操作的功能比使用以前系统能够更好地控制空间扭曲对粒子的影响。

如何使粒子跟随路径?

可以使用“速度按图标”操作符“查找目标”测试,将图标或目标指定给样条线路径。可在两个主题中找到说明性步骤。

可以与“粒子流”一起使用“快照”吗?

No. “快照”工具当前与“粒子流”不兼容。

如何通过粒子流使用运动模糊?

可以通过“粒子视图”中的右键单击菜单编辑事件的对象属性来在每一事件基础上应用运动模糊,或通过编辑全局事件对象的属性在全局基础上应用运动模糊。在“粒子视图”对话框中,高亮显示此事件以进行编辑,然后右键单击并选择“属性”。在“对象属性”对话框中,编辑“运动模糊”组设置。

或者,还可以将运动模糊应用于整个“粒子流”系统,而不需要通过使用关于摄影机的多过程运动模糊效果来设置属性。

注意:与 3ds Max 中的任何对象一样,还可以使用“对象属性”为事件和粒子系统设置其他属性。只在“粒子视图”中执行此操作,而不使用视口(右键单击菜单 “属性”或“编辑”菜单 “对象属性”)中的源图标。 注意:使用“对象运动模糊”时,如果某事件包含使用带有“粒子年龄”、“粒子运动模糊”或“位图”贴图的材质的“材质动态”操作符,则此事件也不应包含“删除”操作符、繁殖测试或碰撞繁殖测试。同样,此事件还不应包含关联至另一事件的所有测试。唯一例外是“年龄测试”操作符在设置为不带任何变化的“绝对时间”时,即所有粒子同时离开此事件。这只适用于使用“对象运动模糊”的情况,对“图像运动模糊”没有限制。

如何通过粒子流使用粒子年龄和粒子运动模糊贴图?

要通过“粒子流”使用“粒子年龄”贴图,必须使用“删除”操作符为粒子提供有限的寿命。有关详细信息,请参见删除操作符

还要注意以下事项:

  • “粒子年龄”、“粒子运动模糊”和包含动画位图的“位图”贴图只能通过“材质动态”操作符以及在“与粒子 ID 相同”打开的情况下使用。本主题中有使用“位图”和“粒子年龄”的步骤。
  • 粒子材质不得为子材质,必须为主材质。
  • 在 3ds Max 的非事件驱动粒子系统中,将“粒子运动模糊”与名为“运动方向/运动模糊”的控件和附带的“拉伸”参数一起使用。在“粒子流”中,可以通过使用“缩放”操作符复制拉伸效果,关闭“比例因子”“约束属性”,然后沿某一轴缩放粒子。

我打算将“粒子流”应用于使用动力学系统创建的动画中。为什么会产生诸如意外的粒子繁殖这样的奇怪结果?

通常使用 MassFXmParticles 功能将粒子与动力学结合起来。否则动力学系统可能会使用 Euler XYZ 控制器生成旋转关键点。要避免插值的不连续性,请将这些对象的旋转控制器更改为“TCB 旋转”。

如何在指定粒子不同年龄时,将所有粒子显示在第一个帧中?

使用“出生”操作符中的负帧范围。例如,要获取一个范围为 30 帧的粒子年龄,请将“发射开始”设置为 –29,并将“发射停止”设置为 0

如何指定时间帧,其中已设置动画的参数应用于粒子?

可以使用关键帧为很多“粒子流”参数值设置动画。在多数动作中,可以通过从标记为“同步方式”的下拉列表中选择时间帧,以将此动画应用于粒子。可以将动画应用于整个动画时间帧中的粒子,或每个粒子生命的特定时间(粒子年龄),或根据此粒子存在于当前事件中的时间长度。详细信息请参见单个操作符和测试主题。

如何将气泡运动应用于粒子?

虽然“粒子流”在粒子阵列中没有气泡运动选项,您仍可以通过以下步骤模拟其效果:

  1. 添加对象以用作粒子几何体和虚拟辅助对象
  2. 将此虚拟对象放置在远离粒子几何体对象中心的位置,并链接粒子几何体至此虚拟对象,从而使此虚拟对象成为父对象(即从几何体对象拖动至此虚拟对象)。两个对象的之间的距离确定气泡运动的半径。
  3. 在“粒子视图”中将“图形实例”操作符“自旋”操作符添加到要发生汽泡运动的事件中。
  4. 单击“图形实例”操作符并将虚拟对象指定为粒子几何体对象。
  5. 单击“自旋”操作符并设置正确的“自旋速率”和“变化”值。对于“自旋轴”,保持默认设置为“随机 3D”。

其结果为当粒子沿其路径移动时,这些粒子会上下来回地摆动,与气泡运动相似。

事件

如何将事件分支为几个其他事件?

“粒子流”包括几个“分割”测试,可用于根据数量、选择或源将某些粒子发送至另一事件。在单一事件中可以使用任意数量的测试将部分粒子流发送至不同事件,然后使用“发送”测试来将剩余粒子重定向至另一事件。记住,第一次测试后的任意后续测试只对事件中剩余的粒子有效,而无需对此事件中开始的所有粒子有效。

将动作放入事件的顺序要紧吗?

视情况而定。如果事件包含两个或多个相同类型的操作符(如“形状”),那么最后一个动作将覆盖其余动作。如果事件包含两个或多个测试,那么将计算动作,并且粒子按测试出现的顺序重新定向。

然而,如果某事件中的两个动作控制相同的属性,它们之间的相互作用就更复杂。连续工作的动作通常胜于第一次进入事件时只影响粒子的动作。例如,“查找目标”测试“速度”操作符都可以控制粒子速度和方向,但测试连续工作,而操作符只发挥一次作用。如果事件中二者均包含,则通常情况下,即使操作符出现在测试之后,粒子速度和方向都将主要受测试控制。然而,操作符设置也会对粒子行为产生某些影响,尤其当其“速度”值明显大于测试的速度值时。有关操作的有效时间帧的列表,请参见操作时间帧

此外,如果正在测试可能受到事件中其他动作影响的特定条件,请确保将此测试放置到动作之后。例如,在带有“力”操作符“碰撞”测试的事件中,将“碰撞”测试放置到“力”操作符的后面。这就避免了在“粒子流”测试碰撞前强制将粒子推过导向器的可能,以允许粒子穿透导向器。通常情况下,将测试放置到事件的末尾。

如何辨别特定事件中的粒子?

一种方法是在每个事件中将“显示”操作符的“类型”选项设置为不同选项。例如,第一个事件会使用“十字叉”,第二个事件会使用“圆形”,第三个事件会使用“直线”。按这种方式,当粒子从一个事件移动至另一个事件时,会更改其在视口中的外观。还可以使用“显示”操作符来更改粒子颜色,以进一步加以区别。

另一种方法是选择特定事件中的所有粒子。选择“粒子流源”图标,然后转到“修改”面板 “选择”卷展栏,再单击“事件”图标。然后可以在“按事件选择”列表中单击事件来高亮显示视口中所有它的粒子。

为什么当粒子移动到另一事件时会丢失其材质?

材质是事件的静态属性。它并不与粒子一起从一个事件移动至另一事件。粒子的材质 ID 与粒子一起移动,但其材质并不移动。如果希望粒子始终使用相同材质,请使用“材质”操作符“图形实例”操作符定义全局事件中的材质。否则,就需要在每个局部事件中定义材质。

可以让一个事件接收来自多个事件的输入吗?

“粒子流”可用于将任意数量的测试连线至单个事件。

我更改了操作符设置,但看起来对粒子系统没有任何影响。

全局事件中的相似操作符可能会覆盖局部操作符。默认情况下,“粒子流”会首先计算局部操作符,然后再计算全局操作符。如果全局操作符如同局部操作符影响相同属性(如速度),此粒子系统将使用由全局操作符设置的值。可以通过选择“粒子视图”“选项”菜单 “操作顺序”“全局优先”,将局部操作符设置为覆盖全局操作符。

可以将事件孤立在粒子视图中并不与任何内容连接吗?

可以,但这根本不会影响粒子系统。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文