Godot学习-创建简单动画

文章目录

  • 1、准备工作
    • Godot资源
  • 2、创建项目
  • 3、创建结点
  • 4、创建动画
    • 1、创建动画
    • 2、添加轨道
    • 3、创建关键帧
      • 3.1 第一个关键帧
      • 3.2 第二个关键帧
  • 5、加载后自动播放
  • 6、动画循环
  • 7、轨道设置
    • 1、轨道更新模式
    • 2、轨迹插值
    • 3、其他属性的关键帧
    • 4、编辑关键帧
    • 5、使用 RESET 轨道
    • 6、洋葱皮


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

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

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

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

相关文章

Python 爬虫解决 GBK乱码问题

文章目录 前言爬取初尝试与乱码问题编码知识科普UTF - 8GBKUnicode Python中的编码转换其他编码补充知识GBKGB18030GB2312UTF(UCS Transfer Format)Unicode 总结 前言 在Python爬虫的过程中,我尝试爬取一本小说,遇到GBK乱码问题&a…

B站搜索关键词机制深度解析:算法逻辑与优化策略

在拥有超过5亿用户的B站生态系统中,每天都有海量的视频内容被上传和消费。对于创作者而言,如何让自己的视频在茫茫内容海洋中被目标受众发现,是至关重要的课题。而关键词,正是连接内容与用户的关键桥梁。理解B站的搜索关键词机制&…

宝塔面板中解锁Laravel日志查看的奥秘

目录 一、前言二、Laravel 日志基础认知2.1 日志的作用2.2 Laravel 日志的默认配置 三、查找 Laravel 日志文件位置3.1 常规存储路径3.2 自定义路径查找 四、查看 Laravel 日志内容4.1 宝塔面板文件管理器查看4.2 使用命令行查看 五、常见问题及解决方法5.1 权限不足无法查看5.…

Matlab Add Legend To Graph-图例添加到图

Add Legeng To Graph: Matlab的legend()函数-图例添加到图 将图例添加到图 ,图例是标记绘制在图上的数据序列的有用方法。 下列示例说明如何创建图例并进行一些常见修改,例如更改位置、设置字体大小以及添加标题。您还可以创建具有多列的图…

K8S+Prometheus+Consul+alertWebhook实现全链路服务自动发现与监控、告警配置实战

系列文章目录 k8s服务注册到consul prometheus监控标签 文章目录 系列文章目录前言一、环境二、Prometheus部署1.下载2.部署3.验证 三、kube-prometheus添加自定义监控项1.准备yaml文件2.创建新的secret并应用到prometheus3.将yaml文件应用到集群4.重启prometheus-k8s pod5.访…

基于YOLO11的车牌识别分析系统

【包含内容】 【一】项目提供完整源代码及详细注释 【二】系统设计思路与实现说明 【三】系统数据统计与可视化分析支持 【技术栈】 ①:系统环境:Windows/macOS/Linux ②:开发环境:Python 3.8 ③:技术栈&#x…

每天记录一道Java面试题---day39

GC如何判断对象可以被回收了 回答重点 引用计数法: - 每个对象由一个引用计数属性,新增一个引用时计数器加1,引用释放时计数减1,计数为0时可以回收。可达性分析法: - 从GC Roots开始向下搜索,搜索所走过的…

机器学习(5)——支持向量机

1. 支持向量机(SVM)是什么? 支持向量机(SVM,Support Vector Machine)是一种监督学习算法,广泛应用于分类和回归问题,尤其适用于高维数据的分类。其核心思想是寻找最优分类超平面&am…

从零到一:网站设计新手如何快速上手?

从零到一:网站设计新手如何快速上手? 在当今数字化时代,网站已成为企业、个人展示信息、提供服务的重要窗口。对于想要涉足网站设计领域的新手而言,如何快速上手并掌握必要的技能成为首要任务。本文将从基础知识、软件工具、设计…

蓝桥杯2024国B数星星

小明正在一棵树上数星星,这棵树有 n 个结点 1,2,⋯,n。他定义树上的一个子图 G 是一颗星星,当且仅当 G 同时满足: G 是一棵树。G 中存在某个结点,其度数为 ∣VG​∣−1。其中 ∣VG​∣ 表示这个子图含有的结点数。 两颗星星不相…

Django从零搭建卖家中心登陆与注册实战

在电商系统开发中,卖家中心是一个重要的组成部分,而用户注册与登陆则是卖家中心的第一步。本文将详细介绍如何使用Django框架从零开始搭建一个功能完善的卖家注册页面,包括前端界面设计和后端逻辑实现。 一、项目概述 我们将创建一个名为sel…

Opencv使用cuda实现图像处理

main.py import os import cv2 print(fOpenCV: {cv2.__version__} for python installed and working) image cv2.imread(bus.jpg) if image is None:print("无法加载图像1") print(cv2.cuda.getCudaEnabledDeviceCount()) cv2.cuda.setDevice(0) cv2.cuda.printCu…

如何编制实施项目管理章程

本文档概述了一个项目管理系统的实施计划,旨在通过统一的业务规范和技术架构,加强集团公司的业务管控,并规范业务管理。系统建设将遵循集团统一模板,确保各单位项目系统建设的标准化和一致性。 实施范围涵盖投资管理、立项管理、设计管理、进度管理等多个方面,支持项目全生…

B端可视化方案,如何助力企业精准决策,抢占市场先机

在当今竞争激烈的商业环境中,企业需要快速、准确地做出决策以抢占市场先机。B端可视化方案通过将复杂的企业数据转化为直观的图表和仪表盘,帮助企业管理层和业务人员快速理解数据背后的业务逻辑,从而做出精准决策。本文将深入探讨B端可视化方…

基于FPGA的一维时间序列idct变换verilog实现,包含testbench和matlab辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 DCT离散余弦变换 4.2 IDCT逆离散余弦变换 4.3 树结构实现1024点IDCT的原理 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) matlab仿真结果 FPGA仿真结果 由于FP…

Android基础教程 - 学习完成记录

视频学习教程 视频链接:2022 最新 Android 基础教程,从开发入门到项目实战,看它就够了,更新中_哔哩哔哩_bilibili 学习下来,有遇到很多问题,在 chatgpt、claude 和 Android Studio 插件通义千问的帮助下&…

Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓

知识点: 1、安全开发-JavaEE-原生序列化-URLDNS链分析 2、安全开发-JavaEE-FastJson-JdbcRowSetImpl链分析 利用链也叫"gadget chains",我们通常称为gadget: 1、共同条件:实现Serializable或者Externalizable接口&…

OpenCV操作函数

1、cv2.imread() 2、 cv2.imshow() 3、 cv2.waitKey() 4、cv2.imwrite() 5、cv2.selectROI() 6、 cv2.VideoCapture() 7、cv2.cvtColor(&#xff…

AI编程新纪元:GitHub Copilot、CodeGeeX与VS2022的联合开发实践

引言:AI编程时代的到来 在软件开发领域,我们正站在一个历史性的转折点上。GitHub Copilot、CodeGeeX等AI编程助手的出现,结合Visual Studio 2022的强大功能,正在重塑代码编写的本质。这不仅是工具层面的革新,更是开发范式的根本转变。能够有效利用这些AI工具的开发者将跨…

[特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手

💡 简介:本文详细介绍如何利用MCP(Model-Control-Panel)框架开发MySQL数据库操作工具,使AI助手能够直接执行数据库操作。 📚 目录 引言MCP框架简介项目架构设计开发环境搭建核心代码实现错误处理策略运行和…