Animation Blueprint, State Machine et Blend Space dans Unreal Engine 5
Ton personnage doit se reposer à l’arrêt et courir quand il avance ? Dans Unreal Engine, trois outils travaillent ensemble : l’Animation Blueprint, la State Machine et le Blend Space. Ce guide t’explique le rôle de chacun et comment les relier à la vitesse du personnage.
L’Animation Blueprint : il choisit la pose
Un Animation Blueprint (AnimBP) est un Blueprint spécial qui décide, à chaque image, de la pose du personnage : quelle animation jouer, comment en mélanger deux. Une pose, c’est la position de tous les os.
Tu le crées dans le Content Browser en choisissant le squelette du personnage, puis tu l’indiques dans Anim Class du composant Mesh. Il a deux graphes :
- l’EventGraph, comme celui d’un Blueprint normal, range des valeurs dans des variables, comme la vitesse ;
- l’AnimGraph lit ces valeurs et fabrique la pose à chaque image. Seule la pose qui arrive au nœud Output Pose s’affiche.
Lire la vitesse du personnage
Pour choisir entre repos et course, l’AnimBP doit connaître la vitesse. L’EventGraph la calcule à chaque image avec Event Blueprint Update Animation : il récupère le Pawn avec Try Get Pawn Owner, mesure sa vitesse au sol et la range dans une variable GroundSpeed. Event Blueprint Initialize Animation ne part qu’une fois : une vitesse lue là resterait figée.
La State Machine : des états et des transitions
Une State Machine range les animations en états : repos (Idle), course (Run), saut… Elle dit aussi quand passer de l’un à l’autre. Dans l’AnimGraph, tu ajoutes un nœud State Machine relié à Output Pose, puis tu y crées un état par animation. L’état relié à Entry est l’état de départ, et seul l’état actif tourne.
Une transition est une flèche entre deux états. Elle ne va que dans un sens : pour revenir, il faut une deuxième flèche. Chaque flèche a une règle qui donne vrai (on passe) ou faux (on reste).
- Idle vers Run : GroundSpeed > 10. Le personnage court dès qu’il dépasse 10 cm/s.
- Run vers Idle : l’inverse, GroundSpeed <= 10. Si tu recopiais « > 10 », la règle ne serait jamais vraie à l’arrêt et le personnage courrait sur place.
Le passage n’est pas brutal : Unreal mélange les deux états un court instant, réglable avec Duration.
Le Blend Space : mélanger au lieu de choisir
Entre la marche et la course, il y a plein de vitesses. Un Blend Space mélange les animations selon une valeur : à mi-vitesse, un peu de marche et un peu de course. Tu y poses des animations, les samples, le long d’un axe : le repos à 0, la marche au milieu, la course au bout. Entre deux samples, Unreal mélange.
Dans l’AnimBP, un nœud Blendspace Player remplace le Sequence Player, et ta variable GroundSpeed se relie au pin du même nom que l’axe. Si ce pin n’est pas branché, l’axe reste à 0 et ton personnage avance avec l’animation de repos. Pour avancer, reculer et aller de côté, il faut deux axes : la vitesse et la direction.
Le pas à pas complet, avec les captures de l’éditeur, des quiz et un mini-projet, est dans le chapitre « Animation » du cours.
Blend Space ou State Machine ?
Le Blend Space mélange en douceur ce qui change avec une valeur : aller lentement ou vite. La State Machine change d’action : repos, saut, nage. On utilise souvent les deux : un état Run qui contient un Blend Space.
Questions fréquentes
Mon personnage reste à 0 de vitesse en jeu, pourquoi ?
Tu as sûrement branché la lecture de la vitesse sur Event Blueprint Initialize Animation, qui ne part qu’une fois, quand le personnage est immobile. Il faut Event Blueprint Update Animation.
Mon personnage court sur place quand il s’arrête, pourquoi ?
La règle de la transition de retour doit être l’inverse de celle de l’aller (GroundSpeed <= 10). Avec > 10, elle n’est jamais vraie à l’arrêt.
Au clavier, mon personnage ne fait que courir, c’est un bug ?
Non. Une touche, c’est tout ou rien : pleine vitesse. Avec un stick de manette poussé doucement, la vitesse baisse et la marche apparaît.
Sources officielles
- Animation Blueprints (documentation Epic)
- Graphing in Animation Blueprints (documentation Epic)
- Try Get Pawn Owner (documentation Epic)
- Is Valid (documentation Epic)
- Vector Length XY (documentation Epic)
- State Machines (documentation Epic)
- Transition Rules (documentation Epic)
- Blend Spaces (documentation Epic)
- Blend Spaces in Animation Blueprints (documentation Epic)
À lire aussi : jouer une animation avec un Animation Montage, Pawn, Character et Controller et Event Tick et BeginPlay.
Tu veux animer ton propre personnage ? Suis des leçons courtes, des quiz et des mini-projets, à ton rythme, pour construire chaque étape.
Apprendre Unreal Engine 5 gratuitement