godot-demo-projects:40个直接能跑的开源Demo,带你上手Godot游戏开发
godot-demo-projects40个直接能跑的开源Demo带你上手Godot游戏开发【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projectsgodot-demo-projects 是 Godot 演示项目合集收录 40 多个开箱即跑的开源 Demo覆盖 2D、3D、网络、音频等场景。它适合零 Godot 基础的开发者照着官方思路写游戏每个 Demo 都是独立项目指向目录就能运行。仓库全景10秒扫一遍仓库按主题切分顶层目录就是分类先看这张表再进去逛目录Demo 类型2d/角色移动、导航寻路、状态机、平台跳跃等 20 多个 2D 样例3d/3D 角色、粒子、灯光阴影、物理等 20 多个 3D 样例mono/pong、dodge_the_creeps 等经典 Demo 的 C# 版本networking/多人 pong、websocket 聊天、webrtcgui/、audio/UI 交互、字体、音效与合成loading/、mobile/存档加载、线程加载、移动端输入先 clone 下来git clone https://gitcode.com/GitHub_Trending/go/godot-demo-projects。每个 Demo 目录都有自己的project.godot所以你不需要合并任何工程编辑器打开哪个目录就能跑哪个。先让角色动起来玩家输入怎么写第一关永远是角色听我的话。这些 Demo 的数据流高度统一输入事件 → 改 velocity → 调move_and_slide()交给物理引擎。5分钟控制一个Pong挡板先选最轻量的例子。2d/pong/的挡板就是一个Area2D控制逻辑只有几行。挡板脚本每帧读取上下输入的强度差值按帧移动位置并用clamp挡住屏幕边缘extends Area2D const MOVE_SPEED : 100.0 func _process(delta): var input : Input.get_action_strength(left_move_down) - Input.get_action_strength(left_move_up) position.y clamp(position.y input * MOVE_SPEED * delta, 16, get_viewport_rect().size.y - 16)坑在输入函数上get_action_strength返回 0~1 的模拟值换成is_action_pressed就变成 0/1 布尔挡板移动会失去手感。Godot 2D 角色移动三行代码要会走路跳跃的角色看2d/kinematic_character/。玩家是CharacterBody2D水平移动、重力、跳跃全在一个_physics_process里完成。脚本干三件事读左右输入改水平速度、重力累积垂直速度、最后调一次move_and_slide()落地extends CharacterBody2D const WALK_FORCE : 600 const WALK_MAX_SPEED : 200 const JUMP_SPEED : 200 func _physics_process(delta): var walk : WALK_FORCE * Input.get_axis(move_left, move_right) velocity.x clamp(velocity.x walk * delta, -WALK_MAX_SPEED, WALK_MAX_SPEED) velocity.y get_gravity().y * delta move_and_slide() if is_on_floor() and Input.is_action_just_pressed(jump): velocity.y -JUMP_SPEED最容易踩的坑是把跳跃判断放在move_and_slide()之前。位移还没结算is_on_floor()的结果不可靠角色会漏跳或空中跳。让角色自己绕过障碍角色能走了下一步是让它自己绕开障碍。导航系统替你算好路线你只负责沿路线走。2D 导航寻路两步设好2d/navigation/的 Demo 里角色会绕开障碍走向鼠标点击处。设置就两步地图上放带NavigationPolygon资源的NavigationRegion2D角色身上挂NavigationAgent2D。脚本只做两件事点击时把鼠标位置写进 agent 的 target物理帧里沿着 agent 算出的路径点走extends CharacterBody2D var movement_speed : 200.0 onready var navigation_agent: NavigationAgent2D $NavigationAgent2D func _unhandled_input(event): if event.is_action_pressed(click): navigation_agent.target_position get_global_mouse_position() func _physics_process(_delta): if navigation_agent.is_navigation_finished(): return velocity global_position.direction_to(navigation_agent.get_next_path_position()) * movement_speed move_and_slide()最常见的故障是角色不动十有八九是NavigationPolygon没生成或改地图后没重新生成。把 agent 的debug_enabled打开路径点有没有算出来一目了然。3D 角色的前进方向跟着相机走到 3D前进不再是固定坐标轴而是相对相机的方向。3d/kinematic_character/用CharacterBody3D处理先把输入向量乘相机基变换再施加到速度上。精简后的关键段如下方向旋转是核心两行extends CharacterBody3D const MAX_SPEED : 3.5 const JUMP_SPEED : 6.5 func _physics_process(delta): var dir : Vector3(Input.get_axis(move_left, move_right), 0, Input.get_axis(move_forward, move_back)) dir $Target/Camera3D.global_transform.basis * dir velocity get_gravity() * delta velocity.x dir.x * MAX_SPEED velocity.z dir.z * MAX_SPEED move_and_slide() if is_on_floor() and Input.is_action_pressed(jump): velocity.y JUMP_SPEED坑有两处不乘相机基变换转视角按 W 会横着走用脚本瞬移角色后记得调reset_physics_interpolation()不然角色会从旧位置飞到新位置。别让复杂角色失控状态机Demo移动、跳跃、攻击、受击叠在一起if-else就失控了。2d/finite_state_machine/给出标准答案把每种行为拆成独立状态脚本交给状态机统一调度。把角色行为拆成状态player/states/下每个状态都是一个脚本idle、move、jump、attack、stagger。状态机基类只干三件事转发输入、转发物理帧、监听状态结束信号。调度逻辑在state_machine.gd核心段如下注意它维护了一个状态栈func _unhandled_input(event): current_state.handle_input(event) func _physics_process(delta): current_state.update(delta) func _change_state(state_name): if state_name previous: states_stack.pop_front() else: states_stack[0] states_map[state_name] current_state states_stack[0] state_changed.emit(current_state)值得学的是previous约定状态结束可以弹回栈里上一个状态攻击结束后自动回到移动状态不用为每对行为写转换表。抄这个 Demo 最容易犯的错是把状态逻辑写回玩家主脚本里——一写回去整个机制就退化成 if-else。按问题挑Demo不知道从哪下手按你要解决的问题对号入座Demo需要加的节点上手难度适合的项目类型调参频率pong 挡板Area2D低休闲、UI 交互练习低2D 角色CharacterBody2D低平台、俯视角动作中力与速度2D 导航NavigationAgent2D中自动跟随、寻路低状态机多个状态脚本较高多行为复杂角色高状态转换进阶与避坑Demo 之间互相独立动手前先看它属于哪个project.godot输入映射、自动加载、渲染器设置可能各不相同。移动逻辑放_physics_processmove_and_slide()和is_on_floor()只在物理帧有意义写进_process是角色抖动的头号原因。跳跃用Input.is_action_just_pressed换成is_action_pressed会变成持续跳跃手感全毁。3D Demo 注意渲染器复杂光照的用 Forward低配机器在 Project Settings 里切到 Compatibility 再跑。习惯 C# 的去mono/目录pong 等 Demo 与 GDScript 版结构一一对应需要 .NET 版 Godot 编辑器。别直接改 Demo 写自己的游戏把相关目录整个拷出去当骨架否则工程设置会和 Demo 的混在一起。下一步建议具体到动作先跑通2d/pong/再打开2d/kinematic_character/把WALK_MAX_SPEED改成 300 看角色跑得多快然后依次看2d/navigation/和2d/finite_state_machine/。这四个 Demo 能改明白再去3d/目录就不慌了。完整目录清单在各层README.md里都有仓库根目录那份最值得先读。【免费下载链接】godot-demo-projectsDemonstration and Template Projects项目地址: https://gitcode.com/GitHub_Trending/go/godot-demo-projects创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

npx一条命令搞定:Agentic Awesome Skills在10+主流AI编码工具中安装实操(附全平台对照表)

npx一条命令搞定:Agentic Awesome Skills在10+主流AI编码工具中安装实操(附全平台对照表)

npx一条命令搞定:Agentic Awesome Skills在10主流AI编码工具中安装实操(附全平台对照表) 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selectio…

2026/9/18 20:44:28 阅读更多 →
Camunda Platform REST API OpenAPI 文档自动生成:基于 FreeMarker 模板的 openapi.json 构建体系

Camunda Platform REST API OpenAPI 文档自动生成:基于 FreeMarker 模板的 openapi.json 构建体系

Camunda Platform REST API OpenAPI 文档自动生成:基于 FreeMarker 模板的 openapi.json 构建体系 【免费下载链接】camunda-bpm-platform Camunda 7 CE is End of Life (EoL). Please check out Camunda 8 instead (https://github.com/camunda/camunda) or read a…

2026/9/18 20:44:28 阅读更多 →
2D/3D相机手眼标定全解析:原理、步骤与排查实战

2D/3D相机手眼标定全解析:原理、步骤与排查实战

做了四五个视觉引导项目,从2D相机到3D相机都碰了一遍,回头再看手眼标定这件事,真的值得好好写一篇总结。不管是刚入门的新手,还是已经踩过不少坑的老手,手眼标定都是视觉定位项目里绕不开的坎。很多人觉得标定就是跑个…

2026/9/18 20:43:28 阅读更多 →

最新新闻

论文生成软件怎么选?DeepSeek V3.5 的模型通道改到 TaoToken

论文生成软件怎么选?DeepSeek V3.5 的模型通道改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 22:30:42 阅读更多 →
BERT模型原理与实战:从NLP基础到应用优化

BERT模型原理与实战:从NLP基础到应用优化

1. 项目概述今天咱们来聊聊自然语言处理(NLP)这个让机器"读懂"人类语言的神奇领域,特别是近年来大火的BERT模型。作为一名在NLP领域摸爬滚打多年的从业者,我见证了从传统机器学习方法到深度学习,再到Transformer架构的革命性突破。…

2026/9/18 22:30:42 阅读更多 →
2026毕业AI论文工具红黑榜|实测避雷!别再乱用工具挂科

2026毕业AI论文工具红黑榜|实测避雷!别再乱用工具挂科

2026年高校论文重复率AIGC双重审核全面落地,很多同学论文查重合格,却因为AI痕迹超标、文献造假、格式不规范直接退回重写。市面上AI论文工具五花八门,通用AI、国外科研工具、单一查重工具各有短板,盲目使用只会耽误毕业进度。今天…

2026/9/18 22:30:42 阅读更多 →
实时数字人从零跑通:LiveTalking 用 Wav2Lip 口型模型完成首推流的完整路径

实时数字人从零跑通:LiveTalking 用 Wav2Lip 口型模型完成首推流的完整路径

实时数字人从零跑通:LiveTalking 用 Wav2Lip 口型模型完成首推流的完整路径 【免费下载链接】metahuman-stream Real time interactive streaming digital human 项目地址: https://gitcode.com/GitHub_Trending/me/metahuman-stream 部署流式数字人&#xf…

2026/9/18 22:30:42 阅读更多 →
react-hook-form 快速上手与验证机制全解析:安装、register 注册、handleSubmit 提交与内置校验规则实战指南

react-hook-form 快速上手与验证机制全解析:安装、register 注册、handleSubmit 提交与内置校验规则实战指南

react-hook-form 快速上手与验证机制全解析:安装、register 注册、handleSubmit 提交与内置校验规则实战指南 【免费下载链接】react-hook-form 📋 React Hooks for form state management and validation (Web React Native) 项目地址: https://gitc…

2026/9/18 22:30:42 阅读更多 →
Security-101 基础设施安全核心概念:安全卫生、安全态势管理、补丁管理与容器安全实践

Security-101 基础设施安全核心概念:安全卫生、安全态势管理、补丁管理与容器安全实践

Security-101 基础设施安全核心概念:安全卫生、安全态势管理、补丁管理与容器安全实践 【免费下载链接】Security-101 8 Lessons, Kick-start Your Cybersecurity Learning. 项目地址: https://gitcode.com/GitHub_Trending/se/Security-101 课程定位&#xf…

2026/9/18 22:29:41 阅读更多 →

日新闻

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

很多朋友第一次看到"逻辑回归"这四个字,第一反应就是——这玩意儿是个回归模型吧?我当年也是在Matlab里跑完一段代码,看着输出的0.73、0.86这种概率值,才回过神来:这家伙其实是披着回归外衣的分类神器&#…

2026/9/18 0:00:28 阅读更多 →
高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

简介:这份报告是2023-2028年高值医用耗材行业调研及发展前景趋势预测报告,面向医疗器械企业管理者、投资机构、行业研究人员及关注政策变化的从业者,用于把握行业监管动向、市场格局与未来趋势。报告以PDF格式呈现,共1个文件、整体…

2026/9/18 0:00:28 阅读更多 →
三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

先把我自己的背景交代一下:我之前在搞具身智能和机器人导航相关的项目,很长一段时间里都被“环境表示”这件事卡着。传统做法是用点云或者网格做几何建模,语义信息另外再跑分割模型,两套东西各管各的,时间一长就会发现…

2026/9/18 0:00:28 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →