mixamo-retarget
Skill20 starsChanged 43 days agoMITView on GitHub
(EXPERIMENTAL — extracted and syntax-checked, fixture validation pending) Retarget Mixamo (or any FBX/DAE) animations onto a custom Blender rig — including the DayZ skeleton — with fuzzy bone matching, preset mappings (mixamo_to_rigify), persistent per-pair bone maps, NLA stacking and playback. Use whenever the user wants to apply Mixamo mocap to a character, retarget an animation between skeletons, auto-map bones between two armatures, import an animation FBX onto an existing rig, or source motion-capture keyframes for the DayZ SEAnim pipeline (dayz-animation-pipeline Layer 2). Triggers: retarget, Mixamo, mocap a mi rig, pasar animación entre esqueletos, bone mapping, aplicar animación FBX. Runs through the existing Blender MCP (execute_blender_code) — no extra addon, no WebSocket server.
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- 3d-generation-harnessSkill
- ai-3d-to-dayzSkill
- ardy-motion-generationSkill
- blender-animationSkill
- blender-assemblySkill
- blender-visual-reviewSkill
- dayz-3d-viewerSkill
- dayz-ai-patternsSkill
- dayz-animation-pipelineSkill
- dayz-aviationSkill
- dayz-basebuildingSkill
- dayz-charactersSkill
- dayz-clothingSkill
- dayz-doorsSkill
- dayz-environment-hazardsSkill
- dayz-feature-specSkill
- dayz-mcp-verifySkill
- dayz-model-pipelineSkill
- dayz-mod-workflowSkill
- dayz-motorbikesSkill
- dayz-p3d-auditSkill
- dayz-p3d-inspectorSkill
- dayz-particlesSkill
- dayz-pbo-buildSkill
- dayz-pbo-reverse-engineeringSkill
- dayz-persistenceSkill
- dayz-physics-engineSkill
- dayz-preflightSkill
- dayz-proxy-alignSkill
- dayz-realistic-animation-directorSkill
- dayz-sound-systemSkill
- dayz-test-ingameSkill
- dayz-texture-pipelineSkill
- dayz-ui-developmentSkill
- dayz-undergroundSkill
- dayz-vehiclesSkill
- dayz-weaponsSkill
- enforce-script-referenceSkill
- ovh-cloudSkill
- rigorous-data-auditSkill
- rip-vehicle-importSkill
- systematic-debuggingSkill
- task-observerSkill
- uv-clean-atlasSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Read scripts/bone_matching.py and scripts/retargeting.py from this skill.
- Very specific: line 36
Two-phase discipline (kept from the original design): never retarget straight off the fuzzy map.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Mixamo Retarget (via Blender MCP)
Retargets skeletal animations between armatures inside Blender, driven entirely through the already-connected Blender MCP. The engine is the retargeting module extracted from Dev-GOM's blender-toolkit (Apache-2.0; attribution below) — the valuable 700 lines, without the plugin's WebSocket server, CLI build, hooks, or second Blender addon.
Status: EXPERIMENTAL — extracted and syntax-checked, not yet fixture-validated. Before first production use, run the fixture at the bottom and record the result.
What it does
auto_map_bones(source, target)— fuzzy bone matching with a Mixamo alias table (works onmixamorig:-prefixed and bare names).get_preset_bone_mapping("mixamo_to_rigify")— known-good preset.store_bone_mapping/load_bone_mapping— persist a reviewed map per armature pair (scene-level), so the fuzzy pass runs once and the corrected map is reused.retarget_animation(source, target, bone_map, action_name)— bakes the retargeted action onto the target rig.import_fbx/import_dae,list_armatures,get_bones,list_animations,play_animation,add_to_nla.
How to run it (through the Blender MCP)
The two modules in scripts/ are plain Blender-Python. Load them once per session by exec-ing them in Blender's interpreter, in dependency order:
- Read
scripts/bone_matching.pyandscripts/retargeting.pyfrom this skill. - Send each through
execute_blender_code(bone_matching first — retargeting importsfuzzy_match_bonesfrom it; when exec'd into the same namespace, replace itsfrom bone_matching import …line with nothing, or exec bone_matching's source first so the names already exist). - Then drive the workflow:
# inside execute_blender_code, after both modules are loaded
import_fbx(r"C:\path\to\Walking.fbx") # brings in the Mixamo armature + action
print(list_armatures()) # e.g. ['Armature', 'MyDayZRig']
bm = auto_map_bones("Armature", "MyDayZRig") # fuzzy pass — REVIEW THIS DICT
print(bm)- Two-phase discipline (kept from the original design): never retarget straight off the fuzzy map. Print it, review/correct it (the human or a reasoned pass),
store_bone_mappingthe corrected version, then:
retarget_animation("Armature", "MyDayZRig", bone_map=bm, action_name="Walking_retarget")
play_animation("MyDayZRig", "Walking_retarget")references/bone-mapping-guide.md (653 lines, from the original project) covers alias logic, naming conventions, and fixing bad matches — read it when the fuzzy map comes back with gaps.
Rest-pose caveat (the classic failure)
Mixamo rigs are T-pose; many targets (including game rigs) are A-pose or custom. A retarget across mismatched rest poses bakes a permanent offset into every frame. Align rest poses first (apply rotation on the Mixamo armature; or pose-match the target's rest to the source) before judging the result. Symptom: arms floating ~45° off on every frame.
DayZ integration note
For LFPG work, the output of a retarget onto the DayZ skeleton is source keyframes, not a game-ready animation: it feeds dayz-animation-pipeline Layer 2 (Blender keyframes → SEAnim → DayZATool → .anm), and the player/creature anim-graph wall still applies (one animation mod per server). Use it to harvest mocap for creatures, poses, and reference motion — not as a shortcut around the pipeline.
Fixture before first real use (AGENTS-R26)
Positive: import any Mixamo FBX, retarget onto a copy of its own armature with the identity map — the result must visually match the original (render 3 frames via blender-visual-review). Negative: retarget with an empty bone map must raise/return an error, not silently produce a frozen action. Record both outcomes; only then drop the EXPERIMENTAL label.
Attribution
Retargeting engine: retargeting.py + bone_matching.py from Dev-GOM/claude-code-marketplace plugins/blender-toolkit, Apache License 2.0. Modified: relative imports flattened, logger replaced with stdlib logging. The original project additionally offers a WebSocket CLI control plane and UI confirmation panel not included here.
Assets
This skill redistributes no Mixamo or Adobe mocap, FBX, or character assets — only the retargeting workflow. Download Mixamo clips yourself; they stay on your machine and are not part of this pack.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

