HandleidingenStappenplan5 min leestijd
3D-modellen riggen en animeren vanuit Claude Code: Geef je agent een rigger, geen Blender-script
Voeg de afk-rig MCP-server toe en Claude Code rigt een personage, een dier of een prop in één toolaanroep, controleert daarna elke animatie en repareert wat er mis is.
> Rig models/fox.glb als viervoeter en laat hem rennen in de scène
● rig_model (path: "models/fox.glb", type: "fox", animations: ["Idle", "Walk", "Run"])
● Update (src/scene.js)
● De vos is gerigd en rent. Idle en Walk zitten ook in het bestand, klaar om te blenden.
Vraag een codeeragent om "dit model te riggen en te laten lopen" en meestal probeert hij alles met de hand te doen: een Python-script voor Blender dat de botten plaatst, automatische weights, een gekeyframede loopcyclus, een testrender, en dan weer opnieuw als de knieën de verkeerde kant op buigen. Dat kan een hele sessie kosten en er dan nog steeds niet goed uitzien.
De afk-rig MCP-server geeft hem in plaats daarvan één tool. rig_model stuurt het model naar dezelfde AI-rigger als afk.ai/rig en schrijft een GLB terug met een skelet, skin weights en elke animatie voor het lichaamstype, meestal in minder dan een minuut. De agent steekt zijn moeite in waar hij goed in is: de code die die animaties in je game afspeelt.
Waarom met de hand riggen lastig is voor een agent
Riggen lijkt een programmeertaak, maar het grootste deel is inschatten van een vorm die de agent niet kan zien. Hij werkt met vertexcoördinaten en bounding boxes, en elke fout zie je pas als er iets beweegt.
- Joints
- Hij gokt waar de schouders, heupen en knieën zitten. Bij een gestileerd personage, een hond of een draak zitten die gokken er vaak naast, en één joint op de verkeerde plek verpest elke animatie die erop volgt.
- Skin weights
- De automatische weights van Blender mislukken bij veel echte meshes, die met losse onderdelen, gaten of overlappende stukken, met "Bone Heat Weighting: failed to find solution for one or more bones". De agent blijft dan hangen in meshreparaties die hij niet met het oog kan controleren.
- Animaties
- Een geloofwaardige loop-, ren- en idle-animatie is een hoop keyframes om goed te krijgen zonder ernaar te kijken, en elk nieuw lichaamstype begint bij nul.
- Kosten
- Elke poging kost tijd en tokens, en twee runs op hetzelfde model geven zelden hetzelfde resultaat.
Eén toolaanroep in plaats daarvan
rig_model geeft het model aan de rigger van afk.ai. Een AI die getraind is om lichaamsdelen te vinden, plaatst een skelet dat voor dat soort lichaam gemaakt is, de skin weights komen uit een proces dat is afgestemd op echte meshes, en de animaties zijn voor precies dat skelet gemaakt, dus ze passen zonder retargeting.
Wat je terugkrijgt, is een standaard GLB die laadt in three.js, Godot, Unreal, Unity (met glTFast) en Blender. Een mens krijgt 66 botten met elke vinger en 594 animaties; de andere 14 lichaamstypes krijgen er elk 12 tot 128. Elk model van een lichaamstype heeft dezelfde bot- en animatienamen, dus één controller stuurt ze allemaal aan.
| De agent rigt het met de hand | De agent roept afk-rig aan | |
|---|---|---|
| Werk | Scripts, testrenders en reparaties, vaak vele rondes | Eén toolaanroep |
| Tijd | Van een paar minuten tot een lange sessie | Meestal 30 seconden tot een minuut |
| Skelet | Gegokt op basis van coördinaten | Geplaatst door een AI die getraind is om lichaamsdelen te vinden |
| Animaties | Eén voor één gekeyframed | Allemaal gemaakt voor het lichaamstype |

Mesh
23.293 vertices, 6 materialen en 14 textures, zoals geüpload

Skelet
66 botten, elke vinger inbegrepen, met dezelfde namen bij elke humanoïde

Skin weights
Tot 4 botten per vertex, hier één kleur per bot

593 animaties
Allemaal voor het lichaamstype; dit is Sword_Attack op 0,7 s
knight.rigged.glb, getekend door afk-rig render: dezelfde beelden die een AI-agent van render_rig krijgt.Instellen
Maak een API-sleutel aan op het ontwikkelaarsdashboard: log in met Google en kies Create key. Voeg de server daarna toe aan Claude Code:
claude mcp add afk-rig \
--env AFK_API_KEY=afk_... \
-- npx -y afk-rig mcp
In Cursor, Windsurf, Claude Desktop en andere MCP-clients voeg je hem toe aan mcp.json:
{
"mcpServers": {
"afk-rig": {
"command": "npx",
"args": ["-y", "afk-rig", "mcp"],
"env": { "AFK_API_KEY": "afk_..." }
}
}
}
De sleutel staat in de omgeving van de server, dus hij komt nooit in het gesprek terecht. De agent krijgt tien tools: vijf die riggen in de cloud van afk.ai, en vijf die een gerigd model op je computer controleren en repareren.
In de cloud van afk.aigebruikt je sleutel
- rig_modelRigt een .glb, .gltf of .fbx en schrijft de gerigde .glb weg
- image_to_characterEen afbeelding erin, een gerigd personage eruit
- list_body_typesDe 15 lichaamstypes en de animaties van elk type
- get_accountDe rigs die deze maand over zijn
- rig_statusEen rig die ergens anders gestart is
Op je computergratis, geen sleutel
- inspect_rigWat er mis is in elke animatie, het ergste eerst
- render_rigEen beeld van elk moment, met het skelet eroverheen getekend
- adjust_animationDe animatie-instellingen van afk.ai/rig, met de armen uit het lichaam gehouden
- fix_stretchingHerstelt huid die scheurt als hij beweegt
- fix_spotDoet de skin weights van één plek opnieuw
npx afk-rig mcp de agent geeft. Elke reparatie schrijft een nieuw bestand, dus het bestand waarmee hij begon, verandert nooit.Wat je kunt vragen
Zodra de server is toegevoegd, vraag je het in gewone taal. De agent kiest zelf de tool, het lichaamstype en de animaties:
- "Rig
models/knight.glbals mens en speel zijn zwaardcombo af in de three.js-scène." - "Rig
models/fox.glbals viervoeter met alleen Idle, Walk en Run, en maak dan een Godot-scène die ertussen wisselt." - "Rig elke .glb in
assets/propsals object met Bounce en Spin, en gebruik ze voor de munt- en edelsteen-pickups." - "Welke animaties heeft het drakentype? Rig
dragon.glbmet de vlieganimaties en zet er een AnimationPlayer voor op." - "Rig
horse.glb, importeer hem in Unity als Generic-rig en bouw een animator controller met Walk, Trot en Run." - "Maak een gerigd personage van
concept/hero.png." Nog geen model?image_to_charactermaakt er een van een afbeelding en rigt het, in ongeveer 2 tot 3 minuten.
- humanSword combo
- foxRun
- objectBounce
- dragonFly
Controleren en repareren wat hij gemaakt heeft
De andere vijf tools draaien op je computer met de Adjust-code van afk.ai/rig zelf: geen sleutel, niets in rekening gebracht, niets geüpload. inspect_rig vindt voeten die in de vloer zakken, gescheurde skin en armen door het lichaam, de ergste eerst. render_rig tekent elk moment van elke animatie, zodat de agent ernaar kan kijken. adjust_animation, fix_stretching en fix_spot repareren het in een nieuw bestand, -v2.glb, zodat het bestand waarmee hij begon nooit verandert.
Zo heeft de agent een lus die hij zelf kan doorlopen: controleren, het slechtste moment renderen, één ding veranderen, opnieuw controleren.
> Controleer de Walk van de ridder en repareer wat er mis is
● inspect_rig (file: "knight.rigged.glb", animations: ["Walk"])
● adjust_animation (animations: ["Walk"], keep_arms_out: 1)
● render_rig (animation: "Walk", time: 1.633) × 2
● De arm met het schild sneed tijdens een derde van de loopcyclus in het linkerbeen. Gerepareerd in knight.rigged-v2.glb.

Vóór: de knie steekt door het schild

Na: het schild hangt vrij van het been
Laat de agent de rest doen
Bij riggen verspilt een agent de meeste moeite voor het minste resultaat. Bij het inbouwen blinkt hij uit: de AnimationMixer van three.js, een AnimationPlayer in Godot, een animator controller in Unity, overgangen tussen clips, of een script dat elk model rigt dat een level nodig heeft. Een gerigd bestand is een paar regels verwijderd van bewegen:
const gltf = await new GLTFLoader().loadAsync('fox.rigged.glb')
scene.add(gltf.scene)
const mixer = new THREE.AnimationMixer(gltf.scene)
const run = THREE.AnimationClip.findByName(gltf.animations, 'Run')
mixer.clipAction(run).play() // then mixer.update(delta) every frameWat de API allemaal kan riggen, objecten inbegrepen, lees je in wat je kunt bouwen met de rigging-API van afk.ai.
Veelgestelde vragen
Werkt de MCP-server ook met andere clients dan Claude Code?
Ja. Het is een standaard MCP-server via stdio (npx afk-rig mcp), dus Cursor, Windsurf, Claude Desktop en andere MCP-clients draaien hem met hetzelfde commando en een AFK_API_KEY in zijn omgeving.
Waar vindt het riggen plaats?
rig_model en image_to_character draaien op de servers van afk.ai: de tool uploadt het bestand, wacht en schrijft het resultaat naar je project. Elk model gaat eerst door een controle op inhoud voor volwassenen, en een model dat daarbij wordt afgewezen, mislukt en kost niets. De tools om te controleren en te repareren draaien op je computer.
Welke modellen kan het riggen?
GLB, glTF met alles ingebed, of FBX, tot 200 MB, ook bestanden met Draco- of meshopt-compressie. Kies het lichaamstype dat bij het model past: human, fox (viervoeters), horse (hoefdieren), bird, dragon, kaiju (dinosaurussen), spider, insect, snake, fish, turtle, kangaroo, frog, ghost of object.
Wat kost het?
Je eerste 3 rigs per maand zijn gratis, hetzelfde tegoed als op afk.ai/rig. Daarna gaan rigs van je API-credits af; zie API-prijzen. Een mislukte rig kost niets, en de tools om te controleren en te repareren zijn altijd gratis.
Mag ik de gerigde modellen commercieel gebruiken?
Ja. De skeletten en animaties zijn CC0, en je model blijft van jou.
Geef je agent een rigger
Elke animatie voor het lichaamstype, in één GLB, vanuit Claude Code, Cursor, je terminal of je code.
Meer handleidingen
API
Wat je kunt bouwen met de rigging-API van afk.ai
Stuur een 3D-model en krijg een gerigde GLB terug met elke animatie voor het lichaamstype, vanuit je terminal, je code of een AI-agent.
Stappenplan
VRM naar FBX, GLB naar FBX en terug: een 3D-converter die de animaties houdt
Elk 3D-model naar GLB, FBX, USDZ, OBJ of STL in je browser, met behoud van het skelet, de skin weights, elke keyframe en de gezichtsvormen.
Gids
Animatie-retargeting: animaties toevoegen aan een model dat al gerigd is
Voeg animaties toe aan een gerigd model en houd het skelet, de skin weights, de fysica en de animaties die het al had.