Godot学习-创建简单动画

文章目录


1、准备工作

这里主要使用一张Godot图片,作为动画资源。这里我直接上传:

2、创建项目

3、创建结点

  1. 创建一个Sprite2D节点
  2. 为Sprite2D创建一个子节点AnimationPlayer
  3. 保存场景为main.tscn

此时,选择Sprite2D节点,然后我们把资源文件:res://godot.png拖动到Texture纹理属性设置中。

4、创建动画

1、创建动画

如上图所示:我们在动画面板,点击动画,然后新建,我们命名为Test。

当我们创建好动画之后,就会注册在动画库资源的列表中。点击下拉,就有所有的动画资源列表。

当然也可以点击动画,然后管理动画:

2、添加轨道

这里的轨道我认为翻译的不好,应该是踪迹才对。指的就是动画运动的踪迹。我们为Sprite2D添加轨道:

如下图所示:添加轨道->属性轨道

此时会弹框,我们选择精灵节点:Sprite2D

我们主要是让精灵图移动变换,所以属性我们选择Node2D中的position属性。因为Sprite2D继承Node2D,所以选择父类的属性即可。因为它自身没有这个属性。

操作完上述步骤之后,如下图所示:

3、创建关键帧

3.1 第一个关键帧

所谓关键帧就是控制动画的起始或者结束的状态。

我们创建第一个关键帧,在起始的位置:

我们选择position这个属性,然后在0.0起始位置,鼠标右键,就会弹出 插入关键帧,我们插入即可。

插入之后,起始位置多了个菱形块。当然也可以在检查器面板找到position属性,右侧有个小钥匙,点击小钥匙也会插入关键帧。

此时我们的第一个关键帧创建好了,但是要让角色动起来,我们还需要创建第二个关键帧,因为此时角色还是在原地:

3.2 第二个关键帧

假设我们希望在点之间移动需要两秒钟。默认情况下,动画设置为仅持续一秒,因此请在动画面板时间轴标题右侧的控件中将动画长度更改为 2。

我们使用移动工具将我们的精灵移动到右下角,如下图所示:

此时我们再插入一个关键帧:

点击播放按钮,如下:

其实到这里最基本的动画制作是完成了,但是还有一些其他的概念和操作需要介绍。

5、加载后自动播放

为实现动画自动播放,点击动画编辑器中"编辑"按钮左边的"加载后自动播放"按钮即可。可在AnimationPlayer结点所在场景运行时或动画加入了另一个场景中时使用。

起始现在我们就可以运行该项目,选择当前场景,运行之后如下图:

动画呆在原地,此时我们点击加载后自动播放,然后保存。

然后再次运行项目,发现动画自动播放了。

6、动画循环

点击右侧的循环按钮,点击播放,动画就会一直循环播放。

7、轨道设置

下面的属性可以点击测试具体含义:

1、轨道更新模式

轨道更新模式 含义
连续 每帧连续更新,适用于平滑移动、旋转、缩放。例如:物体匀速移动到目标位置
离散 仅在关键帧位置更新 ,适用于帧动画、状态切换 。例如精灵逐帧切换(如角色攻击动作)
捕获 记录初始值后与第一个关键帧混合,适用于从当前位置/状态开始动画。例如角色无论在什么位置都能平滑移动到目标

2、轨迹插值

  1. 临近:设置为最接近的关键帧的值
  2. 线性:使用线性函数计算两个关键帧之间的值
  3. 三次方:使用三次函数计算两个关键帧之间的值

3、其他属性的关键帧

Godot的动画系统不仅限于位置、旋转和缩放。你可以对任何属性进行动画化。

如果你在动画面板可见时选择你的精灵,Godot 会在检查器中为精灵的每个属性显示一个小的关键帧按钮,点击这个按钮,Godot就会自动为当前动画添加一个轨道和关键帧。也就是有小钥匙的属性都可以作为关键帧

4、编辑关键帧

你可以在动画时间轴上点击关键帧,以在属性面板 中显示和编辑其值。

点击关键帧,右侧属性面板就有属性编辑。在这里编辑关键帧的缓和值。这将告诉 Godot 在动画属性到达该关键帧时如何进行插值。

5、使用 RESET 轨道

下面点击编辑,就会显示应用重置:这样就可以保证在保存场景并重新在编辑器中打开时,会恢复默认姿势。

6、洋葱皮

Godot 的动画编辑器允许你在创建动画时使用洋葱蒙皮。要启用此功能,请单击动画编辑器右上角的洋葱图标。此时,在动画对象先前位置将有透明红色副本显示出来。

与洋葱皮按钮相邻的三个圆点按钮可以打开一个下拉菜单,你可以用它来调整洋葱皮的工作方式,包括在未来的帧中使用洋葱皮的能力。

相关推荐
ghost1433 小时前
C#学习第27天:时间和日期的处理
开发语言·学习·c#
m0_634448894 小时前
从上下文学习和微调看语言模型的泛化:一项对照研究
学习·算法·语言模型
hello kitty w5 小时前
Python学习(6) ----- Python2和Python3的区别
开发语言·python·学习
地狱为王6 小时前
基于VLC的Unity视频播放器(四)
unity·游戏引擎·音视频
虾球xz6 小时前
CppCon 2014 学习: An Overview of C++11/14
开发语言·c++·学习
viperrrrrrrrrr76 小时前
大数据学习(128)-数据分析实例
大数据·学习·数据分析
一心赚狗粮的宇叔6 小时前
web全栈开发学习-01html基础
前端·javascript·学习·html·web
7 小时前
Unity与Excel表格交互热更方案
unity·游戏引擎·excel
重庆小透明10 小时前
【从零学习JVM|第二篇】字节码文件
java·jvm·学习
_李小白12 小时前
【OSG学习笔记】Day 15: 路径动画与相机漫游
笔记·数码相机·学习