Godot学习-创建简单动画


1、准备工作

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

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

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

学习 Godot 引擎的零基础入门,可以通过以下几个关键方面来逐步掌握核心知识并进行开发实践。 ### 一、了解 Godot 的基础概念 在开始学习之前,首先需要理解 Godot 的基本架构和设计思想。Godot 使用**节点(Node)**作为构建游戏逻辑的基本单位,多个节点可以组成一个**场景(Scene)**,场景之间可以相互嵌套和管理。此外,Godot 中的**资源(Resource)**用于存储数据,如图像、音频、脚本等。**信号(Signal)**机制允许节点之间进行通信和事件响应,是实现游戏逻辑的重要方式[^2]。 ### 二、安装 Godot 引擎 前往 [Godot 官网](https://godotengine.org/) 下载适合你操作系统的版本(支持 Windows、macOS、Linux)。安装完成后,启动编辑器并熟悉其界面布局,包括: - 场景树(Scene Tree)面板 - 资源浏览器(FileSystem) - 属性检查器(Inspector) - 2D/3D 编辑视图 熟悉这些界面元素将有助于更高效地组织和管理游戏资源与逻辑。 ### 三、学习官方文档与社区资源 Godot 的官方文档非常详尽,涵盖了从基础操作到高级功能的使用说明,是学习过程中不可或缺的参考资料。此外,活跃的社区提供了丰富的教程、插件和示例项目,可以帮助解决开发中遇到的具体问题。访问 [Godot 官方文档](https://docs.godotengine.org/) 和 [Godot 社区论坛](https://godotengine.org/qa/) 可获取最新信息和交流经验[^1]。 ### 四、实践项目:制作一个简单的 2D 游戏 从实践角度出发,建议从一个简单的 2D 游戏开始,例如“移动小球”或“跳跃平台”。以下是实现基础控制的步骤: 1. 创建一个新的 2D 场景,添加一个 `KinematicBody2D` 节点作为玩家角色。 2. 在该节点下添加 `Sprite` 和 `CollisionShape2D` 组件,设置好纹理和碰撞体。 3. 编写脚本控制角色移动,使用 `Input` 类检测按键输入。 例如,使用 GDScript 实现角色移动控制: ```gdscript extends KinematicBody2D var speed = 200 func _process(delta): var direction = Vector2.ZERO if Input.is_action_pressed("ui_right"): direction.x += 1 if Input.is_action_pressed("ui_left"): direction.x -= 1 if Input.is_action_pressed("ui_down"): direction.y += 1 if Input.is_action_pressed("ui_up"): direction.y -= 1 move_and_slide(direction * speed) ``` 4. 在“项目设置”中配置输入映射,将键盘按键绑定到对应的动作(如 `ui_left`、`ui_right` 等),以便脚本可以识别玩家输入[^3]。 ### 五、持续学习与进阶路径 完成基础项目后,可以逐步学习以下内容: - 动画系统(AnimationPlayer) - 粒子系统(Particles2D) - UI 界面设计(Control 节点) - 场景切换与加载 - 保存与读取游戏数据 - 打包发布游戏到不同平台 通过不断实践和查阅文档,能够逐步掌握 Godot 的高级功能,并提升开发能力。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值