GuidesHow-to6 Min. Lesezeit
3D-Charaktere in Godot 4 riggen und animieren – mit dem Add-on von AFK AI, AnimationPlayer und AnimationTree
Klicke im FileSystem-Dock auf ein Modell und dann auf Rig. Etwa eine Minute später liegt daneben eine geriggte GLB-Datei mit ihren Animationen, Geh- und Idle-Animationen laufen schon in Schleife.
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 spielt Animationen hervorragend ab, kann aber selbst kein Rig erstellen. Ein Charakter geht deshalb meist auf eine Rundreise: exportieren, in Blender riggen (oder in Mixamo, aber nur bei Humanoiden), Animationen suchen, eine GLB-Datei exportieren und nach dem Import jede Animation, die sich wiederholen soll, erneut auf Loop stellen.
Das Add-on von AFK AI erledigt diese Rundreise aus einem Dock im Godot-Editor heraus. Klicke im FileSystem-Dock auf dein Modell, dann auf Rig. Etwa eine Minute später ist hero_rigged.glb neben hero.glb gespeichert: mit einem Skelett, das zum Körper passt, mit Skin Weights und mit den Animationen in einem AnimationPlayer. Idles, Geh- und Laufanimationen sind schon auf Loop gestellt.
Was du brauchst
- Godot
- 4.2 oder neuer, der Standard-Build oder der .NET-Build.
- Dein Modell
- Eine
.glb-,.gltf- oder.fbx-Datei in deinem Projekt, bis 50 MB. Bei einer.gltf-Datei muss alles in dieser einen Datei stecken; liegt bei deiner eine.bindaneben, exportiere stattdessen eine.glb-Datei. - Ein afk.ai-Konto
- Kostenlos, über Google. Jedes Rig verbraucht eines der Rigs, die dein Konto im Monat hat, genau wie auf afk.ai/rig.
- Internet
- Das Rigging läuft auf den Servern von afk.ai. Gesendet wird nur die Modelldatei, die du auswählst.
Das Add-on installieren
- Lade das Add-on von der Seite des Godot-Plugins herunter.
- Kopiere seinen Ordner
addons/afk_aiin denaddons-Ordner deines Projekts. Hat dein Projekt noch keinenaddons-Ordner, leg einen an. - Öffne Project > Project Settings > Plugins und hake Enable neben AFK AI an.
Rechts neben dem Inspector erscheint ein Dock AFK AI.
Ein Modell riggen
- Melde dich an. Klicke im Dock AFK AI auf Sign in. Dein Browser öffnet afk.ai; melde dich dort mit Google an. Das Dock zeigt deine E-Mail-Adresse und wie viele Rigs du diesen Monat noch hast. Findet der Browser nicht zurück zu Godot, zeigt er stattdessen einen Anmeldecode an: Füge ihn unter I have a sign-in code ein und klicke auf Use.
- Wähle das Modell. Klicke im Dock FileSystem auf die Datei des Modells.
- Wähle die Optionen. Body type: Human für Menschen und alles, was auf zwei Beinen läuft, sonst das Tier oder die Kreatur, um die es geht. Animations: All animations oder Rig only, wenn du nur das Skelett willst. Facing: lass es auf Auto.
- Klicke auf Rig. Das Dock zeigt, was gerade passiert: Hochladen, Warten, Riggen, Herunterladen. Du kannst währenddessen weiterarbeiten.
Danach ist hero_rigged.glb neben hero.glb gespeichert, importiert und ausgewählt. Das Original bleibt unangetastet. Riggst du dasselbe Modell noch einmal, bekommst du hero_rigged_2.glb – überschrieben wird also nichts.
Was in der geriggten GLB-Datei steckt
Ziehe hero_rigged.glb in eine Szene, um das Modell zu verwenden: Es kommt als einzelner Node an, mit allem darunter.
- Skeleton3D
- Ein Skelett, das zum Körpertyp passt und an das dein Mesh per Skinning gebunden ist. Ein Mensch bekommt 66 Bones, alle Finger inklusive, mit Namen wie pelvis, spine_01, hand_r, foot_l und so weiter.
- AnimationPlayer
- Alle Animationen, jede unter ihrem eigenen Namen. Für einen Humanoiden bis zu 593: Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, Dance_Groove und Hunderte mehr. Mit einem kostenlosen Konto bekommst du die kostenlosen Animationen, ein Tarif schaltet den Rest frei.
- Loops
- Idles, Gehen, Laufen, Fliegen und Schwimmen laufen schon in Schleife. Das Add-on schreibt das in die Importeinstellungen der Datei, bevor Godot sie importiert.
- Ausrichtung
- Der Charakter schaut in Richtung +Z, wie es bei glTF-Modellen üblich ist.
Animationen mit einem AnimationPlayer abspielen
Der einfachste Spielercharakter: ein CharacterBody3D mit einer CollisionShape3D (einer Kapsel), darunter das geriggte Modell, hineingezogen und in Hero umbenannt. Hänge dieses Skript an den 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)Starte die Szene, und mit den Pfeiltasten joggt der Charakter herum; lässt du los, geht er sanft wieder ins Idle über. Rufst du play mit der Animation auf, die gerade schon läuft, spielt sie einfach weiter. Der Aufruf in jedem Frame ist also kein Problem.
Mit einem AnimationTree überblenden
Ein AnimationTree überblendet je nach Geschwindigkeit zwischen Animationen und kümmert sich um einmalige Bewegungen wie einen Angriff. Du richtest ihn einmal im Editor ein:
- Füge dem Charakter einen Node AnimationTree hinzu. Setze im Inspector Anim Player auf
Hero/AnimationPlayerund Tree Root auf eine neue AnimationNodeStateMachine. - Klicke unten im AnimationTree-Panel mit der rechten Maustaste und füge einen BlendSpace1D hinzu. Nenne ihn
Locomotion, öffne ihn und füge drei Punkte hinzu: Idle_A bei 0, Walk bei 1,5 und Jog bei 4 (stell dazu seinen Max Space auf 4). - Klicke noch einmal mit der rechten Maustaste und füge die Animation Sword_Attack hinzu. Verbinde Start mit Locomotion, Locomotion mit Sword_Attack und Sword_Attack zurück mit Locomotion, dabei mit Switch Mode auf At End und Advance Mode auf Auto.
- Lege unter Project > Project Settings > Input Map eine Aktion namens
attackan und weise ihr eine Taste zu.
Entferne dann im selben Skript die beiden Zeilen mit anim.play und steuere stattdessen den Tree:
@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")
Solange der AnimationTree aktiv ist, spielt er die Animationen ab. Ruf also nicht zusätzlich play am AnimationPlayer auf.
Ein Schwert halten, einen Loop ändern
Um dem Charakter etwas in die Hand zu geben, wähle sein Skeleton3D aus, füge darunter einen BoneAttachment3D hinzu, setze Bone Name auf hand_r und hänge das Schwert unter das Attachment. Es folgt der Hand durch jede Animation.
Um festzulegen, welche Animationen in Schleife laufen, doppelklicke im FileSystem-Dock auf hero_rigged.glb, um die Advanced Import Settings zu öffnen. Wähle links unter dem AnimationPlayer die Animation aus, ändere Loop Mode und klicke auf Reimport.
Tiere, Kreaturen und Props
Wähle im Dock den Körpertyp, bevor du auf Rig klickst: Fox für Hunde, Katzen und Wölfe, Horse für alle Huftiere, Bird, Dragon, Kaiju für Dinosaurier, Spider, Insect, Snake, Fish, Kangaroo, Frog, Turtle, Ghost oder Object für Props. Jeder bekommt ein Skelett, das zu seinem Körper passt, und Animationen, die dafür gemacht sind: Galoppieren, Flügelschlagen, Brüllen, Schwimmen, Schlängeln. Sie spielen genauso ab, mit demselben AnimationPlayer und AnimationTree. Jedes Modell mit demselben Körpertyp bekommt dieselben Bone- und Animationsnamen, deshalb funktioniert der AnimationTree eines Wolfs für jeden Wolf. Welche Animationen jeder Typ hat, steht im Guide zu Tieren.
- Drache
- Vierbeiner
- Huftier
- Dinosaurier
- Spinne
- Fisch
Was als Rig zählt
Jedes Rig, das AFK AI erreicht, verbraucht eines deiner Rigs für diesen Monat, genau wie auf afk.ai/rig und in den anderen Plugins von AFK AI. Cancel beendet nur das Warten, nicht das Rig – das zählt trotzdem. Ein fehlgeschlagenes Rig wird nicht gezählt. Sind deine Rigs aufgebraucht, sagt dir das Dock Bescheid und zeigt See plans an, das die Tarife von afk.ai öffnet.
Fragen
Hat Godot einen eingebauten Auto-Rigger?
Nein. Godot importiert Skelette und Animationen, die es schon gibt, und sein Retargeting überträgt ein humanoides Skelett auf ein anderes – ein Mesh riggen kann es aber nicht. Diesen Teil übernimmt das Add-on von AFK AI und übergibt Godot eine ganz normale GLB-Datei.
Funktioniert es in Godot 3?
Nein. Es braucht Godot 4.2 oder neuer. Mit Godot 3 riggst du das Modell auf afk.ai/rig und importierst die GLB-Datei, die du dort herunterlädst.
Kann ich es in einem C#-Projekt nutzen?
Ja. Das Add-on ist in GDScript geschrieben, das auch der .NET-Build von Godot ausführt, und die geriggte GLB-Datei ist in beiden Fällen dieselbe. In C# spielst du eine Animation mit GetNode<AnimationPlayer>("Hero/AnimationPlayer").Play("Jog", 0.2); ab.
Warum GLB und nicht FBX?
GLB ist das Format, das Godot am besten importiert: Skelett, Skin Weights und jede Animation kommen unverändert an, in jeder Version von Godot 4. Dein Original darf eine FBX-Datei sein; zurück kommt eine GLB-Datei.
Landet das Add-on in meinem exportierten Spiel?
Dein Spiel nutzt die geriggte GLB-Datei. Das Add-on selbst tut nur im Editor etwas. Um seine Dateien aus einem Export herauszuhalten, schließe addons/afk_ai/* im Tab Resources des Export-Presets aus.
Kann ich mehrere Modelle auf einmal riggen?
Eins nach dem anderen, jeweils etwa eine Minute. Um einen ganzen Ordner per Skript zu riggen, nimm die Rigging-API: Sie liefert dieselbe GLB-Datei.
Darf ich die geriggten Charaktere in einem kommerziellen Spiel verwenden?
Ja. Die Skelette und Animationen sind CC0, und dein Modell bleibt deins.
Gibt es auch ein Plugin von AFK AI für Blender, Unity oder Unreal?
Ja. Sieh dir die Guides für Blender, Unity und Unreal Engine an, und für alle neun Apps die Übersicht aller Plugins von AFK AI.
Rigge und animiere dein Modell
Eine KI riggt dein Modell im Browser. Danach kannst du Hunderte Animationen darauf abspielen. Lade alles als eine GLB-Datei herunter, die in jeder Engine läuft.
Weitere Guides
How-to
Charaktere in Blender automatisch riggen: das kostenlose Add-on von AFK AI
Modell auswählen, auf Rig klicken, und nach etwa einer Minute steht eine geriggte Kopie samt Animationen daneben. Ab Blender 4.2.
How-to
Charaktere in Unreal Engine 5 automatisch riggen – vom Static Mesh zum animierten Skeletal Mesh
Rechtsklick auf ein Mesh, Rig with AFK AI wählen, und eine Minute später liegt ein Skeletal Mesh mit Skelett, Physics Asset und Animationen im selben Ordner.
How-to
Jedes 3D-Modell direkt in Unity automatisch riggen – als Humanoid eingerichtet, mit Animationsclips
Wähle ein Modell im Project-Fenster aus und klicke auf Rig. Eine Minute später liegt daneben eine geriggte FBX-Datei, als Humanoid eingerichtet und mit jeder Animation als Clip.