GuidesTuto6 min de lecture
Rigger et animer un personnage 3D dans Godot 4 : L’add-on AFK AI, AnimationPlayer et AnimationTree
Cliquez sur un modèle dans le dock FileSystem, puis sur Rig et, environ une minute plus tard, un GLB riggé avec ses animations se trouve à côté, les marches et les attentes déjà en boucle.
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 excelle à jouer des animations, mais ne sait pas créer de rig. Un personnage fait donc généralement un aller-retour : l’exporter, le rigger dans Blender (ou dans Mixamo, pour les humanoïdes uniquement), trouver des animations, exporter un GLB, puis remettre en boucle, après l’import, chaque animation qui doit boucler.
L’add-on AFK AI fait cet aller-retour depuis un dock de l’éditeur Godot. Cliquez sur votre modèle dans le dock FileSystem, puis sur Rig. Environ une minute plus tard, hero_rigged.glb est enregistré à côté de hero.glb, avec un squelette conçu pour son corps, des poids de skinning et ses animations dans un AnimationPlayer. Les animations d’attente, de marche et de course sont déjà réglées en boucle.
Ce qu’il vous faut
- Godot
- 4.2 ou plus récent, en version standard ou .NET.
- Votre modèle
- Un
.glb,.gltfou.fbxdans votre projet, jusqu’à 50 Mo. Un.gltfdoit tout contenir dans ce seul fichier ; si le vôtre est accompagné d’un.bin, exportez plutôt un.glb. - Un compte afk.ai
- Gratuit, avec Google. Chaque rig est décompté des rigs du mois de votre compte, comme sur afk.ai/rig.
- Internet
- Le rigging se fait sur les serveurs d’afk.ai. Seul le fichier de modèle que vous choisissez est envoyé.
Installer l’add-on
- Téléchargez l’add-on depuis la page du plugin Godot.
- Copiez son dossier
addons/afk_aidans le dossieraddonsde votre projet. Créez le dossieraddonssi votre projet n’en a pas. - Ouvrez Project > Project Settings > Plugins et cochez Enable à côté d’AFK AI.
Un dock AFK AI apparaît à droite, à côté de l’Inspector.
Rigger un modèle
- Connectez-vous. Cliquez sur Sign in dans le dock AFK AI. Votre navigateur ouvre afk.ai ; connectez-vous avec Google. Le dock affiche votre e-mail et le nombre de rigs qu’il vous reste ce mois-ci. Si le navigateur ne parvient pas à revenir à Godot, il affiche un code de connexion à la place : collez-le sous I have a sign-in code et cliquez sur Use.
- Choisissez le modèle. Dans le dock FileSystem, cliquez sur le fichier du modèle.
- Choisissez les options. Body type : Human pour les humains et tout ce qui marche sur deux jambes, ou l’animal ou la créature dont il s’agit. Animations : All animations, ou Rig only pour le squelette seul. Facing : laissez-le sur Auto.
- Cliquez sur Rig. Le dock indique où en est le rig : envoi, attente, rigging, téléchargement. Continuez à travailler pendant ce temps.
Une fois le rig terminé, hero_rigged.glb est enregistré à côté de hero.glb, importé et sélectionné. L’original n’est pas modifié. Riggez à nouveau le même modèle et vous obtenez hero_rigged_2.glb : rien n’est écrasé.
Ce que contient le GLB riggé
Pour l’utiliser, faites glisser hero_rigged.glb dans une scène : il arrive sous la forme d’un seul nœud, avec tout le reste en dessous.
- Skeleton3D
- Un squelette conçu pour le type de corps, auquel votre mesh est lié par skinning. Un humain reçoit 66 os, doigts compris, nommés pelvis, spine_01, hand_r, foot_l, etc.
- AnimationPlayer
- Toutes les animations, chacune sous son propre nom. Pour un humanoïde, jusqu’à 593 : Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, Dance_Groove et des centaines d’autres. Un compte gratuit reçoit les animations gratuites, et une formule ajoute toutes les autres.
- Boucles
- Les attentes, les marches, les courses, le vol et la nage bouclent déjà. L’add-on l’inscrit dans les réglages d’import du fichier avant que Godot ne l’importe.
- Orientation
- Le personnage regarde vers +Z, comme les modèles glTF.
Jouer des animations avec un AnimationPlayer
Le personnage joueur le plus simple : un CharacterBody3D avec un CollisionShape3D (une capsule), et le modèle riggé glissé en dessous et renommé Hero. Attachez ce script au 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)Lancez la scène : les flèches du clavier font trottiner le personnage, qui revient en douceur à l’attente quand vous relâchez. Appeler play avec l’animation déjà en cours la laisse continuer : l’appeler à chaque image ne pose donc aucun problème.
Les mélanger avec un AnimationTree
Un AnimationTree mélange les animations selon la vitesse et gère les mouvements ponctuels, comme une attaque. Configurez-le une fois dans l’éditeur :
- Ajoutez un nœud AnimationTree au personnage. Dans l’Inspector, réglez Anim Player sur
Hero/AnimationPlayeret Tree Root sur un nouveau AnimationNodeStateMachine. - Dans le panneau AnimationTree, en bas, faites un clic droit et ajoutez un BlendSpace1D. Nommez-le
Locomotion, ouvrez-le et ajoutez trois points : Idle_A à 0, Walk à 1,5 et Jog à 4 (réglez son Max Space sur 4). - Faites à nouveau un clic droit et ajoutez l’animation Sword_Attack. Reliez Start à Locomotion, Locomotion à Sword_Attack, et Sword_Attack à Locomotion avec Switch Mode réglé sur At End et Advance Mode sur Auto.
- Dans Project > Project Settings > Input Map, ajoutez une action nommée
attacket associez-lui une touche.
Ensuite, dans le même script, supprimez les deux lignes anim.play et pilotez l’arbre à la place :
@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")
Tant que l’AnimationTree est actif, c’est lui qui joue les animations : n’appelez donc pas aussi la méthode play de l’AnimationPlayer.
Tenir une épée, modifier une boucle
Pour placer un objet dans la main du personnage, sélectionnez son Skeleton3D, ajoutez-y un BoneAttachment3D, réglez Bone Name sur hand_r et placez l’épée sous ce nœud. Elle suit la main dans toutes les animations.
Pour changer les animations qui bouclent, double-cliquez sur hero_rigged.glb dans le dock FileSystem pour ouvrir Advanced Import Settings. Choisissez l’animation sous l’AnimationPlayer, à gauche, modifiez Loop Mode et cliquez sur Reimport.
Animaux, créatures et props
Choisissez le type de corps dans le dock avant de cliquer sur Rig : Fox pour les chiens, les chats et les loups, Horse pour tout animal à sabots, Bird, Dragon, Kaiju pour les dinosaures, Spider, Insect, Snake, Fish, Kangaroo, Frog, Turtle, Ghost, ou Object pour les props. Chacun reçoit un squelette conçu pour son corps et des animations conçues pour lui : galops, battements d’ailes, rugissements, nage, reptation. Elles se jouent de la même façon, avec le même AnimationPlayer et le même AnimationTree. Tous les modèles riggés avec le même type de corps ont les mêmes noms d’os et d’animations : l’AnimationTree d’un loup fonctionne donc pour tous les loups. Le guide des animaux liste les animations de chaque type.
- Dragon
- Quadrupède
- À sabots
- Dinosaure
- Araignée
- Poisson
Ce qui compte comme un rig
Chaque rig qui atteint AFK AI consomme un des rigs du mois, comme sur afk.ai/rig et dans les autres plugins AFK AI. Cancel arrête l’attente, pas le rig, qui reste décompté. Un rig qui échoue n’est pas décompté. Quand vous n’avez plus de rigs, le dock l’indique et affiche See plans, qui ouvre les formules d’afk.ai.
Questions fréquentes
Godot a-t-il un auto-rigger intégré ?
Non. Godot importe des squelettes et des animations qui existent déjà, et son retargeting fait correspondre un squelette humanoïde à un autre, mais il ne rigge pas un mesh. L’add-on AFK AI s’en charge, et remet à Godot un GLB ordinaire.
Fonctionne-t-il dans Godot 3 ?
Non. Il nécessite Godot 4.2 ou plus récent. Avec Godot 3, riggez le modèle sur afk.ai/rig et importez le GLB téléchargé.
Puis-je l’utiliser dans un projet C# ?
Oui. L’add-on est écrit en GDScript, que la version .NET de Godot exécute aussi, et le GLB riggé est le même dans les deux cas. En C#, jouez une animation avec GetNode<AnimationPlayer>("Hero/AnimationPlayer").Play("Jog", 0.2);.
Pourquoi un GLB et pas un FBX ?
Le GLB est le format que Godot importe le mieux : le squelette, les poids de skinning et toutes les animations arrivent tels quels, dans toutes les versions de Godot 4. Votre original peut être un FBX ; ce qui revient est un GLB.
L’add-on se retrouve-t-il dans mon jeu exporté ?
Votre jeu utilise le GLB riggé. L’add-on lui-même n’agit que dans l’éditeur ; pour exclure ses fichiers d’un export, ajoutez addons/afk_ai/* aux exclusions dans l’onglet Resources du preset d’export.
Puis-je rigger plusieurs modèles à la fois ?
Un à la fois, environ une minute chacun. Pour rigger tout un dossier depuis un script, utilisez l'API de rigging : elle produit le même GLB.
Puis-je utiliser les personnages riggés dans un jeu commercial ?
Oui. Les squelettes et les animations sont sous licence CC0, et votre modèle reste le vôtre.
Existe-t-il aussi un plugin AFK AI pour Blender, Unity ou Unreal ?
Oui. Consultez les guides pour Blender, Unity et Unreal Engine, et la présentation de tous les plugins AFK AI pour les neuf logiciels.
Riggez et animez votre modèle
L’IA le rigge dans votre navigateur. Vous pouvez ensuite jouer des centaines d’animations sur votre modèle. Téléchargez le tout dans un seul GLB, à importer dans le moteur de votre choix.
Autres guides
Tuto
Rigger automatiquement un personnage dans Blender : l’add-on gratuit AFK AI
Sélectionnez votre modèle, cliquez sur Rig et, environ une minute plus tard, une copie riggée avec ses animations se tient à côté, dans Blender 4.2 et plus récent.
Tuto
Rigger automatiquement un personnage dans Unreal Engine 5 : d’un static mesh à un skeletal mesh animé
Clic droit sur un mesh, Rig with AFK AI et, une minute plus tard, un skeletal mesh avec son squelette, son physics asset et ses animations se trouve dans le même dossier.
Tuto
Rigger n’importe quel modèle 3D dans Unity : prêt pour Humanoid, avec ses clips d’animation
Choisissez un modèle dans la fenêtre Project et cliquez sur Rig. Une minute plus tard, un FBX riggé se trouve à côté, configuré en Humanoid, avec chaque animation sous forme de clip.