返回介绍

3ds Max 帮助

3ds Max 帮助归档

“mParticles 碰撞”测试

发布于 2022-07-23 00:46:09 字数 5474 浏览 0 评论 0 收藏 0

“mParticles 碰撞”测试类似于标准“碰撞”测试,但不允许粒子与导向器空间扭曲之间的碰撞,它允许粒子与应用了“粒子流碰撞图形 (WSM)”修改器的标准对象之间的碰撞。其用法类似于“碰撞”测试,但由于物理模拟和 MassFX 设置的性质,某些细节会有所不同。

  • “粒子视图” 单击或添加“mP 碰撞”测试。
提示始终将 mParticles 测试置于事件中的“mParticles 世界”操作符之下,否则该测试将无法在模拟积分步长之后检索正确的模拟信息。mParticles 测试放置不正确将导致取消激活“mParticles 世界”模拟;针对该影响的消息会记录在 MAXScript 侦听器中,且还会显示在 3ds Max 界面底部的状态栏上。

步骤

此步骤描述了“mParticles 碰撞”的简单用法,以模拟长方体内一个球和一堆块之间的外部空间碰撞。

  1. 打开“粒子视图”(按 6 键)并将 mParticles 流从仓库拖动到窗口中。

    mParticles 流提供了一种简单的方法来创建简单流,该流带有物理模拟所需的所有元素。

    “透视”视口现在显示块的立方体阵列(“出生栅格”创建的立方体粒子)和“mParticles 世界”辅助对象图标。

  2. 在“事件 001”中,单击“mParticles 世界”操作符,然后在“mParticles 世界”卷展栏上,单击 => 按钮。

    这将选择“mParticles 世界”辅助对象并在“修改”面板上显示其参数。

  3. 在“参数”卷展栏的顶部,禁用“应用重力”。
  4. 在“透视”视口中,添加一个由块组成的长方体基本体,并留有剩余空间;该基本体应该是一个一面包含 150 个单位的立方体。使长方体以块为中心。
  5. 将长方体转换为可编辑多边形,选择并删除顶部的多边形,然后添加“壳”修改器。调整视图的角度,以便可以向下看到长方体内部;如以下插图所示:
  6. 在“前”视口中,在长方体的右侧上方添加一个半径为 20 的球体。“透视”视口应如下所示:
  7. 转到第 30 帧,启用“自动关键点”,并在“前”视口中,将球体置于长方体内部左下角,如下所示:
  8. 播放或拖动动画。球在移动时应与块相交;如果未相交,则调整其路径。
  9. 返回到第 0 帧,并禁用“自动关键点”。
  10. 选择球体并应用“粒子流碰撞图形 (WSM)”修改器。
  11. 在修改器“参数”卷展栏上,将“图形”设置为“球体”,然后单击“激活”。
  12. 选择长方体并应用“粒子流碰撞图形 (WSM)”修改器。确保“图形”选项设置为“几何体”(默认);否则,请选择“几何体”。
  13. 单击“激活”。

    由于“碰撞图形”修改器,长方体和球体现在已准备与长方体内的粒子碰撞。

  14. 返回到“粒子视图”,将“mParticles 碰撞”测试拖动到“事件 001”的底部。单击该测试,其参数将显示在“粒子视图”中,然后在“导向器”列表(当前为空)下,单击“按列表”。

    “选择导向器”对话框将会打开,仅列出有资格在“mParticles 碰撞”中充当导向器的对象:长方体和球体。

  15. 在列表中高亮显示长方体和球体条目(按 Ctrl+A 是一种方法),然后单击“选择”。

    长方体和球体将显示在“导向器”列表中。

    由于在此示例中,不会将粒子传递到另一个事件中,因此不需要“测试真值的粒子条件”或其任何选项。

  16. 播放动画。

    球体与粒子阵列碰撞,使这些粒子到处散布,彼此撞击并在长方体内反弹。如果将动画长度延长为大约 300 帧,则可以看到粒子开始飞出长方体顶部的开口。

提示如果希望球也在长方体内反弹,则删除球体,然后将球重新创建为球形粒子(使用连接到全局事件的单独事件中的“出生流”操作符创建),并使“出生流”图标指向粒子阵列。请确保第二个出生事件中包括“mParticles 图形”操作符和“mParticles 世界”操作符的实例。实例化“mParticles 世界”操作符使“mParticles 碰撞”测试适用于两个事件,因此不需要实例化该测试。

界面

导向器
列出在 MassFX 模拟中充当导向器的非粒子对象。这是“mParticles 碰撞”测试和标准“碰撞”之间的主要差异:指定已应用“粒子流碰撞图形(WSM)”修改器的几何体对象,而不使用导向器类型的空间扭曲。“导向器”列表只能包含这些对象。如果几何体对象不是通过“粒子流碰撞图形”修改的,则它不能被视为“mParticles 碰撞”测试的导向器。

另一个重要差异是“mParticles 碰撞”可在“mParticles 世界”操作符定义的模拟中模拟所有粒子(即,带有与同一“mParticles 世界”驱动程序相关联的“mParticles 世界”操作符的所有事件中的粒子)的碰撞。无论是否将“mParticles 碰撞”测试置于特定事件中,如果该测试和“mParticles 世界”操作符位于相同的事件中,则都会发生由“mParticles 世界”操作符的驱动程序控制的所有粒子的碰撞。

添加/按列表/移除
若要将通过“粒子流碰撞图形”修改的对象添加到模拟中,请单击“添加”,然后选择对象,或者,若要一次添加多个对象,请使用“按列表”。若要移除对象,请在列表中高亮显示该对象的名称,然后单击“移除”。
=>
若要选择“mParticles 碰撞”中指定的对象,请在列表中将其高亮显示,然后单击此按钮。这将选择场景中的对象,并使其易于访问对象参数。

“测试真值的粒子条件”组

“mParticles 碰撞”测试的主要功能是定义与模拟中的粒子进行碰撞的场景几何体对象。由于该操作符可以作为一个测试,因此也可以使用它在碰撞时将粒子重定向到下一个事件。跟踪哪些粒子进行碰撞以及何时发生碰撞的作业需要其他 CPU 资源,因此如果不需要用于重定向的测试(且测试未出现关联),则禁用“测试真值的粒子条件”。

此外,如果“测试真值的粒子条件”处于禁用状态,则测试位于哪个事件中并不重要,因为该测试在全局模拟级别起作用。如果“测试真值的粒子条件”处于启用状态,将计算带有导向器的当前事件中粒子的所有碰撞,并且这些碰撞用于适时将粒子重定向到下一个事件,如此组中的其他参数所指定。

“碰撞”、“碰撞后速度慢”、“碰撞后速度快”、和“多次碰撞”选项和控件类似于标准“碰撞”测试中的选项和控件,但也有一些差异:

  • 碰撞此选项没有用于定义以下粒子速度的下拉列表。在模拟期间,粒子必须碰撞,进而偏转了速度,因此不建议提供反弹、停止或继续的选择。根据定义,它始终是反弹。

    在整个积分步长期间,将计算碰撞次数。测试仅在积分步长模拟完成之后才将粒子定向到下一个事件。实际上,粒子可在积分步长期间进行多次碰撞;如果使用“碰撞”选项,则会将粒子重定向到下一个事件。但是,粒子在首次碰撞之后不会立即重定向到下一个事件;在积分步长期间,粒子会因碰撞而重定向。

  • 多次碰撞同样,使用此选项,如果在积分步长期间(以及在先前的累积帧中),粒子与导向器至少碰撞指定的次数,则粒子将重定向到下一个事件。当粒子第 N 次碰撞时,它不会立即重定向到下一个事件;如果碰撞的累积次数超过“次数”微调器中的值,则粒子将在积分步长结束时重定向到下一个事件。
  • 即将碰撞不可用。
报告至数据操作符
当使用高级数据操纵工具时,如果需要碰撞次数数据由“数据”操作符使用,则启用此选项。可以使用“输入 mParticles”子操作符检索“数据”操作符中的这些数据。

当“测试真值的粒子条件”处于启用状态时可用。当测试与以下任何事件未关联时,通常可使用此选项。

相加计数
启用时,当前事件中存在的报告数据表示粒子的碰撞总次数。禁用时,测试仅报告粒子在上一个积分步长期间的碰撞次数。

仅当“报告至数据操作符”处于启用状态时可用。

碰撞组
使用此设置进行碰撞排除,如“mParticles 世界”辅助对象主题中所述。

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

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

发布评论

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