texture-state-animation — скилл для Claude Code: анимация текстур
Помогает продумать переходы между состояниями текстур в Blender так, чтобы не получить грубый кроссфейд целых картинок и дёргание текстур.
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a claude-codeЧто делает texture-state-animation
Скилл нужен, когда персонаж, логотип или UI-скин меняет текстуру в анимации. Вместо того чтобы смешивать два целых изображения, он предлагает разложить сцену на слои: поверхность аватара, лицевые детали, свечение, фон и элементы HUD. Для каждого слоя выбирается свой тип перехода — удержание, лёгкая пульсация яркости, маскированное растворение или бегущий блик.
Сначала состояния регистрируются: кадрирование, масштаб, выравнивание и цвет приводятся к одному холсту и одной семантической маске. Дальше скилл проверяет, что силуэт аватара не поехал, а фон и аура не запеклись в материал персонажа. Для финального GLB он советует каналы, которые движок воспроизведёт сам: кейфреймы значений материала, прозрачность, UV-трансформации, шейп-ключи. Python-обработчики кадров для этого не годятся, потому что целевой рантайм их не повторит.
Внутри есть скрипт scripts/texture_transition_plan.py: он строит план переходов из исходных состояний и помечает рискованные кроссфейды целых кадров. Перед тем как считать анимацию готовой, скилл требует отрендерить контактный лист и отчёт о мерцании. Работает через MCP-сервер Blender, поэтому перед первым вызовом нужно прочитать ../text-to-blender/references/mcp-backends.md и выбрать бэкенд на всю задачу.
Какие задачи решает
- спланировать переход между несколькими исходными текстурами без кроссфейда целых кадров
- разложить сцену на слои и подобрать тип перехода для каждого
- проверить, что силуэт и кадрирование не меняются во время декоративной анимации
- выбрать каналы анимации, которые воспроизведёт целевой движок при экспорте GLB
- найти рискованные места в плане переходов до рендера
Примеры запросов агенту
- продумай переход между двумя состояниями текстуры маскота, кроссфейд целых картинок не используй
- собери план переходов из этих исходных состояний и отметь рискованные места
- отрендери контактный лист и отчёт о мерцании для этой анимации текстуры
Как установить texture-state-animation
1Через Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a claude-code2Вручную: положить файлы
~/.claude/skills/texture-state-animation/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/texture-state-animation/
1Через Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a codex2Вручную: положить файлы
.agents/skills/texture-state-animation/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a cursor2Вручную: положить файлы
.cursor/skills/texture-state-animation/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install RobLe3/cc-blender-skill texture-state-animation2Вручную: положить файлы
.github/skills/texture-state-animation/SKILL.md1Через Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a gemini-cli2Командой платформы
gemini skills install https://github.com/RobLe3/cc-blender-skill --path plugin/skills/texture-state-animationВручную: положить файлы
.devin/skills/texture-state-animation/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о texture-state-animation
Как установить texture-state-animation в Claude?
Выполните npx skills add RobLe3/cc-blender-skill --skill texture-state-animation -a claude-code. Скилл окажется в ~/.claude/skills/texture-state-animation/SKILL.md.
Что делает texture-state-animation?
Помогает спроектировать и проверить переходы между состояниями текстур в Blender: регистрирует состояния, разносит их по слоям и подбирает тип перехода для каждого.
Что нужно для работы скилла?
MCP-сервер Blender. Перед первым вызовом скилл просит прочитать ../text-to-blender/references/mcp-backends.md и дальше держаться выбранного бэкенда.
Исходный текст
SKILL.md · MIT
--- name: texture-state-animation description: Design and validate texture-state transitions for Blender animations without ugly whole-image crossfades, texture popping, misregistered morphs, or target-engine-incompatible Python-only swaps. Use when animating between multiple source textures, mascot/logo states, style states, lightmaps, decals, or UI skins. allowed-tools: Read Bash Glob Grep mcp__blender__execute_blender_code mcp__blender__get_scene_info mcp__blender__get_object_info mcp__blender__get_objects_summary mcp__blender__get_object_detail_summary mcp__blender__render_viewport_to_path mcp__blender__search_api_docs mcp__blender_official__execute_blender_code mcp__blender_official__get_objects_summary mcp__blender_official__get_object_detail_summary mcp__blender_official__render_viewport_to_path mcp__blender_official__search_api_docs --- ## MCP backend Use when: Texture state animation, texture morphs, material state transitions, image sequence planning, masked wipes, glow reveals, texture registration, avoiding bad crossfades, GLB-compatible texture animation planning. Before the first Blender call, read [../text-to-blender/references/mcp-backends.md](../text-to-blender/references/mcp-backends.md). Prefer official MCP for shared capabilities; preserve the selected backend for the whole task. Tool names in recipes are client/legacy examples: map them through that reference and its agent-host guide. # Texture State Animation This skill exists because “crossfade several full images” usually looks bad. Texture animation must be designed like motion graphics: registered states, constrained transition channels, and preview gates. ## Failure modes to avoid - Whole-frame crossfades between unrelated crops/compositions. - Python frame handlers as the only playback mechanism when export/runtime support is needed. - Texture swaps that change silhouette, camera crop, or scale at the same time as decorative motion. - Mixing aura/background/HUD pixels into the avatar surface texture unless that is the intent. - Morph pulses that break accepted geometry constraints such as constant depth. ## Workflow 1. **Register states first**: crop, scale, align, and color-normalize all source states into one canvas and one semantic mask. 2. **Classify pixels/layers**: - avatar surface/base; - facial decal/features; - glow/emission accents; - background/aura/context; - HUD/circle elements. 3. **Choose transition type per layer**, not one global blend: - avatar surface: hold, shimmer, subtle value/roughness pulse, or masked dissolve; - face features: hold or short opacity fade; - glow accents: emission pulse / traveling highlight; - aura/HUD: independent orbit/dash/dot animation; - background: separate plane/compositor, never baked into avatar unless requested. 4. **Use export-compatible channels when needed**: - keyframed material values, opacity, UV transform, shape keys, object transforms; - image sequence only if target supports it; - avoid Blender Python handlers for final GLB unless the target runtime will recreate them. 5. Render a contact sheet and flicker report before calling the animation acceptable. ## Acceptance gates - Each texture state is registered to the same bbox/landmarks. - No full-canvas crossfade is used unless state registration and semantics match. - Avatar silhouette remains stable unless the story explicitly calls for a morph. - Context/aura elements are separate from the avatar material. - The exported format can reproduce the animation, or limitations are documented. ## Scripts - `scripts/texture_transition_plan.py` creates a transition plan from source states and flags risky whole-frame crossfades.
© RobLe3 · MIT · RobLe3/cc-blender-skill