Texture State Animation

SkillMedia

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Texture State Animation skill

What this skill tells your AI

The instructions your AI receives, as published by cheshirejcat/blender in skills/create-3d-model/references/modules/texture-state-animation/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
26
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
texture-state-animation
Source
github.com/cheshirejcat/blender