From summer
Sets up 3D scene lighting and environment: directional/omni/spot lights, WorldEnvironment, sky, and shadows. Uses Godot 4.5 conventions and Summer Engine tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/summer:3d-lighting**/*.tscn**/*.tresThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up lighting and environment for 3D scenes. Follow these patterns for outdoor and indoor setups.
Set up lighting and environment for 3D scenes. Follow these patterns for outdoor and indoor setups.
| Type | Use case |
|---|---|
| DirectionalLight3D | Sun, moon, outdoor primary light |
| OmniLight3D | Point lights (lamps, torches) |
| SpotLight3D | Flashlights, stage lights |
summer_add_node(parent="./World", type="DirectionalLight3D", name="Sun")
summer_set_prop(path="./World/Sun", key="rotation_degrees", value="Vector3(-45, 30, 0)")
summer_set_prop(path="./World/Sun", key="light_energy", value="1.0")
summer_set_prop(path="./World/Sun", key="shadow_enabled", value="true")
summer_set_prop(path="./World/Sun", key="light_color", value="Color(1, 0.95, 0.9, 1)")
Warm sunlight: Color(1, 0.95, 0.9, 1). Cool moonlight: Color(0.8, 0.85, 1, 1).
summer_add_node(parent="./World", type="WorldEnvironment", name="WorldEnvironment")
summer_set_prop(path="./World/WorldEnvironment", key="environment", value="Environment")
Then configure the Environment's sub-properties. The Environment resource has:
background_mode — 2 for sky, 1 for color, 3 for canvassky — Sky resource (ProceduralSkyMaterial or PhysicalSkyMaterial)ambient_light_source — AMBIENT_SOURCE_SKY or AMBIENT_SOURCE_COLORambient_light_colortonemap_modeFor a simple procedural sky:
summer_set_resource_property(nodePath="./World/WorldEnvironment", resourceProperty="environment", subProperty="background_mode", value="2")
You may need to create a Sky resource and assign it. In the editor this is done via the inspector; via MCP, SetResourceProperty on nested resources may require the resource to exist first. If environment is "Environment", the engine creates a default. For sky, you might set sky to "ProceduralSkyMaterial" or similar—check Godot docs for the exact property chain.
Simpler path: Use the 3d-basic template which already has a sky. Copy that structure.
A second, weaker directional or omni for shadow fill:
summer_add_node(parent="./World", type="DirectionalLight3D", name="FillLight")
summer_set_prop(path="./World/FillLight", key="rotation_degrees", value="Vector3(-30, -120, 0)")
summer_set_prop(path="./World/FillLight", key="light_energy", value="0.3")
summer_set_prop(path="./World/FillLight", key="shadow_enabled", value="false")
summer_set_prop(path="./World/FillLight", key="light_color", value="Color(0.7, 0.8, 1, 1)")
summer_add_node(parent="./World", type="OmniLight3D", name="Lamp")
summer_set_prop(path="./World/Lamp", key="position", value="Vector3(2, 3, 2)")
summer_set_prop(path="./World/Lamp", key="light_energy", value="0.8")
summer_set_prop(path="./World/Lamp", key="light_color", value="Color(1, 0.9, 0.7, 1)")
summer_set_prop(path="./World/Lamp", key="omni_range", value="8")
| Property | Type | Example |
|---|---|---|
| light_energy | float | 1.0, 1.5 |
| light_color | Color | "Color(1, 0.95, 0.9, 1)" |
| shadow_enabled | bool | true |
| rotation_degrees | Vector3 | "Vector3(-45, 30, 0)" |
| position | Vector3 | "Vector3(0, 10, 0)" |
| omni_range | float | 10 (OmniLight3D) |
| spot_range | float | 10 (SpotLight3D) |
| spot_angle | float | 45 (degrees, SpotLight3D) |
Always use Color(r, g, b, a) with values 0.0–1.0:
Color(1, 0.95, 0.9, 1)Color(0.9, 0.95, 1, 1)Color(1, 0.6, 0.2, 1)Color(0.5, 1, 0.5, 1).tscn directly)If Summer MCP isn't connected, append the lighting block to your scene file:
[node name="Sun" type="DirectionalLight3D" parent="World"]
transform = Transform3D(0.866, 0, -0.5, 0.354, 0.707, 0.612, 0.354, -0.707, 0.612, 0, 0, 0)
light_color = Color(1, 0.95, 0.9, 1)
light_energy = 1.0
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="World"]
Then create Environment and Sky resources via the inspector or load from .tres.
This skill mutates the scene (adds lights + WorldEnvironment + tunes Environment sub-properties). Always ask before applying: "May I add a DirectionalLight3D Sun with shadows + a WorldEnvironment with a procedural sky?". See ../../references/collaborative-protocol.md.
npx claudepluginhub summerengine/summer-engine-agent --plugin summerCovers Three.js lighting types (Ambient, Hemisphere, Directional, Point, Spot, RectArea), shadow configuration, environment lighting, and performance optimization for scene readability and realism.
Provides Godot 4.3+ 3D essentials: coordinate system, core nodes (Node3D, MeshInstance3D, lights, WorldEnvironment, Decal), materials (StandardMaterial3D, ORMMaterial3D, ShaderMaterial), lighting, environment, fog, LOD, occlusion culling, decals. GDScript and C# examples.
Composes Godot 3D scenes with sound Node3D structure, cameras, physics bodies, environment ownership, and 3D performance patterns.