godot-demo-projects:40+ 个 Godot 示范案例,零基础三分钟跑通第一个演示
【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projects
godot-demo-projects 是 Godot 引擎官方的 40+ 个可直接运行的示范案例集合。每个文件夹都是一个完整的小游戏,打开就能运行,你能直接看到官方怎么写移动、生成敌人和寻路。
第一个 Godot 案例怎么跑起来:从打开仓库到运行只要三分钟
如果还没克隆,先在终端执行git clone https://gitcode.com/GitHub_Trending/go/godot-demo-projects。仓库的规矩很简单:凡是一个文件夹里放着 project.godot,它就是一个独立项目,两个主入口是 2d/ 和 3d/。
在 Godot 项目管理器里点 Scan,路径指向克隆后的根目录,全部案例会一次列出来;也可以只打开某一个案例里的 project.godot。第一个案例推荐 2d/dodge_the_creeps,它是最小的 2D 项目。版本上留意一下:仓库 master 分支对应 Godot 最新开发版,其余分支对应各自稳定版,挑一个和你编辑器接近的即可。
游戏画面动起来,你就入门了。剩下的问题是几十个文件夹该先看哪个。
按想做的游戏挑案例
2D 躲避类:2d/dodge_the_creeps
这个案例是官方"你的第一个 2D 游戏"教程的成品,用它走通"开始 → 计分 → 结束 → 重开"的完整循环最省事。
机制上就两件事:玩家是个 Area2D,敌人一进入范围就触发碰撞信号,通知主场景结束游戏;敌人则由计时器定时生成。角色移动的本质是两行话——先把方向归一化,再按速度乘以帧时间推进:
velocity = velocity.normalized() * speed position += velocity * delta值得直接搬走的一个技巧:被撞到时,代码用 set_deferred 去改碰撞形状的开关,因为物理回调里不能直接改物理属性,这个坑在你自己的项目里会原样出现。
3D 动作类:3d/squash_the_creeps
它是躲避类的 3D 对照版,一次学会读 3D 输入、跳跃手感、敌人随机生成、带分数和失败条件的完整游戏。
核心在 CharacterBody3D 上:每帧给垂直速度叠加重力,检测到角色踩在地面上才允许起跳。另一条可以直接拿走的处理是相机——相机是玩家的子节点,自动跟着角色走,你一行代码都不用写。
物理平台类:2d/physics_platformer
前两个案例都是运动学角色,这里换成动力学路线:玩家和敌人都是 RigidBody2D。
README 里最关键的一句话:所有移动写在 _integrate_forces() 里,和物理引擎保持同步。好处是真实的——你能推动跷跷板,还能骑到敌人头上。如果你的项目想要"推得动、滚得动"的物理感,这套角色控制写法就是现成参照。
寻路导航类:2d/navigation_astar
游戏里要角色自己绕开障碍走路,就看这里。案例用 AStarGrid2D 在网格上算路径,再叠一层转向行为把移动抹平。
值得搬走的技巧在后面那层:拿到路径后不要让角色一格一格直直地蹦,转向行为把轨迹抹顺滑,机器人感才消失。地图不是网格、是不规则多边形时,可以改看 2d/navigation,它换用 NavigationRegion2D 加 NavigationAgent2D。
挑完类型还剩一个问题:每个案例要留多少时间。
Godot 示范案例怎么选:一张表看懂
| 案例 | 难度 | 建议上手时间 | 学到的核心机制 |
|---|---|---|---|
| 2d/dodge_the_creeps | 入门 | 30 分钟 | 完整游戏循环、Area2D 碰撞、计时器生成 |
| 3d/squash_the_creeps | 入门偏中 | 1.5 小时 | CharacterBody3D 跳跃、着地判断、随机生成 |
| 2d/physics_platformer | 中等 | 1 小时 | RigidBody2D 动态角色、_integrate_forces 同步 |
| 2d/navigation_astar | 中等 | 1 小时 | AStarGrid2D 网格寻路、转向行为平滑 |
案例挑定后,别只跑一遍就放着。读法对了,才真的能用上。
从演示到成品的三个习惯
- 读源码从节点树和输入映射看起。先看 .tscn 场景里有哪些节点,再查 project.godot 里 [input] 段的按键绑定,脚本只是把这两层粘起来的胶水。
- 把示例当组件拆解。不需要整份背下,只抽走你需要的那一块——生成逻辑、跳跃写法——挪进自己的工程,单独跑通再接线。
- 别在每帧里干重活。_process 或 _physics_process 里发现搜索、寻路、排序这类开销大的操作,就缓存结果算一次,或者挪进信号回调。
路线上先跑 2d/dodge_the_creeps 把 2D 循环走通,再进 3d/squash_the_creeps 感受 3D 跳跃。用 C# 的话,mono/ 里有同名案例可以对照;官方文档入口在仓库 README.md 的链接里。
【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projects
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考