Use when working with 2D-specific systems — TileMaps, parallax scrolling, 2D lights and shadows, canvas layers, particles 2D, custom drawing, and 2D meshes in Godot 4.3+
日本語の概要は準備中です。原文の説明を表示しています。
Use when working with 3D-specific systems — materials, lighting, shadows, environment, global illumination, fog, LOD, occlusion culling, and decals in Godot 4.3+
インストールする前に、エージェントに与えられる指示の中身を確認できます。
All examples target Godot 4.3+ with no deprecated APIs. GDScript is shown first, then C#.
Related skills: player-controller for CharacterBody3D movement, physics-system for 3D collision shapes and raycasting, camera-system for Camera3D follow and transitions, shader-basics for spatial shaders and post-processing, godot-optimization for 3D performance tuning, animation-system for AnimationTree and 3D animation blending.
Godot uses a right-handed coordinate system with metric units (1 unit = 1 meter):
| Axis | Direction | Color |
|---|---|---|
| X | Right | Red |
| Y | Up | Green |
| Z | Out of screen (+Z toward viewer) | Blue |
Cameras and lights point along -Z by default. When a character "faces forward," they look along -Z.
| Node | Purpose |
|---|---|
Node3D | Base transform node — position, rotation, scale |
MeshInstance3D | Displays a mesh with a material |
Camera3D | Required to render 3D — perspective or orthogonal |
DirectionalLight3D | Sun/moon — parallel rays, cheapest light |
OmniLight3D | Point light — emits in all directions |
SpotLight3D | Cone light — flashlights, spotlights |
WorldEnvironment | Sky, fog, tonemap, post-processing |
Decal | Projected texture onto surfaces |
GPUParticles3D | GPU-driven particle effects |
CSGBox3D etc. | Constructive Solid Geometry — prototyping |
GridMap | 3D tile-based level building |
Godot 4.7+:
GridMapexposes its internal octants for spatial queries (cell_octant_size,get_used_octants(),get_octants_in_bounds()and friends) so you can scope work to a region instead of walking every cell.CSGShape3Dgainsautosmooth/smoothing_anglefor automatic face smoothing. Full method table and semantics: references/godot-4.7-additions.md
World (Node3D)
├── Camera3D
├── DirectionalLight3D
├── WorldEnvironment
├── MeshInstance3D (floor)
└── MeshInstance3D (player model)
| Material | Use For | Notes |
|---|---|---|
StandardMaterial3D | Most 3D objects — PBR workflow | No code; Inspector-driven |
ORMMaterial3D | Same as Standard but with packed ORM texture | Occlusion+Roughness+Metallic in one texture |
ShaderMaterial | Custom effects — toon, water, dissolve | Requires spatial shader code |
The PBR core: albedo_color / albedo_texture (base color), metallic (0 dielectric → 1 metal), roughness (0 mirror → 1 matte), normal_map (surface detail), ao_texture (ambient occlusion). Add emission + emission_energy_multiplier for self-illumination, heightmap_texture for parallax, rim / clearcoat for material flair.
Prefer Alpha Scissor (fast, shadowed cutouts) or Alpha Hash (dithered — hair) over plain Alpha (slow, no shadows); Depth Pre-Pass suits mostly-opaque meshes with transparent edges.
See references/materials-and-lighting-recipes.md for the comparison table.
Create a StandardMaterial3D at runtime, assign to mesh.material_override, and drive emissive flashes via Tween. Use .duplicate() to make per-instance copies so changing one mesh's material doesn't affect others.
See references/materials-and-lighting-recipes.md for the full GDScript and C# recipes (basic material setup, emissive flash, per-instance duplicate, dynamic OmniLight3D explosion).
| Light | Shape | Shadows | Cost | Max Visible |
|---|---|---|---|---|
DirectionalLight3D | Parallel rays | PSSM | Cheapest | 8 (Forward+) |
OmniLight3D | Sphere | Cube/Dual Paraboloid | Medium | 512 clustered* |
SpotLight3D | Cone | Single texture | Cheap | 512 clustered* |
AreaLight3D (4.7+) | Rectangle | PCSS soft | Most expensive | — |
*Forward+ shares 512 clustered element slots among omni lights, spot lights, decals, and reflection probes.
Key knobs: light_color, light_energy (HDR — values >1 are valid), shadow_enabled (big perf hit), directional_shadow_mode, directional_shadow_max_distance (lower = sharper shadows).
See references/materials-and-lighting-recipes.md for the properties table and the GDScript + C# sun setup snippet.
AreaLight3D emits light from a rectangle along the node's -Z — neon tubes, screens, softbox panels — with PCSS soft shadows driven by light_size. Key properties: area_size = Vector2(1, 1) (meters), area_range = 5.0, area_attenuation = 1.0 (2.0 = physically accurate inverse square), area_normalize_energy = true (resizing keeps total output stable), optional area_texture for textured emission (Forward+/Mobile only). Mobile support is limited and Compatibility cannot cast area-light shadows; in Forward+, a single visible area light adds clustered-lighting cost to all rendered objects — reserve for cinematics or high-end targets.
See references/materials-and-lighting-recipes.md for the full property table and the GDScript + C# setup recipe.
Spawn an OmniLight3D at runtime, drive its energy with a tween, queue-free on completion. Common for explosions, muzzle flashes, magic effects.
See references/materials-and-lighting-recipes.md for the full GDScript and C# recipe.
Prefer shadow_normal_bias over shadow_bias against acne; keep directional_shadow_max_distance at the minimum needed (50–100 m typical). Bake modes: Disabled (fully real-time, default), Static (fully baked, no runtime cost), Dynamic (indirect baked, direct real-time).
See references/materials-and-lighting-recipes.md for the shadow-tuning table and the bake-modes table.
Configure global rendering — sky background, tonemapping, glow, SSR, SSAO/SSIL/SDFGI, depth-of-field — through a WorldEnvironment node holding an Environment resource. Pick a tonemap (Linear, Reinhard, Filmic, ACES, or AgX) on the Environment resource. Forward+ enables SSAO, SSIL, SSR, and SDFGI; the Mobile renderer omits them, and Compatibility has only SSAO (since 4.6).
See references/environment-and-post.md for the full setup recipes (sky options, tonemap modes, all post-processing effects, the 4.6+ glow blend and default changes, AgX
tonemap_agx_white/tonemap_agx_contrastcontrols, and the 4.6+ SSR quality upgrade).
Godot 4.7+:
display/window/hdr/request_hdr_output(defaultfalse, promoted to a basic project setting) requests HDR display output for the main window and editor where supported, auto-switching between HDR and SDR as screens or system settings change; it forcesViewport.use_hdr_2don for the main viewport (otherSubViewports must enable it themselves). Read only at startup — toggleWindow.hdr_output_requestedat runtime.
⚠️ Changed in Godot 4.7: The
rendering/reflections/sky_reflections/roughness_layersdefault is8again. Only 4.6.0 and 4.6.1 used7; the revert (GH-116154) shipped in 4.7 and was backported to 4.6.2. Only projects upgrading from 4.6.0 or 4.6.1 with the setting at its default see different sky reflections — set it to7to keep that look. See the 4.7 migration guide.
Five GI options trade quality for cost: none (ambient only) → ReflectionProbe (localized) → LightmapGI (best quality, baked) → VoxelGI (small/medium dynamic) → SDFGI (large open-world). VoxelGI/SDFGI/LightmapGI require Forward+. The 4.5+ subsections below (Specular Occlusion, Bent Normal Maps) stay inline because they apply across GI methods.
See references/global-illumination.md for the methods comparison table, ReflectionProbe scene + code recipe, LightmapGI bake workflow, and SDFGI configuration.
Godot 4.5+ dims indirect specular (sky, ReflectionProbe, GI reflections) by the brightness of the ambient light reaching each pixel, in all three renderers. This prevents unrealistically bright reflections in areas that receive little indirect light (under eaves, in crevices and corners). It is on by default and needs no re-bake: turn it off globally with rendering/reflections/specular_occlusion/enabled, or per shader with render_mode specular_occlusion_disabled.
Bent normal maps encode the mean unoccluded direction from each texel — the average direction toward open sky across the hemisphere. When assigned to the Bent Normal slot on StandardMaterial3D, Godot uses this information to improve indirect lighting directionality and specular occlusion accuracy. The result is more realistic ambient lighting on complex surfaces like cloth, carved stone, or organic shapes.
Inspector setup: In StandardMaterial3D, enable Bent Normal → assign your tangent-space bent normal texture (baked from Marmoset, Substance, or xNormal).
Most visible on: materials that combine low roughness or high metallic values with baked GI (LightmapGI / VoxelGI / SDFGI). On fully rough dielectric surfaces the benefit is subtler. Use on hero assets; skip on background geometry.
See references/materials-and-lighting-recipes.md for the runtime-assignment GDScript + C# code path (the Inspector setup above is the typical case).
Three layers: depth/height fog set on WorldEnvironment.environment (cheap, all renderers), volumetric fog (Forward+ only — godrays through depth), and FogVolume nodes for localized fog effects (interior rooms, pits, atmospheric volumes).
See references/fog-recipes.md for the full GDScript and C# recipes — depth/height fog setup, volumetric fog parameters and performance notes, and FogVolume placement.
⚠️ Changed in Godot 4.7: New project setting
rendering/environment/fog/use_legacy_blending(defaultfalse) restores the volumetric fog blending of Godot 4.5 and earlier (GH-119414; also on the 4.6 branch). The blending itself changed in 4.6, which made it more physically accurate, so fog tuned on 4.5 looks brighter after upgrading (GH-112494). Enable the setting to get the old look back exactly; otherwise lower the fog density or the lights' Volumetric Fog Energy.
Decal nodes project a texture onto whatever surfaces fall within their bounding box — bullet holes, blood splatter, ground details, signage. All renderers support decals; performance scales with overdraw and decal count.
See references/decals.md for the scene setup, runtime spawning recipe (GDScript + C#), and the per-renderer decal limits.
Four tools: automatic mesh LOD (set on import or per MeshInstance3D), manual VisibilityRange for staged swaps, occlusion culling via OccluderInstance3D, and MultiMeshInstance3D for thousands of identical meshes in one draw call.
See references/lod-and-culling.md for setup recipes for each tool plus the MultiMesh runtime population example.
Pick the renderer before you build the look: Forward+ (desktop default) is the only one with SDFGI and volumetric fog, Mobile trades those for performance on tile-based GPUs, and Compatibility (GLES3-class) drops most advanced lighting entirely. Advice that assumes SDFGI silently fails on the other two.
Full feature-by-renderer table and selection guidance: references/renderer-comparison.md
Quick symptom → cause → fix table covering black scenes, dark objects without ambient light, shadow acne and peter-panning, popping shadows, flat materials, invisible decals, transparency sorting artifacts, SDFGI light leaking, missing volumetric fog, and invisible MultiMesh instances.
See references/common-pitfalls.md for the full table.
shadow_normal_bias tuned to prevent acnedirectional_shadow_max_distance is set to the minimum needed (50–100m typical)rendering/reflections/specular_occlusion/enabled where reflections look too dimtonemap_agx_white and tonemap_agx_contrast are adjusted when using AgX tonemapper for precise look control (Godot 4.6+)use_legacy_blending) and sky reflections (roughness_layers differed in 4.6.0–4.6.1) are re-checkedまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when working with 2D-specific systems — TileMaps, parallax scrolling, 2D lights and shadows, canvas layers, particles 2D, custom drawing, and 2D meshes in Godot 4.3+
日本語の概要は準備中です。原文の説明を表示しています。
Use when building character abilities — Resource-based abilities with cost/cooldown/cast, buffs/debuffs, stat modifiers, gameplay tags, and HUD binding
日本語の概要は準備中です。原文の説明を表示しています。
Use when creating Godot editor plugins — EditorPlugin, @tool scripts, custom inspectors, and dock panels
日本語の概要は準備中です。原文の説明を表示しています。
Use when implementing AI movement — NavigationAgent2D/3D, steering behaviors, behavior trees, and patrol patterns
日本語の概要は準備中です。原文の説明を表示しています。
Use when implementing animations — AnimationPlayer, AnimationTree, blend trees, state machines, sprite animation, and code-driven animation
日本語の概要は準備中です。原文の説明を表示しています。
Use when importing and managing assets — image compression, 3D scene import, audio formats, resource formats, and import configuration
日本語の概要は準備中です。原文の説明を表示しています。