From ecc
Inspects Blender characters, rigs, poses, and animation retargeting by extracting structured bone, bounding box, contact, and facing data beyond what screenshots reveal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ecc:blender-motion-state-inspectionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- A Blender character looks twisted, mirrored, flattened, offset, or foot-sliding in an animation.
Do not judge animated 3D assets only from screenshots. Screenshots are review evidence, but they hide axis conventions, bone names, object scale, local transforms, parented meshes, material slots, and frame-by-frame contact state.
First extract structured Blender state, then use viewport screenshots or renders to confirm what the facts imply.
Inventory the scene.
Identify the skeleton.
Determine forward, up, and side axes.
Sample animation frames.
Check model integrity before retargeting blame.
Diagnose contact and motion issues.
Report facts before opinions.
## Blender Motion Inspection
### Scene Inventory
- Character candidates:
- Armatures:
- Helper/proxy objects:
- Cameras/lights:
### Orientation
- World up:
- Character forward:
- Root heading:
- Mirrored/backwards risk:
### Baseline Integrity
- Clean mesh bounds:
- Animated mesh bounds:
- Materials/skin preserved:
- Suspicious non-character meshes:
### Frame Findings
| Frame | Finding | Evidence |
| --- | --- | --- |
| 1 | Clean baseline pose | hips/spine/feet aligned |
| 96 | Foot penetrates floor | left_foot min_z = -0.04 |
### Verdict
- Pass/fail:
- Required fix:
- Render readiness:
Scenario: a retargeted character appears to skate during a walk cycle, but the front camera angle makes the foot contact hard to judge.
Apply the workflow:
HeroBody, armature HeroRig, ground plane Floor, no hidden proxy meshes.foot.L and foot.R; hips are pelvis; root bone is root.Extracted facts:
| Frame | Fact | Evidence |
|---|---|---|
| 18 | Left foot is planted | foot.L min_z = 0.004, toe and heel both near floor |
| 24 | Left foot slides while planted | foot.L x = 0.21 -> 0.28 over six frames |
| 30 | Pelvis keeps moving forward | pelvis y = 1.14 -> 1.31 |
Verdict: fail for render readiness. The motion needs foot-lock cleanup or retargeting constraint review; the body mesh does not need proportion changes.
Scenario: a character looks correct in a still frame, but the animation moves opposite the expected travel direction.
Apply the workflow:
Extracted facts:
| Frame | Fact | Evidence |
|---|---|---|
| 1 | Character face points toward world -Y | head/chest vector from neck to head resolves to -Y |
| 72 | Root motion travels toward world +Y | root y = 0.0 -> 2.8 |
| 72 | Feet remain visually forward-facing opposite travel | toe bones point -Y while displacement is +Y |
Verdict: likely backwards import or retargeting forward-axis mismatch. Fix the import/retarget axis mapping before editing animation curves.
If a Blender state exporter is available, prefer JSON that includes meshes, armatures, pose bones, materials, contacts, bounding boxes, and sampled animation frames. If no exporter exists, run a small Blender Python script through Blender itself, for example blender --background scene.blend --python collect_motion_state.py, because bpy is not available in a normal system Python interpreter.
npx claudepluginhub affaan-m/ecc --plugin eccExtracts structured Blender state (skeleton, bounding boxes, ground contact, orientation) to diagnose animation issues like sliding, foot penetration, mirrored imports, and rigging errors. Use when screenshots alone are insufficient.
Generates animation clips (idle, walk, run, attack) from curated mocap library for Meshy-rigged humanoid characters. Wires clips to AnimationPlayer in Godot.
Standardizes skeletal 3D animation clip authoring, export, root motion, and retargeting rules for correct playback, clean blends, and budget compliance.