使用 MassFX 模拟刚体物理行为

MassFX 提供了设置对象动画的工具,使对象的行为如同物理世界中的一样。若要开始学习 MassFX,最好先学习刚体,刚体可以模拟硬对象(如木材、塑料和金属)。

在本教程中,将创建一个简单的模拟:一个下落的球体(可能是孩子的玩具球)使一只碗从茶几上掉下来。

该练习将重点介绍使用 MassFX 的几个方面:

技能级别:初级

完成时间:20 分钟

本教程的准备工作

设置课程:

设置茶几:

    茶几是一个不会移动的长方体,因此它是该模拟中的最简单对象。

  1. 如果 MassFX 工具栏尚不可见,请右键单击主工具栏右侧的区域,然后从弹出菜单中选择“MassFX 工具栏”。

    3ds Max 将打开该工具栏。

    MassFX 工具栏

  2. 选择茶几对象。
  3. 在 MassFX 工具栏上,打开“刚体”弹出按钮(第二个按钮),然后从弹出按钮列表中选择“将选定项设置为静态刚体”。

    静态刚体是模拟的一部分,但它不会移动或更改。

  4. 转至 “修改”面板。MassFX 通过将“MassFX 刚体”修改器应用到选定对象来设置对象。
  5. 查看“物理图形”卷展栏。该静态刚体的默认“图形类型”为“长方体”,因为它是从长方体基本体开始的。

    MassFX 适用于两种类型的几何体:

    • 图形网格是原始对象几何体。

      对于模拟中不会移动的静态刚体,通常使用图形网格(原始)。

    • 物理图形是 MassFX 在模拟中用于表示图形网格的几何体。

      对于模拟中所有移动的刚体,通常使用物理图形。

    • 根据经验,尽可能使用最简单的几何体。在本例中,茶几是一个静态的简单长方形,因此使用“原始”就足够了。打开“图形类型”下拉列表并选择“原始”。

      模拟中的其他两个对象是动态刚体:它们可以响应重力等力,并可在模拟中与其他对象进行物理交互。

设置球:

  1. 选择球对象。
  2. 在 MassFX 工具栏上,打开“刚体”弹出按钮,然后从列表中选择“将选定项设置为动力学刚体”。

    动力学刚体是在物理力作用下移动的对象。对于球,这个力是重力。

  3. 在“修改”面板 “物理图形”卷展栏上,查看“图形类型”。

    大多数动态刚体的默认网格类型为“凸面”。这与球的图形非常接近,如您在视口中所见。

    “凸面”物理图形近似于球

    注意:“网格变换”子对象层级用于偏移物理图形,以便清晰显示。

    但是,默认图形的滚动效果不是非常好。“MassFX 刚体”修改器具有更适用于球形对象的图形。

  4. 在“物理图形”卷展栏上,打开“图形类型”下拉列表并选择“球体”。

    现在,物理图形便与原始球的图形相匹配。

设置碗:

    碗需要进行更多的设置,因为它是凹面的。

  1. 选择碗对象。
  2. 在 MassFX 工具栏上,单击 (将选定项设置为动力学刚体)。

    (对球使用相同选项后应显示该按钮。)

    默认的“凸面”物理图形与碗不太近似,因为它是凸面图形,如您在视口中所见。

    动态刚体在 MassFX 中必须使用凸面物理图形表示。若要为凹面图形(如碗)建模,可以使该图形与较小的凸面图形集合近似。“MassFX 刚体”修改器提供“凹面”图形类型,使您可以自动创建该集合。

  3. 在“修改”面板 “物理图形”卷展栏上,打开“图形类型”下拉列表并选择“凹面”。

    “凸面”物理图形将消失。没有默认的“凹面”图形:您需要为模拟中的每个凹面对象构造一个自定义“凹面”图形集合。

  4. 在“修改”面板上,向下滚动至“物理网格参数”卷展栏。在此卷展栏上,单击“生成”。

    3ds Max 将需要一些时间进行计算。在此期间,系统将显示状态消息“正在计算”,并以百分比形式显示计算进度。当完成物理图形后,状态行将显示新合成网格的相关信息:“当前网格包含 14 个外壳”。但是,您可以在视口中看到新的物理图形仍为凸面。

    对于某些自动生成的凹面图形,需要启用切换以改进拟合的开关。

  5. 在“物理网格参数”卷展栏上,启用“提高适配”(在“生成”按钮上方),然后再次单击“生成”按钮。

    现在,该图形是真正的凹面图形,不过也非常复杂,包含了 115 个外壳。

  6. 在“物理网格参数”卷展栏上进行以下设置:
    • 网格细节:0.0
    • 最小外壳大小:5.0
    • 每个外壳最大顶点数:10
  7. 再次单击“生成”。

    现在,该网格仅包含 10 个外壳,这样模拟速度将更快。后面您会看到,这足以为碗创建真正的凹面物理图形。

    提示: 在此类模拟中,球和碗之间的交互会影响两者的移动,各个外壳的图形可能会存在巨大差异。在本教程的下一部分运行模拟后,请尝试更改网格参数(确保每次都单击“生成”),然后再次运行模拟以查看行为的变化。

    这些是设置该模拟所需要执行的所有操作。现在即可准备观察如何进行模拟了。

播放模拟:

  1. 在 MassFX 工具栏上,单击 (开始模拟)。

    3ds Max 进行计算时会有一段短暂的暂停,然后球落入碗中,然后略有反弹,最后和碗一起从茶几上滚落下来。

  2. 要再次播放模拟,可以单击 MassFX 工具栏 (重置模拟),然后再次单击 (开始模拟)。

    重复播放模拟的另一种方法是将模拟作为 3ds Max 动画进行烘焙。接下来的步骤中将介绍如何执行此操作。

烘焙动画:

    “烘焙”程序动画涉及将动画中每个对象的变换录制为关键帧。此过程通常是逐帧完成的,会生成与原始模拟一样的可渲染动画。

  1. 在 MassFX 工具栏上,单击 (世界参数)。

    3ds Max 将打开“MassFX 工具”对话框并定位到“世界参数”面板。

  2. 在“MassFX 工具”对话框上,单击 (模拟工具)选项卡。
  3. 在“工具”选项卡中,单击“烘焙所有”。

    3ds Max 会将模拟转换为关键帧。执行此操作时,将在窗口底部显示一个进度条。

    烘焙完成后,即可将模拟作为常规动画进行播放,方法是单击 3ds Max 窗口右下角附近的 (播放动画)。也可以将烘焙的动画渲染到视频文件。如果您希望返回并调整模拟,则可以取消烘焙任何或全部对象。

    提示: 烘焙的 MassFX 模拟是一个“重”动画,对于每个移动对象,每个帧上都有一个关键点。如果要进一步编辑动画,您可以通过在每个设置了动画的对象上应用“轨迹视图” (“简化曲线”)工具来使动画更易于操作。

保存工作:

小结

MassFX 通过模拟真实世界的物理行为来创建动画。

模拟中对象的属性由“MassFX 刚体”修改器提供。简单的静态对象可以由几何(原始)网格来表示;动态对象可以由物理图形来表示,根据原始几何体,物理图形可以采用多种不同的形式。若要模拟凹面对象,请选择“合成”物理图形类型,然后单击“生成”构造一组近似于凹面对象的凸面外壳。

设置完对象后,单击 (开始模拟)可查看效果。

可以将模拟烘焙到标准 3ds Max 动画。