1 介绍Godot引擎
开始吧。本章解释了如何下载和运行编辑器,指导你认识和熟悉界面中的各元素。
安装Godot引擎
创建一个项目
使用可视化编辑器
设置一个主场景
如下几项每章都有,下面的章节中不再列出
- 总结
- 问答
- 讨论
- 练习
2 场景系统
本章探讨了Godot中的特有概念:Node。
告诉我们如何将基本的部分组织成场景,将场景组织成一个项目。
节点和场景
资源
把场景组合起来
管理子场景
3 2D图形
本章告诉我们使用Godot的节点制作2D游戏所需的知识。
精灵图和绘制顺序
向量和变换
相机
瓦片图
4 写脚本
Godot的定制脚本语言:GDScript如何使用。
如何给节点添加脚本?各对象间如何相互影响。
节点和脚本之间的关系
介绍GDScript
标记和集合
5 第一个游戏:太空射击
制作第一个完整的游戏:制作一个简单的2D太空射击类游戏。
概念和设计
制作场景
6 更多的脚本撰写
如何创建全部的游戏对象,如何创建能在编辑器中自己运行的工具。
通知
单例和自动加载
7 管理输入
对于交互来说,玩家的输入很重要。
如何通过各种输入设备获取玩家输入。
输入的基础
输出事件(InputEvent)类
键盘和手柄输入
鼠标和触摸输入
输入映射
输入事件动作(Action)
8 物理系统
如何使用物理系统来模拟真实的运动。
体和形
物理体的类型
区域和存在的检测
射线发射
导航和寻路
9 使用控制器
如何使用Godot中的图形控制器(接收玩家输入):按钮、文字框?
如何创建你自己的图形控制器?
控制
了解你的控制
容器
做一个控制器
主题
自定义控制
10 动画
学习使用动画系统。
如何创建动画、如何修改动画中的属性。
动画编辑器
时间线和关键帧
动画融合和转换
11 游戏流程
游戏中各流程之间如何切换?
如何从一个场景切换至另一场景?
如何暂停游戏?
如何优雅地管理游戏退出?
启动游戏后要做的
暂停游戏
切换场景
载入背景
管理停止请求
12 文件系统
保存和载入游戏数据。
对游戏数据进行加密。
指定路径
游戏配置
用文件进行管理
用目录进行管理
13 3D图形
3D游戏的基础概念;3D环境下有哪些节点(如相机)。
如何导入模型?
空间节点
导入网格和模型
3D编辑器
相机
14 项目管理
如何管理游戏项目的文件结构。
如何导入文件。
如何用版本控制系统来管理项目的改动。
导入资源
组织工程目录
版本控制软件
15 材质和着色器
如何创建和使用材质?
关于着色器的基础概念,如何在编辑器内创建着色器。
画布物品材质
空间材质
着色器基础
16 光照和阴影
如何向场景中添加光?(对3D游戏很重要,可以为2D游戏增色)
如何激活和配置阴影?
光源
阴影
2D中的光
17 第2个游戏:推箱子
如何制作一个3D推箱子游戏,游戏内允许玩家撤销当前操作回到上一步。
概念和设计
制作场景
脚本和输入
18 环境
如何定制3D世界的环境?使用全景天空或简单的颜色。
如何使用全部光照?
如何用光照探针节点优化光线反射?
世界环境
全局光照
反射探针
19 音效
如何向游戏中添加音效?
如何在2D和3D游戏中某位置处添加音效?
如何管理音效
如何利用多普勒效应?距离越近音调越高
播放音效
特定位置的音效
音频总线
区域效果
动态音效
20 粒子系统
如何创建视觉特效?如烟、火、火花。
2D粒子
3D粒子
21 视口和画布
如何制作分屏游戏?
如何截图?
在2D场景中管理画布层。
视口
画布层
切分屏幕
22 联网
如何连接其他人?
如何同步游戏状态?
TCP(传输数据协议)、UDP(用户报文协议),为什么这很重要
管理连接
远程调用
远程同步关键字
主从分布式结构
可视化编写脚本
23 第3个游戏:联网版炸弹人
概念和设计
制作场景
编写脚本和输入
加入多人
同步玩家、炸弹、爆炸
24 导出
如何打包并在各个平台发布?
基于特定平台的考虑
输出预设置
输出设置
25 原生代码(彩蛋)
如何使用原生代码来优化性能?
如何使用引擎提供的API?
如何编译C代码?
GD原生代码