HandleidingenStappenplan6 min leestijd
Een 3D-personage riggen en animeren in Godot 4: De AFK AI-add-on, AnimationPlayer en AnimationTree
Klik op een model in het FileSystem-dock en op Rig, en ongeveer een minuut later staat er een gerigde GLB met zijn animaties naast, de wandel- en idle-animaties al op herhalen.
Signed in as you@example.comSign out
3 of 3 rigs left this month.
Model: hero.glb
Body typeHuman
AnimationsAll animations
FacingAuto
RigRigging...Cancel
- hero_riggedNode3D
- └Skeleton3DSkeleton3D
- └HeroMeshInstance3D
- └AnimationPlayerAnimationPlayer
- └Idle_Aloop ⟳
- └Walkloop ⟳
- └Jogloop ⟳
- └Sprintloop ⟳
- └…
Godot speelt animaties uitstekend af, maar een rig maken kan het niet. Een personage maakt daarom meestal een rondje: exporteren, riggen in Blender (of in Mixamo, alleen voor humanoïden), animaties zoeken, een GLB exporteren en na het importeren elke herhalende animatie opnieuw op loop zetten.
De AFK AI-add-on maakt dat rondje vanuit een dock in de Godot-editor. Klik op je model in het FileSystem-dock en dan op Rig. Ongeveer een minuut later staat hero_rigged.glb naast hero.glb, met een skelet dat voor zijn lichaam is gemaakt, skin weights en zijn animaties in een AnimationPlayer. De idle-, wandel- en renanimaties staan al op herhalen.
Wat je nodig hebt
- Godot
- 4.2 of nieuwer, de standaardversie of de .NET-versie.
- Je model
- Een
.glb,.gltfof.fbxin je project, tot 50 MB. Een.gltfmoet alles in dat ene bestand hebben; staat er een.binnaast, exporteer dan een.glb. - Een afk.ai-account
- Gratis, met Google. Elke rig kost een van de rigs van je account voor die maand, net als op afk.ai/rig.
- Internet
- Het riggen gebeurt op de servers van afk.ai. Alleen het modelbestand dat je kiest, wordt verstuurd.
De add-on installeren
- Download de add-on van de Godot-pluginpagina.
- Kopieer de map
addons/afk_aidaaruit naar de mapaddonsvan je project. Maak de mapaddonsaan als je project er nog geen heeft. - Open Project > Project Settings > Plugins en vink Enable aan naast AFK AI.
Rechts, naast de Inspector, verschijnt een AFK AI-dock.
Een model riggen
- Log in. Klik op Sign in in het AFK AI-dock. Je browser opent afk.ai; log daar in met Google. Het dock toont je e-mailadres en hoeveel rigs je deze maand nog hebt. Komt de browser niet terug bij Godot, dan toont hij in plaats daarvan een inlogcode: plak die onder I have a sign-in code en klik op Use.
- Kies het model. Klik in het FileSystem-dock op het bestand van het model.
- Kies de opties. Body type: Human voor mensen en alles op twee benen, of het dier of wezen dat het is. Animations: All animations, of Rig only voor alleen het skelet. Facing: laat dat op Auto staan.
- Klik op Rig. Het dock toont wat er gebeurt: uploaden, wachten, riggen, downloaden. Je kunt intussen gewoon doorwerken.
Als het klaar is, staat hero_rigged.glb naast hero.glb, geïmporteerd en geselecteerd. Het origineel blijft onaangeroerd. Rig je hetzelfde model opnieuw, dan krijg je hero_rigged_2.glb, dus er wordt niets overschreven.
Wat er in de gerigde GLB zit
Sleep hero_rigged.glb een scène in om het te gebruiken: het komt binnen als één node met alles eronder.
- Skeleton3D
- Een skelet dat voor het lichaamstype is gemaakt, met je mesh eraan gekoppeld. Een mens krijgt 66 bones, elke vinger inbegrepen, met namen als pelvis, spine_01, hand_r, foot_l enzovoort.
- AnimationPlayer
- Elke animatie, onder zijn eigen naam. Voor een humanoïde tot 593: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, Dance_Groove en honderden meer. Met een gratis account krijg je de gratis animaties, en een pakket voegt de rest toe.
- Loops
- Idle-, wandel-, ren-, vlieg- en zwemanimaties herhalen al. De add-on schrijft dat in de importinstellingen van het bestand voordat Godot het importeert.
- Kijkrichting
- Het personage kijkt naar +Z, zoals glTF-modellen dat doen.
Animaties afspelen met een AnimationPlayer
Het eenvoudigste spelerpersonage: een CharacterBody3D met een CollisionShape3D (een capsule), en daaronder het gerigde model, dat je erin sleept en hernoemt naar Hero. Koppel dit script aan de CharacterBody3D:
extends CharacterBody3D
const SPEED := 4.0
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
@onready var hero: Node3D = $Hero
@onready var anim: AnimationPlayer = $Hero/AnimationPlayer
func _physics_process(delta: float) -> void:
var input := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
var direction := Vector3(input.x, 0.0, input.y)
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
if not is_on_floor():
velocity.y -= gravity * delta
move_and_slide()
if direction.length() > 0.1:
# the model faces +Z: turn that toward where it's going
hero.rotation.y = lerp_angle(hero.rotation.y, atan2(direction.x, direction.z), 10.0 * delta)
anim.play("Jog", 0.2) # 0.2 s blend from whatever was playing
else:
anim.play("Idle_A", 0.2)Start het, en met de pijltjestoetsen jogt het personage rond en gaat het vloeiend terug naar idle als je loslaat. Roep je play aan met de animatie die al speelt, dan loopt die gewoon door, dus het elk frame aanroepen is geen probleem.
Blenden met een AnimationTree
Een AnimationTree blendt tussen animaties op basis van snelheid en regelt eenmalige bewegingen zoals een aanval. Je stelt hem één keer in, in de editor:
- Voeg een AnimationTree-node toe aan het personage. Zet in de Inspector Anim Player op
Hero/AnimationPlayeren Tree Root op een nieuwe AnimationNodeStateMachine. - Klik onderaan in het AnimationTree-paneel met rechts en voeg een BlendSpace1D toe. Noem hem
Locomotion, open hem en voeg drie punten toe: Idle_A op 0, Walk op 1.5 en Jog op 4 (zet zijn Max Space op 4). - Klik nog eens met rechts en voeg de animatie Sword_Attack toe. Verbind Start met Locomotion, Locomotion met Sword_Attack, en Sword_Attack terug met Locomotion, met Switch Mode op At End en Advance Mode op Auto.
- Voeg in Project > Project Settings > Input Map een action toe met de naam
attacken geef die een toets.
Haal daarna in hetzelfde script de twee regels met anim.play weg en stuur in plaats daarvan de tree aan:
@onready var tree: AnimationTree = $AnimationTree
@onready var playback: AnimationNodeStateMachinePlayback = tree.get("parameters/playback")
func _process(_delta: float) -> void:
tree.set("parameters/Locomotion/blend_position", Vector2(velocity.x, velocity.z).length())
if Input.is_action_just_pressed("attack"):
playback.travel("Sword_Attack")
Zolang de AnimationTree actief is, speelt die de animaties af, dus roep dan niet ook nog play van de AnimationPlayer aan.
Een zwaard vasthouden, een loop aanpassen
Wil je het personage iets in de hand geven, selecteer dan zijn Skeleton3D, voeg daaronder een BoneAttachment3D toe, zet Bone Name op hand_r en hang het zwaard onder de attachment. Het volgt de hand in elke animatie.
Wil je aanpassen welke animaties herhalen, dubbelklik dan op hero_rigged.glb in het FileSystem-dock om Advanced Import Settings te openen. Kies links de animatie onder de AnimationPlayer, pas Loop Mode aan en klik op Reimport.
Dieren, wezens en props
Kies het lichaamstype in het dock voordat je op Rig klikt: Fox voor honden, katten en wolven, Horse voor alles met hoeven, Bird, Dragon, Kaiju voor dinosaurussen, Spider, Insect, Snake, Fish, Kangaroo, Frog, Turtle, Ghost, of Object voor props. Elk type krijgt een skelet dat voor zijn lichaam is gemaakt en animaties die daarvoor zijn gemaakt: galopperen, fladderen, brullen, zwemmen, kronkelen. Ze spelen op dezelfde manier af, met dezelfde AnimationPlayer en AnimationTree. Elk model dat als hetzelfde lichaamstype is gerigd, heeft dezelfde bone- en animatienamen, dus de AnimationTree van de ene wolf werkt voor elke wolf. De handleiding voor dieren zet de animaties van elk type op een rij.
- Draak
- Viervoeter
- Hoefdier
- Dinosaurus
- Spin
- Vis
Wat telt als rig
Elke rig die AFK AI bereikt, kost een van de rigs van deze maand, net als op afk.ai/rig en in de andere AFK AI-plugins. Cancel stopt het wachten, niet de rig, en die telt dus nog steeds. Een mislukte rig telt niet. Zijn je rigs op, dan meldt het dock dat en toont het See plans, dat de pakketten van afk.ai opent.
Veelgestelde vragen
Heeft Godot een ingebouwde auto-rigger?
Nee. Godot importeert skeletten en animaties die al bestaan, en met zijn retargeting zet je het ene humanoïde skelet om naar het andere, maar het rigt geen mesh. Dat deel doet de AFK AI-add-on, en die levert Godot een gewone GLB.
Werkt het in Godot 3?
Nee. Het heeft Godot 4.2 of nieuwer nodig. Met Godot 3 rig je het model op afk.ai/rig en importeer je de GLB die je daar downloadt.
Kan ik het gebruiken in een C#-project?
Ja. De add-on is GDScript, en dat draait ook in de .NET-versie van Godot. De gerigde GLB is hoe dan ook dezelfde. In C# speel je een animatie af met GetNode<AnimationPlayer>("Hero/AnimationPlayer").Play("Jog", 0.2);.
Waarom een GLB en geen FBX?
GLB is het formaat dat Godot het best importeert: het skelet, de skin weights en elke animatie komen erdoor zoals ze zijn, in elke versie van Godot 4. Je origineel mag een FBX zijn; wat terugkomt, is een GLB.
Komt de add-on in mijn geëxporteerde game terecht?
Je game gebruikt de gerigde GLB. De add-on zelf doet alleen iets in de editor; wil je zijn bestanden buiten een export houden, sluit dan addons/afk_ai/* uit op het tabblad Resources van de export-preset.
Kan ik meerdere modellen tegelijk riggen?
Eén tegelijk, ongeveer een minuut per model. Wil je een hele map vanuit een script riggen, gebruik dan de rigging-API: die levert dezelfde GLB.
Mag ik de gerigde personages gebruiken in een commerciële game?
Ja. De skeletten en animaties zijn CC0, en je model blijft van jou.
Is er ook een AFK AI-plugin voor Blender, Unity of Unreal?
Ja. Zie de handleidingen voor Blender, Unity en Unreal Engine, en het overzicht van alle AFK AI-plugins voor alle negen apps.
Rig en animeer je model
Een AI rigt het in je browser, waarna je er honderden animaties op afspeelt. Download één GLB voor elke engine.
Meer handleidingen
Stappenplan
Een personage automatisch riggen in Blender: de gratis add-on van AFK AI
Selecteer je model, klik op Rig, en ongeveer een minuut later staat er een gerigde kopie met animaties naast, in Blender 4.2 en nieuwer.
Stappenplan
Een personage automatisch riggen in Unreal Engine 5: van static mesh naar geanimeerde skeletal mesh
Klik met rechts op een mesh, kies Rig with AFK AI, en een minuut later staat er in dezelfde map een skeletal mesh met zijn skelet, physics asset en animaties.
Stappenplan
Elk 3D-model automatisch riggen in Unity: klaar voor Humanoid, met zijn animatieclips
Kies een model in het Project-venster en klik op Rig. Een minuut later staat er een gerigde FBX naast, ingesteld als Humanoid, met elke animatie als clip.