Marionette 动画系统

Cocos Creator 3.4 引入了一个全新的 Marionette 动画系统,通过状态机控制对象的骨骼动画,实现了自动化、可复用的动画流程。

为了跟 v3.4 之前的动画系统区分,我们将新的动画系统称为木偶(Marionette)动画系统,称 v3.4 之前使用的动画系统为旧式动画系统。两种动画系统都可以正常使用,但不支持同时使用。主要的区别在于:

  • 旧式动画系统:以动画组件、动画状态为核心,手动简单控制动画剪辑的播放暂停等。动画剪辑支持使用通过编辑器创建的 Animation Clip 和外部导入的骨骼动画(.fbx.gltf.glb)。

  • Marionette 动画系统:以动画控制器组件、动画图为核心,按照事先搭建好的动画图,通过状态机自动控制动画剪辑的播放和切换等。动画剪辑只支持外部导入的骨骼动画(.fbx.gltf.glb)。

内容

Marionette 动画系统主要内容包括:

名词解释

Marionette 动画系统相关功能名词的说明如下:

功能名词 说明
动画图资源 用于存储对象的整个动画流程数据,可直接在 资源管理器 面板创建。详情请参考 动画图资源
动画控制器组件 引用动画图资源并将其应用于对象。详情请参考 动画控制器组件参考
动画图面板 当准备好对象所需的骨骼动画后,便可通过动画图面板将其组合成完整的动画流程。具体的操作请参考 动画图面板
状态 对象所处的一种播放特定动画剪辑的动作,例如待机、行走、移动、攻击等。
该状态与旧式动画系统中,动画组件为每一个动画剪辑创建的 动画状态 不同。
状态过渡 大多数情况下,一个对象会拥有多个状态,并按照一定的需求逻辑在各个状态之间切换,这种切换便称为 状态过渡。例如角色在行走时触发了死亡条件,行走状态便会切换到死亡状态。
动画状态机 用于可视化地管理控制某个对象上各个状态及状态之间的过渡,可视为一个流程图。详情请参考 动画状态机

状态及状态过渡在动画图面板中是以图形的方式显示,例如下图,方块表示状态,箭头表示状态之间的过渡:

example

范例参考

Creator 提供了 Ms.AmoyGitHub|Gitee)范例,演示了 Marionette 动画系统的使用方式,用户可根据需要下载参考使用。

条与 "" 相匹配的结果

    没有与 "" 匹配的结果