Godot笔记:入门索引

文章目录

  • 前言
  • 游戏引擎
  • 软件界面
  • 关键概念
  • GDScript
  • 导出成品
  • 创建非游戏应用
  • 后记

前言

最近对游戏引擎这块感兴趣,特别是因为游戏引擎自带的很多工具,作为图形化软件的开发应该也不错。 Godot 是一款这几年比较流行的开源游戏引擎。这里记录下入门学习使用 Godot 相关的资源链接等。

官方页面:https://godotengine.org/
官方文档:https://docs.godotengine.org/en/stable/

在这里插入图片描述

官方的文档本身写的比较好,下文的内容更多的是对我自己关注的一些点进行梳理。
官方文档的左下角和右下角可以选择版本和语言,较新的版本是有中文的。

游戏引擎

Godot is a general-purpose 2D and 3D game engine designed to support all sorts of projects. You can use it to create games or applications you can then release on desktop or mobile, as well as on the web.
Godot 是一个通用的 2D 和 3D 游戏引擎,旨在支持各种项目。你可以用它来创建游戏或应用程序,然后在桌面、手机以及 Web 平台上发布。


Godot comes with a fully-fledged game editor with integrated tools to answer the most common needs. It includes a code editor, an animation editor, a tilemap editor, a shader editor, a debugger, a profiler, and more.
Godot 是一个通用的 2D 和 3D 游戏引擎,旨在支持各种项目。你可以用它来创建游戏或应用程序,然后在桌面、手机以及 Web 平台上发布。

游戏引擎可以在官网上下载,有多个操作系统平台的,也有网页版的。另外也可以在Steam,EPIC等游戏商店下载。 Godot 主要的开发语言有自带的 GDScript(一种类似Python的脚本语言) 或者 .NET C# ,所以下载时游戏引擎也会有两个版本,这里下载使用 Window 上使用 GDScript 的版本(当前版本为4.4.1)。

下载之后解压直接打开就可以使用不需要按照。当然这里建议解压到一个文件夹,然后在该文件夹下新建名为 ._sc_ 或者 _sc_ 的文件,这样你使用时的一些配置文件和临时文件就会在该目录下,而不会出现在系统的用户目录下。这种方式方便多个版本的引擎共存,或者当作便携软件使用。
在这里插入图片描述

软件界面

软件界面本来应该没啥好说的,稍微看下就会。不过目前这个引擎的界面有一个地方是有点反直觉的,所以这里拿出来说一下。

下图中顶部中间的工作空间切换按钮切换的是中间的工作空间区域,比如2D/3D的场景视图;而两个区域间的一个个标签是场景的标签。这个当你在编辑脚本的时候,这里的标签还是场景标签,具体显示的是哪个脚本需要看工作区左边。
在这里插入图片描述

关键概念

Godot 开发的游戏是由一个个的场景( Scene )组成的,场景可以是一个角色、一件武器、用户界面中的一个菜单、一座房子、整个关卡、或者任何你能想到的东西。每个场景都中包含了若干的节点( Node )或子场景,节点下面可以有一个或多个子节点。场景和场景、场景和节点、节点和节点间通过信号( Signal )进行通信。

整个游戏有一个主场景( Main Scene),这是游戏打开的第一个页面。整个游戏其实就是由这个场景开始的一个个场景树或者节点树构成的。

Godot 中的节点是有继承关系的,每个节点都继承了它的父节点的属性和方法:
在这里插入图片描述

每个节点可以绑定一个脚本,脚本中可以使用该节点的属性和方法,也可以使用其子节点的一些属性和方法。

GDScript

Godot 主要的开发语言有自带的 GDScript(一种类似Python的脚本语言) 或者 .NET C# ,另外 Godot 本身是基于 C++ 开发的,所以也可以用 C/C++ 开发(借助 GDExtension )。当然没特殊需求的话官方的 GDScript 用起来也是很方便的。

官方提供了 GDScript 入门教程,这个教程也是用 Godot 开发的,可以在线学习:
https://gdquest.github.io/learn-gdscript/

如果网络不好的话也可以下载本地版本进行学习:
https://github.com/GDQuest/learn-gdscript

Godot 内置的文档比较方便,写脚本的时候按住 Ctrl 单击函数等会自动跳转文档。除了写脚本时的文档,在软件中按 F1 可以打开全局文档搜索,节点右击也可以选择打开相关文档。

如果写脚本觉得这个自带的不行话也可以用VSCode等外部编辑器来写,具体可以参考官方文档:
https://docs.godotengine.org/en/stable/tutorials/editor/external_editor.html

导出成品

Godot 导出成品游戏最简单的方式使用 Export templates ,这个可以在官网下载。导出时可以配置图标、软件信息、资源加密等内容。可以导出主要的桌面和移动平台,也可以导出到网页端:
在这里插入图片描述

具体导出配置因平台而异有所差别,有些还会依赖额外的工具,具体内容可以参考官方文档:
https://docs.godotengine.org/en/stable/tutorials/export/index.html

创建非游戏应用

Godot 也可以仅仅用来制作图形化软件,还有一些官方支持基于它开发的热门软件:
Pixelorama(像素艺术创作工具):https://github.com/Orama-Interactive/Pixelorama
Material Maker(材质制作工具):https://github.com/RodZill4/material-maker

作为普通的应用程序来说,不需要像游戏一样保持高刷新率,可以启用 low_processor_mode 模式来减少CPU和GPU的占用,只在必要时重绘界面,降低功耗:
在这里插入图片描述

后记

关于 Godot 入门相关的记录主要就是上面一些内容。这个引擎本身使用起来还是比较简单的,不过正式用来开发游戏或者应用程序的话只是会引擎和语言等还是不够的,需要有更多系统性的知识,以及一些练习。关于具体的开发应用,官方也提供了很多Demo和资源等:
https://github.com/godotengine/godot-demo-projects
https://godotengine.org/asset-library/asset

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

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

相关文章

[C语言]猜数字游戏

文章目录 一、游戏思路揭秘二、随机数生成大法1、初探随机数:rand函数的魔力2、随机数种子:时间的魔法3、抓住时间的精髓:time函数 三、完善程序四、游戏成果1、游戏效果2、源代码 一、游戏思路揭秘 猜数字游戏,这个听起来就让人…

LeetCode392_判断子序列

LeetCode392_判断子序列 标签:#双指针 #字符串 #动态规划Ⅰ. 题目Ⅱ. 示例 0. 个人方法官方题解一:双指针官方题解二:动态规划 标签:#双指针 #字符串 #动态规划 Ⅰ. 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序…

Python匿名函数与内置函数较难与较冷门知识点考前速记

5 lambda匿名函数与Python内置函数 lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、sorted()、list.sort() 等函数与方法中。 lambda语法格式: lambda arguments: expression lambda是 Python 的关键字,用…

DeepSeek谈《凤凰项目 一个IT运维的传奇故事》

《凤凰项目:一个IT运维的传奇故事》(The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win)是Gene Kim、Kevin Behr和George Spafford合著的一部小说,通过虚构的故事生动展现了IT运维中的核心挑战和Dev…

【上海大学数据库原理实验报告】MySQL基础操作

实验目的 熟悉MySQL基础操作。 实验内容 创建四张工程项目的关系表。 图 1 四张工程项目关系表的结构 检索供应零件编号为J1的工程的供应商编号SNO。检索供应零件给工程J1,且零件编号为P1的供应商编号SNO。查询没有正余额的工程编号、名称及城市,结果…

winget使用

Get-Command winget winget search qq winget install Tencent.QQ.NT

逻辑回归在信用卡欺诈检测中的实战应用

在大数据和机器学习蓬勃发展的时代,信用卡欺诈检测成为了保障金融安全的重要环节。逻辑回归作为一种经典的机器学习算法,在这一领域发挥着关键作用。本文将通过一段完整的Python代码,详细解析逻辑回归在信用卡欺诈检测中的具体应用过程&#…

矫平机:金属板材精密加工的“整形专家”

一、矫平机的定义与核心功能 矫平机(Leveling Machine)是金属加工领域的关键设备,主要用于消除金属板材或带材在轧制、运输过程中产生的内应力,矫正其弯曲、扭曲、波浪边等形变缺陷,使材料达到毫米级甚至微米级的平整…

百度「心响」:通用超级智能体,重新定义AI任务执行新范式

在AI技术从“对话交互”迈向“任务执行”的转折点,百度于2025年4月正式推出移动端超级智能体应用——心响。这款以“AI任务完成引擎”为核心的创新产品,被誉为“AI指挥官”,通过自然语言交互实现复杂任务的全流程托管,覆盖知识解析…

游戏性能测试

1. 分阶段,看目的,确定高中低三档测试机,最低档机的确定需要和客户端主程和制作人等共同确定 确定三档机的方式: 1. 要上线地区的top100,根据用户占比,划分出三档 2. 根据用研部门提供的数据,确…

react-10样式模块化(./index.module.css, <div className={welcome.title}>Welcome</div>)

1.react样式模块化 避免各个组件类名相同 相关样式冲突所以需要样式模块化。比如在组件Hello中的样式引入,将样式文件名更改为index.module.css如下图。 2. 文件中引入模块以及使用 文件中import引入模块样式 import welcome from "./index.module.css"…

4月30日星期三今日早报简报微语报早读

4月30日星期三,农历四月初三,早报#微语早读。 1、神舟十九号载人飞船因东风着陆场气象原因推迟返回; 2、林毅夫:到2049年中国经济体量有望达到美国的两倍; 3、市场监管总局:2024年查办商标、专利等领域违…

小刚说C语言刷题—1462小明的游泳时间

1.题目描述 伦敦奥运会要到了,小明在拼命练习游泳准备参加游泳比赛。 这一天,小明给自己的游泳时间做了精确的计时(本题中的计时都按 24 小时制计算),它发现自己从 a 时 b 分一直游泳到当天的 c 时 d 分。 请你帮小…

SpringBoot+EasyExcel+Mybatis+H2实现导入

文章目录 SpringBootEasyExcelMybatisH2实现导入1.准备工作1.1 依赖管理1.2 配置信息properties1.3 H2数据库1.4 Spring Boot 基础概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel数据工具类-随机字符串编写生成Excel的java文件 3.导入功能并且存入数据库3.1 返回结…

嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战

一、数组操作:3x3 数组的对角和、偶数和、奇数和 题目 求 3x3 数组的对角元素和、偶数元素和、奇数元素和。 知识点 数组遍历:通过双重循环访问数组的每个元素,外层循环控制行,内层循环控制列。对角元素判断: 主对…

分布式优化与一致性算法python实现

目录 摘要一、分布式优化问题描述二、一致性算法基础2.1 平均一致性(Average Consensus)2.2 Gossip 协议三、分布式梯度下降(DGD)四、分布式 ADMM 与共识优化五、收敛性与参数选择六、典型案例6.1 传感器网络参数估计6.1.1 问题描述6.1.2 算法设计6.1.3 实验结果6.2 分布式…

突破SQL注入字符转义的实战指南:绕过技巧与防御策略

在渗透测试中,SQL注入始终是Web安全的重点攻击手段。然而,当开发者对用户输入的特殊字符(如单引号、反斜杠)进行转义时,传统的注入方式往往会失效。本文将深入探讨如何绕过字符转义限制,并给出防御建议。 目…

算法导论第6章思考题

6.3-2 func(A) 1 A.heap-sizeA.len 2 \quad for i ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋ downto 1 3 \qquad MAX-HEAPIFY(A,i) 对于第2行的循环控制变量i来说,为啥要求它是从 ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋…

可商用,可离线运行,可API接口调用的开源AI数字人项目Heygem,喂饭级安装教程

前言 Heygem 是一款开源项目,致力于发挥你电脑硬件的全部潜力,让你无需依赖云端,也能在本地高效运行各类开源AI数字人模型。无论是 AI 语音对话、虚拟主播,还是数字人驱动引擎,Heygem 通过底层性能调度与资源管理优化&…

三个概念:DataBinding,Dependency Property 与DataTemplate

WPF 核心概念详解:DataBinding、Dependency Property 和 DataTemplate 1. DataBinding (数据绑定) 基本概念 DataBinding 是 WPF 的核心机制,用于在 UI 元素和数据源之间建立自动同步关系。 关键特性 双向绑定:数据变化自动反映到 UI&…