指南和示例

动画复用

本示例展示了如何在 Galacean 编辑器中播放其他模型的动画。通过简单的步骤,你将学习如何让一个模型复用另一个模型的动画。这个指南适合初学者了解 Galacean 编辑器的动画系统,也为更复杂的动画应用奠定基础。 如果你是第一次使用动画编辑器,建议先阅读这篇文档:

播放模型中的动画

0. 准备工作

在开始之前,我们需要有一个没有动画的模型,和一个只有动画的模型(角色模型必须包含与动画模型同名的实体)。如果你没有模型,可以在 mixamo 上下载一个。

下载模型

  1. 在 mixamo 中选择一个模型

直接点击下载

  1. 在 动画Tab 中选择一个动画

选择 Without Skin 选项,然后点击下载

在实际项目中强烈建议将FBX模型通过Blender等第三方工具转换为GLB/GLTF格式。Galacean目前仅支持解析GLB/GLTF模型。虽然可以直接将FBX拖入编辑器进行自动转换,但这种方式可能会导致转换后的模型动画数据过大,并可能出现还原问题。使用专业工具进行转换可以更好地控制转换质量和文件大小。

导入模型

如果你不知道如何导入模型,请参考:导入模型

将角色模型和动画模型导入到编辑器中。

1. 创建动画控制资产

想要播放其他模型的动画,需要编辑 动画控制器 的内容,而模型中的 动画控制器 是只读的,所以需要我们自己创建一个 动画控制器 。 如果你不知道如何创建 动画控制器 ,请参考:创建动画控制器

2. 编辑动画控制器

  1. 双击 动画控制器 资产,进入动画控制器编辑器(编辑器的各个功能介绍请参考 动画控制器编辑器 文档)
  1. 点击 添加动画状态 按钮,添加一个 动画状态
  1. 点击 动画状态(动画状态的属性介绍请参考 动画状态 文档),绑定动画模型中的 动画片段 。
  1. 从 entry 连接到此 动画状态 并点击连线将 Duration 改为 0(动画状态及动画过渡的详细介绍请参考 动画状态机 文档),这样在这个动画控制器被应用时,就会立即自动播放此 动画状态 。

3. 使用动画控制器并预览

  1. 将模型拖入到场景中
  1. 与直接播放模型中的动画不同,我们需要找到动画模型的 动画控制组件(详细介绍)位置, 组件一般在模型实例的根实体上,也就是编辑器的模型实体下的第一个子实体上,因此我们需要将包含动画的模型也拖到节点树中

我们发现 动画控制组件 在动画模型的 mixamorig:Hips 实体上,因此我们需要在角色模型的mixamorig:Hips实体上添加 动画控制组件

  1. 在动画控制器属性上替换为刚才创建的动画控制器
  1. 点击播放按钮,就可以看到模型开始播放动画了

这篇文档对您有帮助吗?