)
克隆就能跑手把手带你玩转 Godot 官方 Demo 项目集2D/3D/音频/XR 全都有【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projectsgodot-demo-projects 是 Godot 引擎官方的演示项目集合仓库里每个带project.godot的文件夹都是一个能直接打开运行的完整小游戏。读完本文你能在几分钟内让躲避小怪跑起来知道从哪个 Demo 开始学、遇到报错去哪里改配置并拿到一份按需求选 Demo 的速查表。先看懂项目布局从哪个 Demo 开始仓库按主题分大类每一类下都是独立的小项目互不依赖2d/ —— 最大的一批躲避游戏、平台跳跃、导航寻路、粒子、骨骼动画……3d/ —— 3D 平台跳跃、抗锯齿对比、物理插值、卡车小镇等audio/ —— 频谱可视化、节奏游戏、MIDI 钢琴networking/ —— 多人乒乓、WebSocket 聊天mono/ —— 上面这些热门 Demo 的 C# 版本xr/、mobile/、gui/、loading/ —— 各自领域的专题新手路线很简单先跑dodge_the_creeps再跑squash_the_creeps然后按兴趣挑专题。前者是 2D 入门教程的成品版后者是 3D 入门教程的成品版两个都有配套文档教程可以对照着看。小提醒Demo 的版本和 Godot 编辑器版本要匹配。仓库主分支对应 Godot 最新开发版想跑稳定版就切对应的版本分支比如 4.5、4.6。下面踩坑一节有具体说明。三分钟跑通 2D 躲避游戏在 Godot 项目管理器里点Scan扫描选择这个仓库的根目录所有 Demo 会一次性全部出现在列表里或者只打开 2d/dodge_the_creeps/ 这一个项目也行。双击project.godot按 F5 运行。屏幕上会发生什么一个三角形小人用方向键/WASD 在 480×720 的竖屏里移动圆形的小怪不断从屏幕边缘冒出来碰到你就结束右上角的 HUD 记录存活时间。想改小人怎么动看 player.gd核心就是这几行if Input.is_action_pressed(move_right): velocity.x 1 if Input.is_action_pressed(move_left): velocity.x - 1 if velocity.length() 0: velocity velocity.normalized() * speed position velocity * delta position position.clamp(Vector2.ZERO, screen_size)在player.gd的_process里这段代码把按键转成移动向量归一化后乘以speed顶部用export var speed 400定义在编辑器 Inspector 里就能改最后把位置钳制在屏幕内。改动时注意speed单位是像素/秒调大前先确认窗口大小没变否则小怪会追不上你。带走 3 个要点输入先转方向再乘速度最后delta乘上去——这是所有 2D 移动代码的通用骨架。export变量会出现在 Inspector 面板里调参不用改代码。按键映射不在脚本里在project.godot的[input]段WASD方向键手柄都已配好。跑通之后别急着走。试试把speed改成 800或者把mob.gd里小怪的生成间隔拉开感受一下改一个数就能看到效果的正反馈。十五分钟上手 3D 平台跳跃2D 跑顺了把同样的思路搬到 3D。打开 3d/squash_the_creeps/F5 之后你会看到一个 3D 场地WASD 移动、空格跳跃跳到小怪头上把它踩扁得分从正面撞到就出局。和 2D 版结构惊人地一致Player.gd管玩家Mob.gd管敌人Main.gd管关卡。核心逻辑在 Player.gd 的_physics_process里velocity.x direction.x * speed velocity.z direction.z * speed if is_on_floor() and Input.is_action_just_pressed(jump): velocity.y jump_impulse velocity.y - fall_acceleration * delta move_and_slide()这段代码在每帧物理步里做三件事把输入方向换算成水平速度、落地时按跳跃冲量、始终叠加重力最后move_and_slide()让引擎处理碰撞。改动时注意speed、jump_impulse、fall_acceleration都是export变量直接改数值就能调手感但重力改太大跳跃会飘改太小会沉。踩小怪的判断也很值得抄它遍历move_and_slide()产生的碰撞发现碰到的是mob组、且碰撞法线朝上Vector3.UP.dot(normal) 0.1才触发踩扁——法线朝上 从头顶落下这个判断方式在 2D/3D 平台游戏里都能直接复用。要点小结3D 移动和 2D 是同一种骨架只是向量从Vector2变成Vector3多了一个重力轴。官方教程 Demo 的代码注释比大多数第三方教程写得细逐行读一遍比跟十个视频有用。想要 C# 版本mono/squash_the_creeps/ 里有一模一样的实现。进阶物理、寻路还有能踩的跷跷板前两个 Demo 教你角色怎么动接下来这一层教你世界怎么动。推荐按这个顺序逛物理平台跳跃2d/physics_platformer/玩家用RigidBody2D而不是CharacterBody2D所以能骑在小怪头上、能压跷跷板物理交互是真的物理。A 星网格寻路2d/navigation_astar/在瓦片地图上拖出起点和终点白色路径线自动绕开障碍。信号驱动的小乒乓2d/pong/球、挡板、墙全是Area2D靠信号传递碰撞事件是学 Godot 信号机制的绝佳小样本。寻路 Demo 最核心的文件是 pathfind_astar.gd它挂在 TileMapLayer 上用内置的AStarGrid2D完成网格寻路var _astar : AStarGrid2D.new() # ... _astar.region Rect2i(0, 0, 18, 10) _astar.cell_size CELL_SIZE _astar.update() for pos in get_used_cells(): _astar.set_point_solid(pos)在_ready里这几行先划定网格区域再把画了障碍物的格子全部标记为不可通行update()之后就能随时求路径下面的_draw()用draw_line把路径画出来。改动时注意region要比可玩区域每边多留一格少了一格边界格子就寻不了路。这一层走完你手里就有了三样通用武器刚体做真物理交互、AStarGrid2D做网格寻路、信号做节点间解耦。剩下的 2d/ 里大量 Demo粒子、骨骼、状态机、等距视角都是这三样武器的组合变体照着改就行。按需求选方向做什么就开哪个 Demo你想做的事打开哪个目录选择依据写第一个 2D 游戏2d/dodge_the_creeps/官方 2D 教程成品代码最薄、最好读写第一个 3D 游戏3d/squash_the_creeps/官方 3D 教程成品输入/物理/动画/计分全齐做真物理平台跳跃2d/physics_platformer/RigidBody2D角色能骑怪、能压机关做角色寻路2d/navigation_astar/ 或 2d/navigation/前者是网格 A 星后者是导航网格NavigationRegion老电脑/浏览器里跑带Renderer: Compatibility标记的 2D Demo见 dodge_the_creeps/project.godot 里的renderer/rendering_methodgl_compatibility想要 3D 高画质3d/antialiasing/、3d/global_illumination/Forward 渲染器光照和抗锯齿效果最完整用 C# 写脚本mono/热门 Demo 都有对应 C# 版含.sln直接开 Visual Studio做音频互动audio/spectrum/、audio/rhythm_game/频谱可视化和节奏游戏都是音频引擎的典型应用多人联机networking/websocket_minimal/ 起步从最小 WebSocket 例子读起再进多人乒乓存档/多线程loading/运行时存读档、线程加载、序列化各有专项 Demo低配设备的判断口诀Demo 的 README 里写了Renderer:Compatibility 最省资源Mobile 居中Forward 最好看也最吃显卡。踩坑与常见问题版本不匹配打开就报错。Demo 跟着 Godot 分支走主分支对应最新的开发版稳定用户请切到与你编辑器同版本的分支例如 4.5、4.6。每个 Demo 的project.godot里config/features标着它期望的大版本对不上就别硬开。项目列表里一个 Demo 都不见。别逐个双击project.godot在项目管理器点Scan再选中仓库根目录一次性扫描全部子项目。扫完点任意一个 Demo 的图标进编辑器即可。按键没反应小人不动。输入映射写在各 Demo 的project.godot的[input]段里方向键、WASD、手柄摇杆一般已配好。你在别处改过全局输入或者用了不同语言键盘布局就在编辑器项目 → 项目设置 → 输入映射里重新绑一遍。改数值没效果 / 效果太猛。先确认你改的是不是export变量在 Inspector 里的值而不是脚本里的常量再检查单位——2D 速度是像素/秒3D 是米/秒同一个数字差 10 倍很正常。渲染效果在浏览器里卡顿。部分 Demo 有网页导出版但官方 README 明确说浏览器性能低于原生。本地装一个对应版本的 Godot 编辑器运行是最快的验证方式。下一步怎么走先把dodge_the_creeps和squash_the_creeps各改出一处自己的效果换个速度、换个出生方式这一步做完你就具备了读任何官方 Demo 的底气。之后按本文的选型表挑一个专题深入把 2d/ 和 3d/ 当成随身的样例库写自己的游戏时遇到什么就去翻对应 Demo。重要路径清单项目总说明README.md2D Demo 目录2d/3D Demo 目录3d/C# 版本 Demomono/音频 Demoaudio/联机 Demonetworking/贡献指南CONTRIBUTING.md许可证LICENSE.md【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projects创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考