Agent Skills
返回列表
🤖

Godot 3D 场景基础

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/godot-3d-essentials-rweg。

技能介绍

要解决的问题

新建的 Godot 4.3+ 3D 场景常常是一团乱麻:场景树里没有相机,画面全黑;灯光忘了加,材质等于白设;GridMap 摆了半天格子里什么都没有。Godot3dessentials 把「从零拼出一个能渲染、能看、能摆关卡的 3D 场景」拆成一条可照做的主线,覆盖变换、相机、灯光、WorldEnvironment、材质与网格块体化。

技能如何工作

核心思路是一条六步流水线:

  • 一切 3D 都是 Node3D:靠 Transform3D(position / rotation basis / scale)定位,移动用 global_position,旋转用 rotate_y(angle) 或 look_at(target)。
  • 先放 Camera3D:标记 current(或调用 make_current()),设好 fov / near / far;要跟随或环绕就把它挂到 rig 父节点上。
  • 再补光:DirectionalLight3D 当太阳,OmniLight3D / SpotLight3D 做局部光源,逐个开阴影。
  • 接着上 WorldEnvironment:挂一个 Environment 资源,配背景(天空或纯色)、环境光、色调映射与后处理(glow、SSAO、雾、adjust)。
  • 给网格贴材质:在 MeshInstance3D 上用 StandardMaterial3D 或 ShaderMaterial。
  • 用 GridMap 块体化关卡:它相当于 3D 版 tilemap,在网格上投放 MeshLibrary 里的物件。

同时内置四种代码模式:第三人称平滑跟随相机、代码里搭太阳与环境、代码里赋值 StandardMaterial3D、向 GridMap 填格子。

适用边界与坑

它只负责「搭场景」,不越界:空间着色器交给 godot-shaders,3D 物理体与 raycast 交给 godot-physics,角色动画混合交给 godot-animation,完整 FPS 模板交给 fps-shooter。

几个高频踩坑:

  • 画面全黑:缺光又缺环境光。新场景默认两者都没有,必须加 DirectionalLight3D 和/或带 ambient/sky 的 WorldEnvironment。
  • 什么都不显示:没有当前相机。同一视口只有一个相机会渲染,记得 current = true。
  • 局部与全局变换混用:position 相对父节点,global_position 是世界空间;父节点有旋转时结果会很奇怪,而 look_at 用的是全局坐标。
  • 非等比缩放:会让子级碰撞体和灯光变形,优先缩放网格资产或保持等比。
  • look_at 忘了传 from/up:target 与自身位置重合、或 up 与视线平行,会产生 NaN 或翻转。
  • GridMap 没配 MeshLibrary:什么都不会放;set_cell_item(cell, -1) 可清格。
  • HDR/glow 过曝:检查 tonemap_mode 与 glow 阈值,filmic 下自发光值过大会糊成一片。

Transform3D 数学、相机投影模式、光照与阴影参数、完整的环境与后处理选项、MeshLibrary 创建、ReflectionProbe / LightmapGI 等细节见 references 文档。

使用场景

  • 刚创建 Godot 4.3 项目,场景树里只有 MeshInstance3D,需要快速补齐相机、灯光和环境才能看到渲染结果。
  • 第三人称 3D 游戏原型运行时相机跟不上角色,需要在代码里实现一个平滑跟随的 rig 相机。
  • 关卡白盒阶段,想用 GridMap 按网格投放墙壁和地板模块,但不清楚如何创建并关联 MeshLibrary。
  • 角色材质在编辑器预览中显示为黑色,需要排查是否缺少 DirectionalLight3D 和 WorldEnvironment 设置。

适合人员

  • 使用 Godot 4.x 开发 3D 独立游戏的个人开发者,需要在没有后端或工具链团队支持下独自完成场景搭建。
  • 刚从 Unity 或 Unreal 迁移到 Godot 的客户端工程师,熟悉 3D 概念但需要快速对齐 Godot 4.3 的节点与资源 API。
  • 负责关卡白盒和原型搭建的关卡设计师,希望用 GridMap 快速放置模块而不深入底层图形 API。
  • 正在学习 Godot 3D 开发的学生或自学者,需要一个按步骤拆解的渲染管线清单来避免常见黑屏错误。