前言
目前阶段开发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://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的导出模板就不行。
编辑器 -> 管理导出模板 -> 从文件安装
安装后路径
C:\Users\18351\AppData\Roaming\Godot\export_templates\4.1.1.stable
注意导出的时候模板是不用选择地址的,程序会自动获取,如果报错则证明模板安装的版本不对。
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 | # Godot 4+ specific ignores |