4、Cocos Creator 动画系统

news2024/10/9 14:21:15

目录

1、Clip 参数

2、动画编辑器

3、基本操作

更改时间轴缩放比例

移动显示区域

更改当前选中的时间轴节点

播放 / 暂停动画

修改 clip 属性

快捷键

4、模拟实验

5、动画事件

6、注意事项

参考

Animation 组件是节点上的一个组件。Clip 动画剪辑就是一份动画的声明数据,我们将它挂载到 Animation 组件上,就能够将这份动画数据应用到节点上。

1、Clip 参数

1、sample:定义当前动画数据每秒的帧率,默认为 60,这个参数会影响时间轴上每两个整数秒刻度之间的帧数量(也就是两秒之内有多少格)。

2、speed:当前动画的播放速度,默认为 1

3、duration:当动画播放速度为 1 的时候,动画的持续时间

4、real time:动画从开始播放到结束,真正持续的时间

5、wrap mode:循环模式

2、动画编辑器

  1. 常用按钮区域,这里负责显示一些常用功能按钮,从左到右依次为:开关录制状态、返回第一帧、上一帧、播放/暂停、下一帧、新建动画剪辑、插入动画事件。

  2. 时间轴与事件,这里主要是显示时间轴,添加的自定义事件也会在这里显示。时间轴上刻度的表示法是 01-05。该数值由两部分组成,冒号前面的是表示当前秒数,冒号后面的表示在当前这一秒里的第几帧

  3. 层级管理(节点树),当前动画剪辑可以影响到的节点数据。

  4. 节点内关键帧的预览区域,这里主要是显示各个节点上的所有帧的预览时间轴。

  5. 属性列表,显示当前选中的节点在选中的动画剪辑中已经包含了的属性列表。

  6. 关键帧,每个属性相对应的帧都会显示在这里。

3、基本操作

更改时间轴缩放比例

在操作中如果觉得动画编辑器显示的范围太小,需要按比例缩小,让更多的关键帧显示到编辑器内怎么办?

  • 在上图中 2、4、6 区域内滚动鼠标滚轮,可以放大,或者缩小时间轴的显示比例。

移动显示区域

如果想看动画编辑器右侧超出编辑器被隐藏的关键帧或是左侧被隐藏的关键帧,这时候就需要移动显示区域:

  • 在图中 2、4、6 区域内按下鼠标中键/右键拖拽。

更改当前选中的时间轴节点

  • 在时间轴(图 2 区域)区域内点击任意位置或者拖拽,都可以更改当前的时间节点。
  • 在图 4 区域内拖拽标示的红线即可。

播放 / 暂停动画

  • 在图 1 区域内点击播放按钮,按钮会自动变更为暂停,再次点击则是暂停。
  • 播放状态下,保存场景等操作会终止播放。

修改 clip 属性

  • 在插件底部,修改对应的属性,在输入框失去焦点的时候就会更新到实际的 clip 数据中。

快捷键

  • left:向前移动一帧,如果已经在第 0 帧,则忽略当前操作

  • right:向后移动一帧

  • delete:删除当前所选中的关键帧

  • k:正向的播放动画,抬起后停止

  • j:反向播放动画,抬起后停止

  • ctrl / cmd + left:跳转到第 0 帧

  • ctrl / cmd + right:跳转到有效的最后一帧

4、模拟实验

说明:

1. 挂载节点

2. 动画控制属性

3. 关键帧

4. 循环模式

5. 双击,可以自定义动画曲线

6. 帧率,越大越快

7. 速度,越小越快

5、动画事件

首先选中某个位置,然后点击按钮区域最左侧的按钮(add event),这时候在时间轴上会出现一个白色的矩形,这就是我们添加的事件。

函数是如何找到:手动输入需要触发的 function 名字,触发的时候会根据这个函数名,去当前节点各个组件内匹配相应的方法。

6、代码控制动画

  1、Cocos Creator 2.4 API - Animation

  2、Cocos Creator 2.4 手册 - 使用脚本控制动画

7、注意事项

1、节点数据的索引方式:数据中索引节点的方式是以挂载 Animation 组件的节点为根节点的相对路径。 所以在同个父节点下的同名节点,只能够产生一份动画数据,并且只能应用到第一个同名节点上。

2、使用脚本执行动画时,需要在 Animation 下指定多个需要执行的动画

此时可以使用 

cc.find("Canvas/PurpleMonster").getComponent(cc.Animation).play("images")
cc.find("Canvas/PurpleMonster").getComponent(cc.Animation).play("image1")

如果不指定会报错,获取 clip 为空值

参考

1、Cocos Creator 2.4 手册 - 动画系统

2、Cocos Creator 2.4 手册 - Animation 组件参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CTA动画】制作全记录 笔记

3Dxchange的使用 让图片跳舞 导入:I:\安装包\#动画开发\test\跳舞 model(includeTPose).fbx 转成非标准角色 手动点击骨骼,然后点击人物骨骼,选择00_t-pose 绿灯了就可以转换了,记得启用。 上面的自定义可以先选择3DS 转换后…

Stream2Graph论文翻译

Stream2Graph: Dynamic Knowledge Graph for Online Learning Applied in Large-scale Network Abstract 知识图谱(KG)是用于存储某个领域(医疗保健、金融、电子商务、ITOps等)中的知识的有价值的信息来源。大多数工业KG本质上是动态的,因为它们定期更新流数据(客…

如何准备科学海报

科学会议上的海报展示可以为早期职业研究人员提供宝贵的机会来练习他们的沟通技巧,获得有关他们研究的反馈,并扩大他们的网络。“通过与其他研究人员一对一地讨论我的工作,[我发现]我可以确定哪些工作做得好,哪些需要改进&#xf…

LQR的横向控制与算法仿真实现

文章目录 1. 引言2. 车辆运动学线性离散模型3. LQR求解4. 算法和仿真实现 1. 引言 在现代控制理论的领域中,线性二次型调节器(Linear Quadratic Regulator,简称LQR)被广泛认可为一种高效的优化控制方法。LQR的核心优势在于其能力…

python练习五

1. 给定一个包含n1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数 def find_difnumber(ls):for index in range(0, len(ls)):for n…

Linux应用实战之网络服务器(四)JavaScript介绍

0、前言 准备做一个Linux网络服务器应用实战,通过网页和运行在Linux下的服务器程序通信,这是第四篇,介绍一下JS,让HTML网页实现与服务器通信。 1、JS常用语法 JavaScript是一种脚本语言,主要用于前端开发&#xff0…

纯前端搭建ChatGpt应用(全部代码在这了)

话不多说直接放代码: (需要下载并导入axios包,懒省事的人也可以直接使用uni.request等请求方法) 目录 1、html代码: (本例使用的uniapp编写) 2、js代码:(API-KEY需要…

基于ssm电子竞技管理平台的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本电子竞技管理平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

尾盘拉升超8个点,速腾聚创交出来一份怎样的超预期答卷?

“如果说2024年是智驾加速渗透,L3级智能驾驶陆续落地的一年,那么激光雷达将是这股潮流中不可缺失的那一份。” 2024年开年,速腾聚创以相当“闪亮的姿态”成为“港股2024年首只IPO上市成功”的企业。 然而,其上市之后的市场表现却…

每日一练 两数相加问题(leetcode)

原题如下: 这道题目是一道链表题,我们对于这种链表类,很显然我们最后输出的是初始节点,所以我们要保留我们的初始头指针,那么我们的第一步一定是把头指针保留一份,然后再让头指针往后进行操作。那么我们进行…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

基于Arduino IDE 野火ESP8266模块 文件系统LittleFS 的开发

一、文件系统LittleFS的介绍 LittleFS是一个为微控制器设计的轻量级、可靠且高性能的文件系统。它专为嵌入式设备打造,拥有占用空间小、对硬件要求低的特点,同时保证在断电情况下数据的完整性和稳定性。 1.设计与特点 LittleFS的设计旨在提供嵌入式系统所…

AcWing刷题-空调

空调 差分: N int(input()) p list(map(int, input().split())) t list(map(int, input().split())) d,s[0]*100010,[0]*100010 for i in range(N):d[i] p[i]-t[i]for i in range(N):s[i] d[i]s[i1] - d[i] ans 0 for i in range(N1):if s[i]>0:ans s[i]…

开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发,这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多,其中的核心技术是矩阵计算,使用的工具库是math.js,其次是复杂运算和分式运算。关于math.js的使用,可以参考另一…

【SpringBoot】【经典面试题】每天10个Java面试题-面试大厂起飞系列-day02

嗨,各位小伙伴! 🐱‍💻 我是【行走的程序喵】!一个兼具Web前端和Java后端技能的技术宅! 🌟 我的博客上分享最新的Web前端和Java后端技术文章,从基础入门到进阶应用,应有…

基于Axios封装请求---防止接口重复请求解决方案

一、引言 前端接口防止重复请求的实现方案主要基于以下几个原因: 用户体验:重复发送请求可能导致页面长时间无响应或加载缓慢,从而影响用户的体验。特别是在网络不稳定或请求处理时间较长的情况下,这个问题尤为突出。 服务器压力…

memcached缓存数据库简介

memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。 memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。 …

nginx详解(持续更新)

nginx定义 nginx安装 nginx目录 程序相关命令 服务相关命令 虚拟主机(server) 路由匹配(location) 代理(proxy_pass) 正向代理 反向代理 负载均衡(upstream) 负载均衡策略 动静分…

电动汽车充放电V2G模型(Matlab代码)

目录 1 主要内容 1.1 模型背景 1.2 目标函数 1.3 约束条件 2 部分代码 3 效果图 4 下载链接 1 主要内容 本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的…

<QT基础(3)>QLineEdit使用笔记

LineEdit 这次要用的是两个功能:初始化展示参数值,修改参数值。 初始化 将l_num的默认值显示 ui.lineEdit->setText(QString::number(l_num));信号 textChanged() 文本发生改变textEdited() 文本编辑信号cursorPositionChanged()光标发…