Pawn, Character et Controller dans Unreal Engine 5
Dans Unreal Engine, ce qui bouge dans le niveau et ce qui le dirige sont deux classes différentes. À la fin de ce guide, tu sauras ce que sont un Pawn, un Character et un Controller, comment choisir la bonne classe parente et comment un Controller prend les commandes d’un Pawn. Tout est vérifié sur la documentation officielle d’Epic Games.
Le Gameplay Framework : des classes avec un métier chacune
Unreal fournit des classes toutes prêtes, chacune avec un seul rôle. L’ensemble s’appelle le Gameplay Framework. Tu prends la bonne classe et tu changes seulement ce qui t’intéresse.
- GameMode : il fixe les règles de la partie. Par exemple quel Pawn reçoit le joueur, où il apparaît, quand on gagne, si on peut mettre en pause. Tu ne le vois pas dans le niveau.
- Pawn : l’acteur qui bouge dans le niveau et qu’on peut diriger.
- Controller : ce qui dirige un Pawn.
- PlayerState : les informations d’un seul joueur, comme son nom ou son score.
- GameState : les informations de toute la partie, comme le temps ou le score des équipes.
Le Pawn : un acteur qu’on peut diriger
Un Pawn est un acteur qu’un joueur ou une IA peut diriger. Il a une position, une rotation et des collisions. Un Pawn n’est pas forcément humain : une voiture ou une tourelle peuvent aussi être des Pawns. Pour un acteur qui ne marche pas, comme une tourelle qui vise, un simple Pawn suffit.
Le Character : un Pawn qui sait marcher
Le Character est un Pawn qui sait déjà marcher, courir, sauter, tomber et nager. Pour un héros debout, c’est le bon choix. Avec un simple Pawn, tu devrais tout refaire toi-même.
Un Character contient trois morceaux principaux, visibles dans l’onglet Components de son Blueprint :
- Capsule : elle gère les collisions.
- Mesh : le modèle animé.
- Character Movement : il gère les déplacements.
Le personnage du modèle Third Person, BP_ThirdPersonCharacter, a pour classe parente Character. C’est pour cela qu’il court et saute sans que tu aies écrit quoi que ce soit : un Blueprint reprend tout ce que sait faire sa classe parente.
Quelle classe parente choisir ?
Choisis toujours la classe la plus simple qui fait le travail.
- Un héros qui marche : Character.
- Une tourelle fixe que le joueur dirige : Pawn.
- Un coffre que personne ne dirige : un simple Actor.
Le Controller : ce qui dirige le Pawn
Un Controller n’est pas un Pawn. Pour agir, il « possède » un Pawn : il en prend les commandes, comme un pilote qui monte dans une voiture. Sans Pawn, il ne peut ni bouger ni sauter. Il existe deux grands types :
- le PlayerController reçoit les touches du joueur ;
- l’AIController est joué par l’ordinateur, par exemple pour un ennemi.
Dans le modèle Third Person, le PlayerController s’appelle BP_ThirdPersonPlayerController. Au démarrage, c’est lui qui branche les touches et la souris.
Possess et Un Possess
Le nœud Possess fait prendre un Pawn au Controller. Le nœud Un Possess le lui fait lâcher. Par défaut, un Controller ne dirige qu’un seul Pawn à la fois.
Pour passer de l’un à l’autre :
- depuis un Controller, Get Controlled Pawn donne le Pawn qu’il dirige ;
- depuis un Pawn, Get Controller donne le Controller qui le dirige.
La possession automatique
Pour un Pawn posé dans le niveau, ouvre ses Details. Le réglage Auto Possess Player sur Player 0 le donne au premier joueur dès le départ. Le réglage Auto Possess AI le donne à une IA. Aucun nœud à ajouter.
Piège : un Pawn créé en cours de partie reste planté
Un Pawn créé en pleine partie avec Spawn Actor from Class n’a personne aux commandes. Il reste immobile. Donne-lui un Controller : dans ses Details, mets Auto Possess AI sur Placed in World or Spawned, ou utilise un nœud Possess.
Questions fréquentes
Quelle est la différence entre un Pawn et un Character ?
Un Character est un Pawn qui sait déjà marcher, courir, sauter, tomber et nager. Avec un simple Pawn, tu devrais tout refaire toi-même. Un simple Pawn suffit pour un acteur qui ne marche pas, comme une tourelle qui vise.
Quelle classe décide que la partie est perdue ?
C’est le GameMode, car c’est lui qui fixe les règles de la partie. Le Pawn est l’acteur qui bouge dans le niveau, le PlayerState concerne un seul joueur et le PlayerController dirige le Pawn d’un seul joueur.
Mon ennemi créé avec Spawn Actor from Class ne bouge pas, pourquoi ?
Personne ne le possède. Règle Auto Possess AI sur Placed in World or Spawned dans ses Details, ou ajoute un Possess.
Sources officielles
- Gameplay Framework (documentation Epic)
- Game Mode and Game State (documentation Epic)
- Gameplay Framework Quick Reference (documentation Epic)
- Controllers (documentation Epic)
- Player Controllers (documentation Epic)
- Pawn (documentation Epic)
- Characters (documentation Epic)
- Possess (documentation Epic)
- Get Controlled Pawn (documentation Epic)
- APawn (documentation Epic)
À lire aussi : GameMode, GameState et PlayerState, la caméra à la troisième personne et une IA ennemie avec un Behavior Tree.
Tu veux voir un Character, son Controller et un Pawn posséder leur rôle dans un vrai projet ? Le cours te le montre avec des leçons courtes, des quiz et des mini-projets, à ton rythme.
Apprendre Unreal Engine 5 gratuitement