CocosCreator3.8研究笔记(二十二)CocosCreator 动画系统-动画剪辑和动画组件介绍

国庆假期,闲着没事,在家研究技术~

大家都知道在Cocos Creator3.x 的版本的动画编辑器中,可以实现不用写一行代码就能实现各种动态效果。

Cocos Creator动画编辑器中主要实现关键帧动画,不仅支持位移、旋转、缩放、帧动画,还支持组件任意属性和自定义属性驱动。

Cocos Creator动画编辑器适合制作一些不太复杂的UI动画,如果是复杂的特效和角色动画等,可以使用spine 、DragonBones 或者 3D 模型骨骼动画进行制作。

今天主要介绍 什么是动画剪辑和动画组件、动画剪辑和动画组件的使用流程。

一、什么是动画剪辑和动画组件?

1、动画剪辑(Animation Clip)

动画剪辑是一份动画的声明数据(包含动画数据的资源),将动画剪辑挂载到动画组件上,就能够将这份数据应用到动画组件所在的节点上。

如图:

动画剪辑文件

动画剪辑文件在动画编辑器中的显示:

2、动画组件

那什么是动画组件呢?

Animation(动画)组件以动画方式驱动所在节点和子节点上的节点和组件属性,包括用户自定义脚本中的属性。

如图:

动画组件属性说明:

属性 功能说明
Clips 添加的动画剪辑资源,默认为空,支持添加多个。在这里添加的 AnimationClip 可以直接在 动画编辑器 中进行编辑。
DefaultClip 默认的动画剪辑,若该项在挂载了动画剪辑的同时,还勾选了下方的 PlayOnLoad 属性,那么动画便会在加载完成后自动播放 Default Clip 的内容。
PlayOnLoad 布尔类型。若勾选该项,则动画加载完成后会自动播放 Default Clip 的内容。

二、动画组件和动画剪辑使用流程

1、创建动画组件和动画剪辑的步骤

第一步,在属性检查器中,为节点 添加animation 动画组件

这里为sprite 节点添加animation 动画组件 为例:

第二步,在动画编辑器界面,创建动画文件,并保存

根据引导,添加动画组件:

如果需要新建动画,请选择新建动画剪辑资源;如果需要编辑动画,清选择动画文件:

这里演示新建了一个动画资源,并新建了一个文件夹an 来存储:

创建好动画资源文件后,如下:

第三步,挂载动画资源文件

将资源管理器中的动画文件,拖拽到属性检查器中的Defaultclip 文件处即可。

2、一个动画剪辑包含多个节点

如果一个动画需要包含多个节点,那么一般会新建一个节点作为动画的 根节点 ,再将动画组件挂载到根节点上,则这个根节点下的其他子节点都会自动进入到这个动画剪辑中,并显示在 动画编辑器节点列表 区域。

例如,我们将player 节点作为根节点,创建了一个动画。

我们将 animation2 动画文件,挂在根节点player 上:

3、一个节点挂多个动画剪辑

如果已经有了一个动画文件,如何创建一个新的动画文件?

创建新的动画文件有两种方法:

(1)、在资源管理器中的动画文件夹,右键->创建->动画剪辑(Animation Clip)

(2)、动画编辑器中->动画剪辑下拉框->新建动画编辑器资源->存储动画文件

(3)、在 层级管理器 中选中对应节点,在 属性检查器 中找到 Animation 组件(cc.Animation),修改 Clips 属性的数值。

例如原本只挂载了一个 clip 文件,现在想要再添加一个,那么就将原本的 1 改成 2

资源管理器 中创建的动画剪辑,拖拽到上图中的 cc.AnimationClip 选择框中即可。

相关推荐
majingming1232 小时前
FUNCTION
java·前端·javascript
A_nanda3 小时前
Vue项目升级
前端·vue3·vue2
SuperEugene3 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale034 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
Setsuna_F_Seiei4 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑4 小时前
追踪来自Agent的Web 流量
前端
程序员夏末5 小时前
【LeetCode | 第七篇】算法笔记
笔记·算法·leetcode
wefly20175 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
开源盛世!!5 小时前
3.23-3.25笔记
笔记
英俊潇洒美少年5 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js