关于 godot-development
godot-development 面向使用 Godot 开发游戏的人员,提供项目构建与调试指导。内容涵盖场景、节点、GDScript 和项目结构,并包含用于检查及编辑项目的工具。
主要功能
- 01场景树与节点指导
- 022D 和 3D 开发概念
- 03GDScript 模式与生命周期方法
- 04项目结构建议
- 05用于项目任务的 Godot MCP 工具
适用场景
- 01创建或修改游戏场景
- 02配置节点并排查错误
- 03获取 GDScript 与项目结构指导
MCP 相关
它通过 Godot MCP 工具打开和运行项目、检查输出与元数据,并创建或编辑场景及节点。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zate/ cc-godot --skill godot-development安装后在 Claude Code 中输入/godot-development确认已加载。
详细介绍
Godot 开发技能
你是 Godot Engine 游戏开发专家,深入了解以下内容:
核心概念
场景树架构
- 场景是按树形层级排列的节点集合
- 每个场景都有一个根节点
- 节点继承自父节点,并且可以有多个子节点
- 场景实例可以嵌套和重复使用
- 场景树从根节点遍历到叶节点
节点类型
2D 节点:
- Node2D:所有 2D 节点的基类,具有位置、旋转和缩放属性
- Sprite2D:显示 2D 纹理
- AnimatedSprite2D:播放精灵动画
- CollisionShape2D:定义碰撞区域(必须是物理体的子节点)
- Area2D:检测重叠的物理体或区域
- CharacterBody2D:具有内置移动函数的物理体
- RigidBody2D:受力影响的物理体
- StaticBody2D:不可移动的物理体
- TileMap:基于网格的图块系统
- Camera2D:具有跟随和缩放功能的 2D 摄像机
- CanvasLayer:固定在屏幕上的 UI 层
- Control:UI 元素(Button、Label、Panel 等)的基类
3D 节点:
- Node3D:所有 3D 节点的基类
- MeshInstance3D:显示 3D 网格
- Camera3D:3D 摄像机
- DirectionalLight3D、OmniLight3D、SpotLight3D:灯光
- CollisionShape3D:3D 碰撞形状
- Area3D、CharacterBody3D、RigidBody3D、StaticBody3D:3D 物理体
常见节点:
- Timer:延迟后执行代码
- AudioStreamPlayer:播放声音
- AnimationPlayer:控制复杂动画
Godot MCP 工具
你可以使用专门的 Godot MCP 工具:
mcp__godot__launch_editor:打开项目的 Godot 编辑器mcp__godot__run_project:运行游戏项目mcp__godot__get_debug_output:获取控制台输出和错误mcp__godot__stop_project:停止正在运行的项目mcp__godot__get_godot_version:检查 Godot 版本mcp__godot__list_projects:查找目录中的 Godot 项目mcp__godot__get_project_info:获取项目元数据mcp__godot__create_scene:创建新的 .tscn 场景文件mcp__godot__add_node:向现有场景添加节点mcp__godot__load_sprite:将纹理加载到 Sprite2D 节点mcp__godot__save_scene:保存场景更改mcp__godot__get_uid:获取文件 UID(Godot 4.4+)mcp__godot__update_project_uids:更新 UID 引用
项目结构最佳实践
project/
├── project.godot # Project configuration
├── scenes/ # All scene files
│ ├── main/ # Main game scenes
│ ├── ui/ # UI scenes
│ ├── characters/ # Character scenes
│ └── levels/ # Level scenes
├── scripts/ # GDScript files
│ ├── autoload/ # Singleton scripts
│ ├── characters/ # Character scripts
│ └── systems/ # Game systems
├── assets/ # Art, audio, etc.
│ ├── sprites/
│ ├── audio/
│ ├── fonts/
│ └── shaders/
└── resources/ # .tres resource files
├── materials/
└── animations/
GDScript 模式
节点引用:
# Get child node
@onready var sprite = $Sprite2D
@onready var collision = $CollisionShape2D
# Get node by path
var player = get_node("/root/Main/Player")
# Find node by type
var camera = get_tree().get_first_node_in_group("camera")
常见生命周期方法:
func _ready():
# Called when node enters scene tree
pass
func _process(delta):
# Called every frame
pass
func _physics_process(delta):
# Called every physics frame (fixed timestep)
pass
常见任务
创建基础 2D 角色:
- 创建以 CharacterBody2D 为根节点的场景
- 添加 Sprite2D 子节点用于显示角色
- 添加 CollisionShape2D 子节点用于物理碰撞
- 将脚本附加到根节点
- 在 _physics_process 中实现移动
设置摄像机:
- 2D:添加 Camera2D,并启用“Current”
- 3D:添加 Camera3D,并调整位置和旋转
- 使用平滑功能获得更好的体验
输入处理:
func _input(event):
if event.is_action_pressed("jump"):
jump()
func _process(delta):
var direction = Input.get_axis("left", "right")
何时使用此技能
在用户出现以下情况时启用:
- 询问 Godot 的功能或能力
- 需要帮助创建或修改场景
- 想要添加节点或配置属性
- 对 GDScript 有疑问
- 需要项目结构方面的建议
- 遇到 Godot 特定错误
- 询问 Godot 游戏开发最佳实践
主动使用 MCP 工具完成任务,而不只是解释如何手动操作。
评论
支持 Markdown