3d-four-seasons — скилл для Claude Code: что делает и как установить
Добавляет смену четырёх времён года в 3D-сцену через шейдерные uniform-переменные. Помогает переключать листву, свет и снег без пересборки геометрии мира.
npx skills add MengTo/Skills --skill 3d-four-seasons -a claude-codeЧто делает 3d-four-seasons
Скилл задаёт архитектуру для перехода между весной, летом, осенью и зимой внутри одной 3D-сцены. Состояние рассчитывается через массив из четырёх весов [spring, summer, fall, winter], сумма которых равна единице. Значения передаются напрямую в параметры материалов, скайбокс, освещение и системы частиц. Расчёт цвета ведётся строго от базовых исходных параметров модели, потому что повторное перекрашивание предыдущего кадра приводит к накоплению цветового сдвига.
Для зимней листвы скилл предлагает использовать детерминированное прореживание крон и сохранять хвойные деревья. Те же правила видимости синхронизируются с материалами теней, иначе опавшие ветки продолжат отбрасывать летнюю тень. Снег накладывается через мировую нормаль поверхности worldNormal.y и вес зимы. Без масок укрытия процедурный снег неизбежно побелит столы под навесами и внутренние полы зданий, поэтому скилл требует разметки открытых зон.
Система не пересобирает меши и не компилирует заново шейдеры при каждой смене сезона. Для гладкой работы частицы выделяются в пул заранее. Сезонное освещение отделено от суточного цикла и погоды, чтобы несколько контроллеров не переписывали значения одного источника света.
Какие задачи решает
- переключать времена года в 3D-сцене без перезагрузки геометрии
- настроить появление процедурного снега на открытых поверхностях через шейдеры
- проредить кроны лиственных деревьев к зиме с обновлением карты теней
- синхронизировать освещение, частицы и материалы через один вектор весов
Примеры запросов агенту
- Настрой плавный переход между четырьмя сезонами для этой Three.js сцены через uniform-переменные
- Добавь шейдерный снег на открытые крыши по мировой нормали с учётом маски укрытия
- Сделай переключение листвы и освещения от лета к осени с помощью вектора весов [spring, summer, fall, winter]
Как установить 3d-four-seasons
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill 3d-four-seasons -a claude-code2Вручную: положить файлы
~/.claude/skills/3d-four-seasons/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/3d-four-seasons/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill 3d-four-seasons -a codex2Вручную: положить файлы
.agents/skills/3d-four-seasons/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill 3d-four-seasons -a cursor2Вручную: положить файлы
.cursor/skills/3d-four-seasons/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install MengTo/Skills 3d-four-seasons2Вручную: положить файлы
.github/skills/3d-four-seasons/SKILL.md1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill 3d-four-seasons -a gemini-cli2Командой платформы
gemini skills install https://github.com/MengTo/Skills --path agent-skills/3d/3d-four-seasonsВручную: положить файлы
.devin/skills/3d-four-seasons/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill 3d-four-seasons -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о 3d-four-seasons
Как установить 3d-four-seasons в Claude Code?
Выполните команду npx skills add MengTo/Skills --skill 3d-four-seasons -a claude-code в терминале проекта.
Что делает скилл 3d-four-seasons?
Он предоставляет инструкции по плавному переключению четырёх времён года в 3D через веса блендинга, шейдерный снег, адаптацию листвы и синхронизацию освещения без пересборки мира.
Как скилл предотвращает появление снега внутри помещений?
Формула снега объединяет зимний вес с направленной вверх нормалью worldNormal.y и маской экспозиции. Объекты под навесами и полы в интерьерах помечаются тегами укрытия, отсекающими наложение материала снега.
Исходный текст
SKILL.md · MIT
---
name: 3d-four-seasons
description: Add coordinated spring, summer, fall, and winter states to a 3D scene, blending foliage, sunlight, sky, ground materials, snow, and particles without rebuilding the world. Use for seasonal controls, architectural walkthroughs, and outdoor scenes with four-season transitions.
---
# 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.
```js
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:
```text
snow = winterWeight * smoothstep(0.3, 0.85, worldNormal.y) * exposure
```
Blend 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](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.
© MengTo · MIT · MengTo/Skills