godot-3d-essentials — скилл для Claude Code: сцены, камеры, свет
Скилл для быстрой сборки 3D-сцен в Godot 4.7: размещение камер, источников света, окружения и материалов. Пригодится, если вы строите 3D-уровни или настраиваете освещение и постобработку.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a claude-codeЧто делает godot-3d-essentials
Скилл даёт готовые паттерны для Node3D, Camera3D, DirectionalLight3D, OmniLight3D, WorldEnvironment с пост-эффектами и GridMap для блокаутов уровней. Внутри примеры кода: следящая камера, создание солнца и окружения, назначение материалов, расстановка тайлов на сетке.
Основной поток: каждый объект в 3D — это Node3D с Transform3D; камеру нужно установить как текущую (current = true или make_current()); без источников света и ambient сцена останется чёрной; GridMap требует MeshLibrary для расстановки тайлов. Скилл покрывает именно эту базу — сцены, освещение, окружение, материалы.
Ограничение: для пространственных шейдеров используй godot-shaders, для физики и лучей — godot-physics, для анимации персонажей — godot-animation. Скилл требует Godot 4.7 и работает со встроенными ресурсами .tscn.
Какие задачи решает
- Собрать 3D-сцену с камерой, освещением и окружением
- Настроить DirectionalLight3D, OmniLight3D и постобработку в WorldEnvironment
- Применить материал StandardMaterial3D к MeshInstance3D
- Создать следящую камеру для третьего лица
- Расставить тайлы GridMap по сетке координат
Примеры запросов агенту
- Создай 3D-сцену Godot 4.7 с камерой, солнцем и небом
- Помоги мне расставить GridMap тайлы на уровне
- Напиши код для следящей камеры с плавным движением
Как установить godot-3d-essentials
1Через Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a claude-code2Вручную: положить файлы
~/.claude/skills/godot-3d-essentials/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/godot-3d-essentials/
1Через Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a codex2Вручную: положить файлы
.agents/skills/godot-3d-essentials/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a cursor2Вручную: положить файлы
.cursor/skills/godot-3d-essentials/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-3d-essentials2Вручную: положить файлы
.github/skills/godot-3d-essentials/SKILL.md1Через Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a gemini-cli2Командой платформы
gemini skills install https://github.com/gamedev-skills/awesome-gamedev-agent-skills --path skills/godot/godot-3d-essentialsВручную: положить файлы
.devin/skills/godot-3d-essentials/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора40
Весь набор →Похожие
Вопросы о godot-3d-essentials
Как установить godot-3d-essentials в Claude Code?
Выполни npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a claude-code, затем npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-3d-essentials -a claude-code, и проверь ~/.claude/skills/godot-3d-essentials/SKILL.md.
Что делает godot-3d-essentials?
Предоставляет паттерны и примеры кода для сборки 3D-сцен в Godot 4.7: размещение камер, источников света, настройка окружения и постобработки, назначение материалов, расстановка тайлов GridMap.
Какие требования для работы скилла?
Нужен проект Godot 4.7 со сценами .tscn. Для GridMap понадобится создать или загрузить MeshLibrary. Для постобработки требуется WorldEnvironment с Environment ресурсом.
Исходный текст
SKILL.md · Apache-2.0
---
name: godot-3d-essentials
description: >
Set up a Godot 4.7 3D scene: Node3D transforms, Camera3D, lighting
(DirectionalLight3D/OmniLight3D), WorldEnvironment for sky/ambient/tonemap/post,
MeshInstance3D materials, and GridMap for tile-based 3D levels. Use when building
a 3D scene in a Godot project, placing cameras/lights, configuring environment and
post-processing, or working with Node3D/.tscn 3D content and GridMap.
---
# Godot 3D Essentials (4.x)
Assemble a working 3D scene: transforms, camera, lights, environment/post, materials, and
`GridMap` blockouts. Targets **Godot 4.7**.
## When to use
- Use when starting or fixing a 3D scene: positioning a `Camera3D`, adding lights, setting
up a `WorldEnvironment` (sky, ambient, tonemap, glow/SSAO), assigning materials, or
building levels with `GridMap`.
**When *not* to use:** writing spatial shaders → `godot-shaders`; 3D physics bodies and
raycasts → `godot-physics`; character animation blending → `godot-animation`; full FPS
template → the `fps-shooter` genre skill.
## Core workflow
1. **Everything 3D is a `Node3D`** with a `Transform3D` (position, rotation basis, scale).
Move with `global_position`, rotate with `rotate_y(angle)` or `look_at(target)`.
2. **Add a `Camera3D`.** Mark it `current` (or call `make_current()`); set `fov`, `near`,
`far`. Parent it to a rig/pivot for orbit or follow cameras.
3. **Light the scene.** A `DirectionalLight3D` is the sun; `OmniLight3D`/`SpotLight3D` are
local; `AreaLight3D` (4.7+) is a rectangular panel light that costs more than omni/spot.
Enable shadows per light. Without lights and ambient, surfaces render black.
4. **Add a `WorldEnvironment`** with an `Environment` resource: background (sky/color),
ambient light, tonemap, and post (glow, SSAO, fog, adjustments).
5. **Give meshes materials** (`StandardMaterial3D` or a `ShaderMaterial`) on
`MeshInstance3D`.
6. **Block out levels with `GridMap`**, which places `MeshLibrary` items on a 3D grid
(the 3D analog of a tilemap).
## Patterns
### 1. A follow camera (third-person, smoothed)
```gdscript
extends Camera3D
@export var target: Node3D
@export var offset := Vector3(0, 4, 8)
@export var smooth := 6.0
func _physics_process(delta: float) -> void:
if target == null:
return
var desired := target.global_position + offset
global_position = global_position.lerp(desired, smooth * delta) # smooth follow
look_at(target.global_position, Vector3.UP) # face the target
```
### 2. Sun + environment in code
```gdscript
func _ready() -> void:
var sun := DirectionalLight3D.new()
sun.rotation_degrees = Vector3(-45, -30, 0)
sun.shadow_enabled = true
add_child(sun)
var we := WorldEnvironment.new()
var env := Environment.new()
env.background_mode = Environment.BG_SKY
env.sky = Sky.new()
env.sky.sky_material = ProceduralSkyMaterial.new()
env.ambient_light_source = Environment.AMBIENT_SOURCE_SKY
env.tonemap_mode = Environment.TONE_MAPPER_FILMIC
env.glow_enabled = true
we.environment = env
add_child(we)
```
### 3. Assign a StandardMaterial3D from code
```gdscript
func tint_mesh(mesh: MeshInstance3D, color: Color) -> void:
var mat := StandardMaterial3D.new()
mat.albedo_color = color
mat.metallic = 0.0
mat.roughness = 0.6
mat.emission_enabled = true
mat.emission = color * 0.3
mesh.material_override = mat # overrides the mesh's surface materials
```
### 4. Place tiles into a GridMap
```gdscript
@onready var grid: GridMap = $GridMap # cell_size + mesh_library set in the editor
func build_floor(width: int, depth: int, item_id: int) -> void:
for x in width:
for z in depth:
# set_cell_item(Vector3i cell, int item, orientation = 0)
grid.set_cell_item(Vector3i(x, 0, z), item_id)
```
## Pitfalls
- **Scene renders black** → no lights and no ambient. Add a `DirectionalLight3D` and/or a
`WorldEnvironment` with ambient/sky. New scenes have neither by default.
- **No camera / wrong camera.** If nothing shows, no `Camera3D` is `current`. Set
`current = true` or `make_current()`; only one camera renders per viewport.
- **Confusing local vs global transforms.** `position`/`rotation` are relative to the
parent; `global_position`/`global_transform` are world space. Mixing them under a rotated
parent gives surprising results. `look_at` uses global coordinates.
- **Scaling physics/lights.** Non-uniform `scale` on a `Node3D` distorts child collisions
and lights; prefer scaling the mesh asset or using uniform scale.
- **`look_at` does nothing and prints an error** → the target equals the node's position, the
`up` vector is parallel to the look direction (e.g. looking straight down with
`Vector3.UP`), or the node is not in the tree yet. Keep an offset, pass a different `up`, or
use `look_at_from_position()` before the node enters the tree.
- **GridMap with no `MeshLibrary`** places nothing. Create a `MeshLibrary` (from scenes)
and assign it; `set_cell_item(cell, -1)` clears a cell.
- **HDR/glow too strong** → check `tonemap_mode` and glow thresholds; raw emissive values
bloom hard under filmic tonemapping.
## References
- For Transform3D math, camera projection modes, light/shadow params, the full
Environment/post-processing options, `MeshLibrary` creation, and `ReflectionProbe`/
`LightmapGI` lighting, read `references/scene-and-environment.md`.
## Related skills
- `godot-physics` — 3D bodies, areas, and raycasts.
- `godot-shaders` — spatial shaders for custom 3D surfaces.
- `godot-animation` — `AnimationTree` for 3D characters.
- `camera-systems` — third-person orbit / first-person look rigs, framing, and collision.
- `performance-optimization` — keep 3D scenes within frame budget (draw calls, lights, LOD).
- `fps-shooter` — composes 3D movement, input, and AI into a game.
© gamedev-skills · Apache-2.0 · gamedev-skills/awesome-gamedev-agent-skills