Godot进行2D游戏开发入门-安装与介绍

前言

目前阶段开发2D游戏推荐使用Unity和Godot。

官方文档

https://docs.godotengine.org/zh_CN/latest/about/introduction.html

优劣势

Godot的优势

  • Godot是开源的,在国外是比较火的,有很多上架的游戏。
  • 使用脚本语言GDScript,开发过程中不会修改一点就编译,能快速更新。
  • 在开发2D的时候功能相比Unity更易用。
  • Godot支持游戏的导出平台更多。
  • 安装方便,下载完成后解压只有一个exe,运行即可,并且安装包小。

Godot的劣势

  • 由于是开源,暂不支持导出PS4/PS5、Switch。
  • Godot的教程和资料很少,几乎只能查API。
  • 处于快速发展期,4.x和3.x组件和脚本语法都有改变,并且互不兼容。
  • 生态不好,国内用的人少,相对来说资料少,4.X的更少。
  • Unity相关的素材普遍,Godot就很少。

语言推荐

Godot支持的编程语言有GDScript和C#,这里推荐使用GDScript,虽然我对C#比较熟悉,但是考虑到C#运行环境版本及需要编译执行,所以并不推荐C#。

并且使用C#只支持桌面平台。

并且使用C#开发时软件本身的体验也非常不好。

平台支持

Godot 支持哪些平台?

编辑器:

  • Windows
  • macOS
  • X11(Linux、*BSD)
  • Web
  • Android(实验性)

导出游戏:

  • Windows(以及 UWP)
  • macOS
  • X11(Linux、*BSD)
  • Android
  • iOS
  • Web

下载与安装

现在版本有长期支持的3.5.2和最新的版本4.1.1,这里推荐使用4.1.1,因为4.下版本有很多更新。

推荐直接从官网下载,从Stream也可以下载,但是下载的是最新的版本4.1.1,不能选择旧版本,并且运行的时候必须运行Stream。

软件下载

下载地址

https://godotengine.org/

或者

链接:https://pan.baidu.com/s/1BFydT0rtMaJFKBUrrdrvSA
提取码:psvm

导出依赖下载

Godot 导出模板下载

https://downloads.tuxfamily.org/godotengine/4.1.1/

或者

链接:https://pan.baidu.com/s/19we6C-ai7SOZQ64RDCqVAQ
提取码:psvm

注意

导出模板的版本一定要和开发工具的版本完全一致。

比如我现在使用的开发工具是4.1.1版本,使用4.0的导出模板就不行。

编辑器 -> 管理导出模板 -> 从文件安装

image-20230730222834905

安装后路径

C:\Users\18351\AppData\Roaming\Godot\export_templates\4.1.1.stable

注意导出的时候模板是不用选择地址的,程序会自动获取,如果报错则证明模板安装的版本不对。

image-20230730223109436

Rcedit

在导出选项中选择它之前,您需要额外安装一个名为 rcedit 的工具。您可以在这里进行下载。

下载后,您需要告诉 Godot 计算机上 rcedit 可执行文件的路径。

请前往编辑器 → 编辑器设置 → 导出→ Windows。点击 rcedit 条目的文件夹图标。导航到并选择 rcedit 可执行文件。

Rcedit

https://github.com/electron/rcedit/releases

链接:https://pan.baidu.com/s/1nzfW5p6yRh4o1c_qVB16Yg
提取码:psvm

4.x核心更新

  • 全新的Vulkan渲染引擎,效果更好。更新的OpenGL渲染引擎。
  • 光照和阴影算法优化性能更高效果更好。
  • 新的TileMap编辑器支持图层、自动贴图,自动优化Tile衔接处的图像。
  • CanvasGroup整体设置一组精灵的效果。
  • GDScript性能提升,代码编辑器更新。根据代码生成文档。
  • 支持多窗口。
  • 中文支持优化。Label文字可以直接调整大小,并保证不模糊。
  • 多线程导入,导入更快了。
  • 智能寻路,这个同时也更新到3.5上。
  • VR游戏的支持。
  • 编辑器中大多功能简化使用。
  • 动画重写,过渡更加自然。

官方说明

【Godot 4.0:几乎就是全新的引擎!新功能介绍】

https://www.bilibili.com/video/BV19Y4y1y7u5?vd_source=e0fcc7abaacc3af8b556e0441cd6d47a

基础概念

场景(Scenes)

Godot的场景不仅包含关卡,同时可以是人物、物体、场景、布景、菜单等等各种资产和资源。

场景可以嵌套使用,可以将人物和物体放置于关卡中等。

场景支持继承和扩展。

节点(Nodes)

节点是场景的组成部分,是游戏的最小组成单元。对象的一种。

镜头、精灵、碰撞、动画等等都是节点的一种。

节点的显示方式受上下关系影响,列表下面的节点会显示在画面上层。

场景树(Scene Tree)

由若干场景组成的树形结构。由于场景是由节点构成的树,因此场景树也是包含了大量节点的树。

信号(Signals)

当节点被事件触发时可以发出信号,用来和其他节点通信。

使用时要特别小心。

文件夹结构

我开发时按照以下目录进行分类管理文件

  • dist(游戏导出目录)
  • addons(插件)

  • scenes(游戏场景)

  • scripts(脚本)

    • scenes(场景中挂载代码)
    • autoload(自动加载、单例)
    • util(工具类)
    • common(通用文件,供全局使用)
  • assets(资源文件)

    • images(图片)
    • icon(应用图标)
    • vfx(视觉特效)
    • music(背景音乐)
    • sound(音效)
    • shader(着色器)

代码忽略配置

.gitignore

1
2
3
# Godot 4+ specific ignores
.godot/
dist/