Agent Skills
返回列表
💻

Godot 3D 场景基础

开发编程 更新于 2026.08.30

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

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

技能介绍

要解决什么问题

在 Godot 4.x 里新建或修补 3D 场景时,常见问题不是「缺模型」,而是场景能跑却全黑、视口里没有当前相机、父子节点局部/全局变换混用导致位移诡异,或是 GridMap 配了却一格都铺不出来。本技能面向 Godot 4.3+,把「能看的、能搭关卡的 3D 场景」拆成可执行的检查清单:变换、相机、光照、环境/后处理、材质与 GridMap 白盒。

技能如何组织工作流

核心约定是:一切 3D 对象都是带 Transform3D 的 Node3D。移动用 global_position,绕 Y 轴转用 rotate_y,对准目标用 look_at(注意 from/up 退化会出 NaN)。

典型步骤包括:

  • 放置 Camera3D,设 current 或 make_current(),并配置 fov / near / far;跟拍相机可挂在 rig/pivot 上。
  • 打光:DirectionalLight3D 当日光,OmniLight3D / SpotLight3D 作局部光,按需开阴影;无光且无环境时表面会黑。
  • 挂 WorldEnvironment,用 Environment 管天空/背景、环境光、tonemap 与 glow、SSAO、雾等后处理。
  • 在 MeshInstance3D 上赋 StandardMaterial3D 或 ShaderMaterial。
  • 用 GridMap + MeshLibrary 在网格上铺关卡块(类似 2D TileMap 的 3D 版)。

技能内还给出跟拍相机、代码里搭太阳与环境、代码赋材质、向 GridMap 填格等模式示例,并指向 references/scene-and-environment.md 查 Transform、投影、阴影与 GI 等细节。

适用边界与常见坑

  • 不要用它写空间着色器 → 用 godot-shaders;3D 物理与射线 → godot-physics;角色动画混合 → godot-animation;完整 FPS 模板 → fps-shooter 类技能。
  • 非均匀缩放父 Node3D 会扭曲子碰撞与灯光,优先缩放网格资源或保持均匀 scale。
  • HDR/glow 过曝时检查 tonemap_mode 与 glow 阈值;自发光在 filmic tonemap 下很容易炸 bloom。
  • GridMap 未绑定 MeshLibrary 不会放置任何格子;set_cell_item(cell, -1) 可清空单元格。

使用场景

  • 在 Godot 4.3+ 新建 3D 场景后视口全黑,需要按步骤补上 DirectionalLight3D 与带 ambient/sky 的 WorldEnvironment。
  • 做第三人称或跟随视角原型时,要配置当前 Camera3D 的 fov/near/far,并把相机挂到 rig 上实现平滑跟拍。
  • 关卡白盒阶段要用 GridMap 绑定 MeshLibrary,在 3D 网格上铺块并清空指定格子,而不是逐个手摆 MeshInstance。
  • 场景发灰或过曝时,需要检查 Environment 的 tonemap、glow 阈值,并在 MeshInstance3D 上正确赋 StandardMaterial3D 或 ShaderMaterial。

适合人员

  • 用 Godot 4 做 3D 玩法原型、刚遇到「有模型却全黑」却不知道相机与环境缺哪一项的独立开发者
  • 从 2D/UI 项目转到 Godot、第一次要搭室外光照、天空与基础后处理环境的游戏学习者
  • 负责关卡构图与白盒、需要在引擎里用 GridMap 快速铺关卡块而非只导入成品场景的技术策划
  • 维护 Godot 4 三维场景、常因父子节点下混用 position 与 global_position 导致 look_at 或位移异常的后端向游戏程序员