Skip to main content

rig-it

Rig and animate game characters that actually hold up in-engine. Contract-driven Blender pipeline with body-plan scaffold rigs for creatures, Mixamo-skeleton packaging for bipeds, rest-pose weight transfer, rigid part seating, numeric gates on a fresh reimport, rendered review frames and reels, Unity Humanoid/Generic export. Use when the user wants to rig a character, skin a mesh, build an armature, author or fix Idle/Locomotion/Attack/Hit/Death clips, package Meshy or Mixamo animations onto a production mesh, stop feet sliding or sinking, get a rig into Unity or Godot, or mentions rigging, skinning, weights, IK, gait, Mixamo, Meshy rig, Humanoid avatar, or invokes /rig-it.

Informations de source

Dépôt
TheOrcDev/skills
Dernière activité de la source
16 septembre 2026 à 14:36
Langue détectée de SKILL.md
anglais
Étoiles
106
Forks
4

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
28 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
rig-it
description
Rig and animate game characters that actually hold up in-engine. Contract-driven Blender pipeline with body-plan scaffold rigs for creatures, Mixamo-skeleton packaging for bipeds, rest-pose weight transfer, rigid part seating, numeric gates on a fresh reimport, rendered review frames and reels, Unity Humanoid/Generic export. Use when the user wants to rig a character, skin a mesh, build an armature, author or fix Idle/Locomotion/Attack/Hit/Death clips, package Meshy or Mixamo animations onto a production mesh, stop feet sliding or sinking, get a rig into Unity or Godot, or mentions rigging, skinning, weights, IK, gait, Mixamo, Meshy rig, Humanoid avatar, or invokes /rig-it.
# rig-it Rigging fails in chat because the model writes one script, gets an armature that binds, and never sees that the elbow is wrong. This skill never lets you judge a rig from the code that built it. Every rig and every clip goes through a contract, a family route, verified weights, numeric gates on a fresh reimport, and rendered frames you look at before anyone calls it done. Read [RULES.md](RULES.md) before touching a mesh. Run [WORKFLOW.md](WORKFLOW.md) commands as written. Family bone lists live in [references/body-plans.md](references/body-plans.md). ## The loop ``` contract -> route -> rig + weights -> clips -> export -> fresh reimport ^ | | polish passes (never thresholds) <-- gates + frames ``` 1. **Contract first.** Write `rig-contract.json` (schema in [templates/](templates/rig-contract.json)): family, engine rig type, required clips, rigid parts with sockets, gameplay move speed. Tooling reads it; tooling never redefines it. 2. **Route by body plan, not by wish.** | Body | Route | Scripts | |---|---|---| | Biped that a Mixamo-template rigger accepts (Meshy, mixamo.com) | rig input, provider rig, preset motions, package onto the production mesh | `rig_input.py`, `package_biped.py` | | Quadruped, hexapod, octopod, flyer, maw, winged hybrid, humanoid the provider mangles | deterministic scaffold rig from bounds, bind, author contact-driven clips | `scaffold_rig.py`, `author_clips.py` | 3. **Weights are verified, not assumed.** Automatic weights are a starting point. Unweighted vertices fall back to the nearest bone. Max 4 influences, normalized. Sole patches harden to the foot bone. Provider weights transfer onto the production mesh with both meshes in rest pose. 4. **Stationary navigation root.** `Root` carries no skin weight and never moves. Body motion lives on the body bone. Root motion is off in engine. 5. **Rigid parts** are skinned 100% to one hand bone and seated with a grip rule. Never bone-parented (FBX pivots differ). 6. **Export, then judge the reimport.** `export_fbx.py` writes one FBX per clip plus the production multi-take FBX. `review_clips.py` reimports each clip into an empty scene, measures every frame on real vertices, renders frames over a checker floor with the camera following travel, and runs `gates.py`. 7. **Fix in the package, never in the thresholds.** Provider walks slide, deaths sink, idles hitch. `package_biped.py` polish passes fix those in order. Gate thresholds change only with a recorded decision. 8. **Reel to the reviewer.** `reel.py` cuts labeled 3 s sections. A passing gate is screening, not art acceptance. The human signs off, the model does not. ## Quick start ```sh # 0. environment export RIG_IT_BLENDER=/Applications/Blender.app/Contents/MacOS/Blender # Blender 4.5 LTS S=<path to this skill>/scripts # 1. contract + inspect cp $S/../templates/rig-contract.json wolf/rig-contract.json # edit family, clips, source, speed $RIG_IT_BLENDER --background --factory-startup --python-exit-code 1 --python $S/inspect_model.py -- \ --input wolf/wolf.fbx --contract wolf/rig-contract.json --output wolf/inspect.json # 2a. creature route: scaffold + bind, then author $RIG_IT_BLENDER ... --python $S/scaffold_rig.py -- --contract wolf/rig-contract.json --input wolf/wolf.fbx \ --bind --output-blend wolf/wolf-rigged.blend --receipt wolf/rig-receipt.json python3 $S/pipeline.py --contract wolf/rig-contract.json --version 1 --source wolf/wolf-rigged.blend --stage all --render keys # 2b. biped route: body-only rig input -> provider rig + presets -> package $RIG_IT_BLENDER ... --python $S/rig_input.py -- --contract mage/rig-contract.json --input mage/mage.fbx --output mage/rig-input/Mage_RigInput.glb # (rig on Meshy or mixamo.com, download Mixamo-template FBXs with skin, one per motion) python3 $S/pipeline.py --contract mage/rig-contract.json --version 1 --stage package --raw mage/raw \ --package-args "--map Idle_02=Idle --map Walking=Locomotion --map Spell=BasicAttack --map Hit=Hit --map Dead=Death \ --ground-clamp --plant-feet --lock-feet --loop-blend 6 --death-hold 0.6" python3 $S/pipeline.py --contract mage/rig-contract.json --version 1 --stage export python3 $S/pipeline.py --contract mage/rig-contract.json --version 1 --stage review --render all python3 $S/pipeline.py --contract mage/rig-contract.json --version 1 --stage reel ``` Iterate as `--version 2`, `3`. The pipeline refuses to overwrite a version; earlier versions are the trail. ## Per-subject checklist 1. Contract written and `python3 scripts/contract.py rig-contract.json` prints the required bones. 2. `inspect_model.py` shows zero unweighted vertices, every required bone, every rigid part, +Z forward, feet on the ground plane. 3. Clips authored or packaged; receipt has contacts and nominal speed for Locomotion. 4. `review_clips.py` gates pass. Look at the frames from front and side, not only the review camera. Held parts hide behind bodies; legs pulled under hips read as glued. 5. Reel sent to the reviewer. Record the version, the passes used, and the findings. 6. Engine install per [references/unity-import.md](references/unity-import.md): Humanoid avatar validates or Generic import binds by path, Apply Root Motion off, Locomotion rate bound to `moveSpeed / nominalSpeed`. ## Do not - Judge a rig from the scene that authored it. Export, reimport, then judge. - Raise a gate threshold to pass. Fix the package. - Bone-parent a weapon. Skin it to one bone. - Transfer weights with either mesh posed. - Fake gameplay speed with a global animator speed. - Claim art acceptance from a technical pass. - Upload assets you do not own to a rigging provider, or publish them there.
Voir sur GitHub