3d Four Seasons
Meng ToCommunityCreated by Meng To
- Skill
- Guidelines
- Design and creative
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a framework for creating coordinated seasonal states—spring, summer, fall, and winter—within a single 3D scene. By using a weighted blending system, developers can transition between seasons without rebuilding the environment or recompiling shaders. The approach emphasizes maintaining a consistent camera state and interaction model while dynamically updating foliage, lighting, atmospheric effects, and material properties like snow coverage.
What it does
- Defines a four-component weight system to blend seasonal visual states.
- Provides logic for updating foliage density and color based on the selected season.
- Implements world-space normal masking to apply settled snow effects to exposed surfaces.
- Offers guidance on managing lighting, skyboxes, and particle effects for seasonal atmosphere.
- Ensures transitions are responsive and performant by reusing existing geometry and materials.
- Includes verification steps to prevent color drift and ensure consistent shadow rendering.
When to use it
- When building architectural walkthroughs that require seasonal environmental context.
- When developing outdoor 3D scenes that need to support multiple seasonal aesthetics.
- When you need to toggle between seasonal looks without reloading the entire 3D world.
- When implementing a user-controlled seasonal selector for interactive 3D applications.
Advantages
- Maintains scene stability by avoiding world rebuilds or shader recompilation.
- Provides a clear, deterministic method for blending seasonal visual cues.
- Optimizes performance by reusing preallocated particle pools and material hooks.
- Ensures visual consistency across transitions by avoiding cumulative color tinting.
Usage examples
- “How do I implement a smooth transition between summer and winter in my 3D scene?”
- You should use the four-component weight system to interpolate between the summer and winter presets, updating material uniforms and lighting parameters over time.
- “What is the best way to add snow to my 3D environment for the winter season?”
- Use a shader-based approach that combines the winter weight with upward-facing world-space geometric normals to mask and apply a snow material to exposed surfaces.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/mengto/3d-four-seasons/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip 3d-four-seasons.zip -d .agents/skills
Documentation by Meng To
3D Four Seasons
Keep one recognizable place across all four seasons. Each season should change several mutually consistent visual cues while preserving camera state and interactions.
Author the seasonal identity
Inventory deciduous trees, evergreens, exposed surfaces, sheltered surfaces, lights, sky, and existing weather. Use species and climate appropriate to the project; the table is a temperate-scene starting point.
| Season | Foliage and ground | Light and atmosphere | Motion |
|---|---|---|---|
| Spring | Fresh foliage; blossom on appropriate species | Soft warm daylight; gentle haze | Sparse petals or young leaves |
| Summer | Dense deep greens; full ground cover | Stronger daylight; readable shaded greens | Restrained leaf drift and breeze |
| Fall | Species-specific amber, red, and brown; litter | Lower warm sun; golden haze | More falling leaves |
| Winter | Bare deciduous branches; retained evergreens; exposed snow | Cool sky fill; pale sun; warm interiors | Optional sparse snow; little leaf drift |
Choose particle effects only when they serve the scene. A seasonal selector does not require a storm or a full weather simulator.
Share one state
Use a four-component blend in the order [spring, summer, fall, winter]. Accept autumn as an alias for fall, then normalize to one internal key. The weights start nonnegative and sum to one.
const presets = {
spring: [1, 0, 0, 0], summer: [0, 1, 0, 0],
fall: [0, 0, 1, 0], winter: [0, 0, 0, 1],
};
const weights = [0, 1, 0, 0];
let target = presets.summer;
function setSeason(name) {
const key = name === 'autumn' ? 'fall' : name;
if (!Object.hasOwn(presets, key)) return false;
target = presets[key];
return true;
}
function stepSeason(dt, reducedMotion = false) {
const a = reducedMotion ? 1 : 1 - Math.exp(-1.4 * Math.min(Math.max(dt, 0), 0.05));
for (let i = 0; i < 4; i++) weights[i] += (target[i] - weights[i]) * a;
}Feed the same state into material uniforms, sky, sun/fill lighting, particle density, and optional ambient audio. A new selection should redirect the current blend, not queue another animation or reset to summer. Resolve each result from authored base values and weights; repeatedly tinting last frame's color causes drift.
Change foliage and snow convincingly
Use species-specific color palettes and stable per-instance IDs. Gradually thin deciduous foliage for winter using a deterministic threshold or dither. Preserve evergreen coverage. Apply matching visibility and wind rules to shadow/depth materials so absent leaves do not cast summer shadows.
For inexpensive settled snow, combine winter weight with upward-facing world-space geometric normals and an exposure mask:
snow = winterWeight * smoothstep(0.3, 0.85, worldNormal.y) * exposureBlend toward a pale, rough snow material. Upward normal alone also whitens sheltered tables and indoor floors; tag exposed objects or supply shelter masks. A material overlay does not add thickness or change silhouette. Add selective snow-cap geometry only for close-up edges where depth matters. Keep falling snow intensity separate from settled coverage if the scene models accumulation and melt.
Keep the transition responsive
Preallocate particle pools and reuse materials/geometry. Change uniforms rather than recompiling shaders or rebuilding the world. Preserve existing material hooks when extending shaders and use stable program cache keys; match the installed renderer's shader chunks instead of assuming an old injection point exists.
Keep season independent of time of day and weather. Derive a final lighting state from those inputs once, so several controllers do not overwrite the same sun or fog values. Refresh expensive environment maps at controlled state changes, with caching where possible.
Use keyboard-accessible controls with a visible selected state and updated accessible labels. Under reduced motion, apply the chosen seasonal appearance immediately and retain a composed still scene. Pause continuous animation while hidden.
Verify
Capture all four seasons from the same camera. Each should be recognizable without its label. Rapidly switch spring → winter → summer → fall mid-transition and check for color drift, stale shadows, allocation spikes, and lost camera controls. Verify snow exposure indoors/outdoors, evergreen retention, particle count, and desktop/mobile rendering.
Read REFERENCES.md. Seijaku demonstrates shared uSeason weights, setSeason, snowInject, foliage thinning, and seasonal light tinting. Full snowfall physics and climate simulation are extensions, not claims about that implementation.
Files
- ATTRIBUTION.mdAdded by AutoGineer844 B
- LICENSELicence file added by AutoGineer1.0 KiB
- REFERENCES.md470 B
- SKILL.md4.9 KiB
- agents/openai.yaml228 B
ATTRIBUTION.md
Attribution
This folder is an unmodified copy of the Agent Skill "3d-four-seasons", distributed by AutoGineer (https://autogineer.com/agent-skills).
Commit: 5ea1661a0e05d82b054553daaa6baf6d0233c33c
Created by: Meng To (https://github.com/MengTo)
Publisher: Meng To (https://github.com/MengTo)
Licence: MIT License (https://github.com/MengTo/Skills/blob/5ea1661a0e05d82b054553daaa6baf6d0233c33c/LICENSE)
Licence evidence: repository licence LICENSE
Retrieved: 2026-11-07
The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.
Files added by AutoGineer
ATTRIBUTION.md: this file, written by AutoGineer
LICENSE: copied from LICENSE
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/3d/3d-four-seasons · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download 3d-four-seasons.zip