在Blender中,我们经常会为物体添加各种模拟动画,例如布料模拟、刚体模拟等,然后当我们想要将这些模拟动画导出到其他3D引擎中(例如C4D、Maya、Three.js)时,就发现无法导出。这是由于Blender导出动画只能通过关键帧导出,因此我们就需要将物体的模拟动画转成关键帧动画后再导出。

注意:本文仅适用于导出单个物体的形变动画,不适用于拓扑结构发生改变(例如顶点数发生变化)的物体动画。另外如果需要导出多个物体的动画,可以分别对每个物体一一导出。

模型示例

我们先建立一个模型,方便讲解如何导出模拟动画(使用的Blender版本是2.81):
2023-12-28T08:17:40.png
如图所示,我们在原点添加一个棱角球,在上方添加一个平面,平面被分成20*20的网格,左侧添加一个风场并调节好风的大小和方向。
然后为棱角球开启物理碰撞模拟:
2023-12-28T08:17:51.png
再为我们的主角平面开启布料模拟,并打开“物体碰撞”和“自碰撞”选项:
2023-12-28T08:18:04.png
最后点击空格播放动画,就出现了下面的效果:
B873A1EBB0BE9D9B546E29ABEA41870E.gif

将模拟动画转成关键帧动画

为了将前面模拟出的动画转成关键帧动画,我们需要做以下操作:

导出.mdd文件

点击选中要处理的物体(在本文中就是前面提到的平面),然后导出成 .mdd 格式的文件:
2023-12-28T08:19:43.png
如果导出格式中没有 .mdd 选项,需要先在插件设置中搜索“mdd”并勾选该插件:
2023-12-28T08:20:15.png
注意:如果物体的位置、旋转、缩放等属性被改变过,那么导出 .mdd 文件前必须先选中物体,然后应用全部变换。否则,后续物体的位置、旋转、缩放等属性就会出现偏差:
2023-12-28T08:20:27.png

删除物体原有的模拟动画

成功导出 .mdd 文件后我们就不需要原有的模拟动画了,直接将该物体上与这个模拟动画相关的物理计算和修改器都删掉。

导入之前的.mdd文件

点击选中该物体 (必须) ,然后将之前导出的 .mdd 文件再导入到Blender中:
2023-12-28T08:20:39.png
导入成功以后在“时间线”窗口中就可以看到一系列关键帧:
2023-12-28T08:20:47.png

播放并检查关键帧动画

点击空格播放动画,这时我们就发现在没有模拟的情况下,物体也有和之前相同的动画。甚至我们将其他物体和力场删除后,这个物体的动画依然正常播放:
49608EDE1D796B2072C0D0E3DE654A94.gif
检查一下是否还有其他问题,如果没有问题的话,我们就成功地将这个平面的布料模拟动画转成了关键帧动画。

导出关键帧动画

成功转换后,我们就可以将前面物体的关键帧动画导出成其他格式,例如导出成 glTF 格式,只需要在导出时勾选“动画”和“形态键”选项即可:
2023-12-28T08:21:39.png
最后,我们就可以在其他3D引擎中导入并查看模型动画了,例如导入Three.js中:
A2D723DAFCAA9D38D0F836BB24776893.gif
或者直接用Windows自带的3D查看器打开:
92496E96BF5C20CD39C39D42C291FBB3.gif

添加新评论

7 + 21 =