GuidesTuto8 min de lecture

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.

Window › AFK AI

AFK AI

Signed in as you@example.comSign out

Model

Hero.fbx

Body typehuman

All animationsRig only

FacingAuto

Adding the animations...

Stop waiting
Project › Assets/Characters
  • Hero.fbx
  • Hero_rigged.fbxHumanoid
  • └Idle_ALoop Time ✓
  • └WalkLoop Time ✓
  • └Jump_Startonce
  • └Sword_Attackonce
  • └…
  • └Hero_riggedAvatarAvatar
Dessin d’après le plugin, pas une capture d’écran : la fenêtre AFK AI pendant le rigging de Hero.fbx, puis la fenêtre Project, avec Hero_rigged.fbx configuré en Humanoid et ses clips en boucle signalés.

Pour animer un personnage dans Unity, on passe généralement par Mixamo. Vous exportez un FBX, l’importez sur le site, placez des repères sur le menton, les poignets, les coudes et les genoux, téléchargez les animations une par une, puis réglez chaque fichier en Humanoid et cochez Loop Time sur chaque clip. Et cela ne fonctionne que pour les humanoïdes.

Le package AFK AI fait tout cela depuis une fenêtre de l’éditeur Unity. Choisissez le modèle dans votre fenêtre Project et cliquez sur Rig. Environ une minute plus tard, Hero_rigged.fbx se trouve à côté de Hero.fbx, déjà configuré en Humanoid, avec chaque animation sous forme de clip et les marches et animations d’attente réglées en boucle.

Mixamo ou AFK AI dans Unity

Mixamo est gratuit et propose une grande bibliothèque d’animations humanoïdes. AFK AI vous épargne les allers-retours, rigge aussi les animaux et les props, et apporte jusqu’à 593 animations pour un humanoïde dans un seul fichier. Un compte gratuit reçoit les animations gratuites, et une formule ajoute toutes les autres.

MixamoAFK AI dans Unity
OùUn site web : import, rigging, téléchargementUne fenêtre de l’éditeur Unity
Ce que vous faitesPlacer des repères sur le menton, les poignets, les coudes, les genoux et l’entrejambeChoisir un type de corps, cliquer sur Rig
CorpsHumanoïdes uniquementHumanoïdes et 14 autres types de corps
AnimationsTéléchargées une par uneToutes les animations du type de corps, dans un seul FBX
Configuration UnityÀ la main : Humanoid, puis Loop Time sur chaque clipDéjà faite : Humanoid, un clip par animation, boucles activées
ConnexionUn compte AdobeUn compte afk.ai, avec Google

Installer le package

  1. Téléchargez le package depuis la page du plugin Unity : un seul fichier .tgz. Rangez-le hors de votre projet, à un endroit où il pourra rester, car Unity lit le package depuis ce fichier.
  2. Dans Unity, ouvrez Window > Package Manager, cliquez sur + en haut à gauche et choisissez Add package from tarball....
  3. Sélectionnez le fichier .tgz téléchargé. Ne le décompressez pas.
  4. Ouvrez Window > AFK AI. Ancrez la fenêtre où vous voulez.

Il fonctionne à partir d’Unity 2021.3, Unity 6 compris, aussi bien avec le pipeline Built-in qu’avec URP et HDRP : le plugin n’intervient que sur l’import du modèle. Tout son code est réservé à l’éditeur, si bien que rien ne se retrouve dans votre jeu.

Se connecter

  1. Dans la fenêtre AFK AI, cliquez sur Sign in. Votre navigateur ouvre la page de connexion d’afk.ai ; connectez-vous avec Google.
  2. Le navigateur affiche « You’re signed in ». Fermez l’onglet et revenez dans Unity : la fenêtre affiche votre e-mail et le nombre de rigs qu’il vous reste ce mois-ci.

Si le navigateur ne parvient pas à revenir à Unity (certains logiciels de sécurité le bloquent), afk.ai affiche un code de connexion à la place. Ouvrez I have a sign-in code dans la fenêtre AFK AI, collez-le et cliquez sur Use code.

Votre connexion est conservée dans les réglages propres à Unity, pour votre utilisateur sur cet ordinateur, jamais dans le projet : elle n’est donc pas partagée quand vous partagez ou versionnez le projet.

Rigger un modèle

  1. Dans la fenêtre Project, sélectionnez le modèle : un fichier .fbx, .glb ou .gltf jusqu’à 50 Mo. Un modèle placé dans la scène fonctionne aussi : le plugin envoie le fichier dont il provient. Unity n’affiche les fichiers .glb comme des modèles que si un importeur glTF est installé, mais le plugin les envoie dans tous les cas.
  2. Dans la fenêtre AFK AI, réglez le 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.
  3. Laissez All animations activé, ou choisissez Rig only pour le squelette seul. Laissez Facing sur Auto.
  4. Cliquez sur Rig. La fenêtre affiche la progression : envoi, attente, rigging, ajout des animations, téléchargement. Vous pouvez continuer à travailler, et fermer la fenêtre n’interrompt pas le rig.

Une fois le rig terminé, Hero_rigged.fbx est enregistré à côté de Hero.fbx, sélectionné et mis en évidence dans la fenêtre Project. Le fichier d’origine n’est pas modifié.

Ce que reçoit Unity

  • Humanoid : un humain arrive sous forme de rig Humanoid avec son propre Avatar (Hero_riggedAvatar) : il partage donc ses animations avec tous vos autres personnages Humanoid, dans les deux sens. Unity associe lui-même les os à ses emplacements Humanoid, doigts compris.
  • Generic : tous les autres types de corps, du renard au dragon, arrivent sous forme de rig Generic.
  • Clips : chaque animation est un clip distinct, nommé comme sur afk.ai : Idle_A, Walk, Jog, Sprint, Jump_Start, Sword_Attack, etc.
  • Boucles : les clips dont le nom indique qu’ils se répètent (idle, walk, run, fly, swim, etc.) ont Loop Time activé. Les clips ponctuels comme Jump_Start, Sword_Attack ou Death_A sont joués une fois.
  • Root motion : les animations dont le nom se termine par _RM (Roll_RM, Dodge_left_RM) font avancer le personnage d’elles-mêmes ; les autres sont jouées sur place.

Si Unity n’arrive pas à faire correspondre un squelette à ses os Humanoid, le plugin configure le modèle en Generic à la place et indique pourquoi. Les animations fonctionnent toujours ; elles ne peuvent simplement pas être partagées avec d’autres personnages Humanoid.

Le personnage de style anime en pose en T, avec les articulations placées par afk.ai représentées par des points, jusqu’au bout des doigts
anime-girl.glb · skeleton
root  └ pelvis    └ spine_01      └ spine_02        └ spine_03          └ neck_01            └ head          └ clavicle_l            └ upperarm_l              └ lowerarm_l                └ hand_l                  └ thumb_01_l  thumb_02_l  thumb_03_l                  └ index_01_l  index_02_l  index_03_l                  └ middle_01_l  middle_02_l  middle_03_l                  └ ring_01_l  ring_02_l  ring_03_l                  └ pinky_01_l  pinky_02_l  pinky_03_l          └ clavicle_r ... (idem à droite)    └ thigh_l      └ calf_l        └ foot_l          └ ball_l    └ thigh_r ... (idem à droite)
Le squelette attribué à chaque rig humanoïde d’afk.ai : 66 os nommés comme ceux du mannequin d’Unreal Engine, avec trois articulations par doigt, pouce compris.

Configurer un Animator

Un blend tree qui passe de l’attente à la marche, au trot puis au sprint à mesure que le personnage accélère, et une attaque à l’épée sur un bouton :

  1. Faites glisser Hero_rigged.fbx dans la scène. Il a déjà un Animator avec son Avatar. Ajoutez-lui un Character Controller et désactivez Apply Root Motion sur l’Animator (c’est le script qui le déplace).
  2. Dans la fenêtre Project, choisissez Create > Animator Controller (dans Unity 6, Create > Animation > Animator Controller), nommez-le Hero et faites-le glisser sur le champ Controller de l’Animator.
  3. Ouvrez-le (Window > Animation > Animator). Dans Parameters, ajoutez un Float nommé Speed et un Trigger nommé Attack.
  4. Faites un clic droit dans le graphe et choisissez Create State > From New Blend Tree. Double-cliquez dessus, réglez son paramètre sur Speed et ajoutez quatre motions : Idle_A, Walk, Jog et Sprint, issues de Hero_rigged.fbx (cliquez sur sa flèche dans la fenêtre Project pour voir les clips). Désactivez Automate Thresholds et réglez les seuils sur les vitesses de déplacement de votre personnage, par exemple 0 ; 1,5 ; 3,5 et 6.
  5. De retour dans la Base Layer, faites glisser le clip Sword_Attack. Créez une transition du blend tree vers ce clip avec la condition Attack et Has Exit Time désactivé, pour qu’il démarre immédiatement, et une autre pour revenir au blend tree avec Has Exit Time activé.
  6. Ajoutez ce script au personnage :
using UnityEngine;

// Moves the character and tells its Animator how fast it's going.
[RequireComponent(typeof(Animator), typeof(CharacterController))]
public class HeroAnimation : MonoBehaviour
{
    static readonly int Speed = Animator.StringToHash("Speed");
    static readonly int Attack = Animator.StringToHash("Attack");

    [SerializeField] float runSpeed = 6f;
    Animator animator;
    CharacterController controller;

    void Awake()
    {
        animator = GetComponent<Animator>();
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
        // The Input Manager's axes. With only the Input System package, read your Move action here instead.
        var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
        var move = Vector3.ClampMagnitude(input, 1f) * runSpeed;
        controller.SimpleMove(move);
        if (move.sqrMagnitude > 0.01f) transform.rotation = Quaternion.LookRotation(move);

        animator.SetFloat(Speed, move.magnitude, 0.1f, Time.deltaTime); // eased, so the blend doesn't snap
        if (Input.GetButtonDown("Fire1")) animator.SetTrigger(Attack);
    }
}

Appuyez sur Play : le personnage attend, marche, trottine et sprinte avec le stick ou les flèches du clavier, et donne un coup d’épée à chaque clic.

EntryLocomotionBlend Tree · Idle_A, Walk, Jog, Sprint↓ Attack↑ Has Exit TimeSword_Attack
Schéma : l’Animator Controller. Le blend tree Locomotion passe d’Idle_A à Sprint selon Speed ; le trigger Attack joue Sword_Attack, qui revient à son état précédent une fois terminé.

Partager des animations avec d’autres personnages

Comme un humain riggé est en Humanoid, Unity se charge du retargeting. Déposez-y n’importe quel clip Humanoid, de l’Asset Store ou de votre propre bibliothèque, et il le joue. Dans l’autre sens, ses clips fonctionnent sur tous les personnages Humanoid que vous avez déjà : faites glisser le clip Sprint de Hero_rigged.fbx dans l’Animator Controller d’un autre personnage, et celui-ci se met à courir.

Les animaux et les créatures sont en Generic : leurs clips ne fonctionnent que sur leur propre squelette. En revanche, chaque modèle riggé par AFK AI avec le même type de corps reçoit les mêmes noms d’os et d’animations : l’Animator Controller d’un renard pilote donc n’importe quel autre renard que vous riggez.

Animaux, créatures et props

Choisissez le type de corps dans la fenêtre 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 qui rebondissent, tournent et oscillent. Chacun reçoit un squelette conçu pour son corps et des animations conçues pour ce squelette, et arrive sous forme de rig Generic, avec les mêmes clips et les mêmes boucles configurés. Le guide des animaux détaille ce que comprend chaque type.

  • Dragon
  • Quadrupède
  • À sabots
  • Dinosaure
  • Araignée
  • Poisson
Six modèles de morphologies différentes, riggés sur afk.ai/rig, avec leurs propres animations.

Ce qui compte comme un rig

Chaque clic sur Rig accepté par AFK AI consomme un des rigs du mois, comme un rig fait sur afk.ai/rig ou dans n’importe quel autre plugin AFK AI. Un rig qui échoue n’est pas décompté. Stop waiting arrête l’attente dans Unity, mais le rig continue et reste décompté. Si la connexion est coupée, Try again reprend le même rig, qui n’est jamais décompté deux fois. Quand vous n’avez plus de rigs, la fenêtre affiche See plans, qui ouvre les formules d’afk.ai.

En cas de problème

Le navigateur n’atteint pas la page après la connexion
Utilisez I have a sign-in code.
Couldn’t reach AFK AI
Vérifiez votre connexion, puis cliquez sur Try again. Le même rig reprend.
Le modèle est trop lourd
AFK AI accepte les modèles jusqu’à 50 Mo. Exportez une version plus légère, avec moins de polygones ou des textures plus petites.
« keeps its data in separate files »
Un .gltf accompagné de son .bin. Exportez plutôt un .glb.
Un clip boucle alors qu’il ne devrait pas
Sélectionnez Hero_rigged.fbx, ouvrez l’onglet Animation de l’Inspector, choisissez le clip, modifiez Loop Time et cliquez sur Apply.
Rien ne se passe quand vous cliquez sur Rig
Sélectionnez d’abord un .fbx, .glb ou .gltf dans la fenêtre Project. La fenêtre indique ce qui manque.

Questions fréquentes

Ai-je encore besoin de Mixamo ?

Non. Le plugin rigge le modèle et apporte ses animations en une seule étape, le tout configuré en Humanoid. Vous pouvez toujours utiliser les animations de Mixamo sur votre modèle : téléchargez-les pour n’importe quel personnage Humanoid, réglez-les en Humanoid, et elles fonctionnent sur le vôtre.

Le package AFK AI se retrouve-t-il dans le build de mon jeu ?

Non. Tout son code se trouve dans une assembly réservée à l’éditeur. Ce qui reste dans votre projet, c’est le FBX riggé, un asset de modèle ordinaire.

Fonctionne-t-il dans Unity 6 ?

Oui. Il fonctionne dans Unity 2021.3 et toutes les versions suivantes, Unity 6 compris.

Puis-je rigger un modèle .glb ou .gltf dans Unity ?

Oui. Le plugin envoie le fichier tel quel, même quand Unity n’a pas d’importeur glTF pour l’afficher comme un modèle. Ce qui revient est un FBX, qu’Unity importe sans rien installer de plus. Un .gltf doit avoir toutes ses ressources intégrées ; sinon, exportez un .glb.

Le rig fonctionnera-t-il pour un avatar VRChat ?

Oui. Un humain riggé est en Humanoid, avec tous ses doigts, ce dont VRChat a besoin. Le guide VRChat couvre le reste de la configuration.

Et si le personnage est tourné dans le mauvais sens ?

Riggez-le à nouveau avec Facing réglé sur l’angle dont il est tourné (90°, 180° ou 270°). Auto le détermine pour la plupart des modèles.

Puis-je rigger tout un dossier de modèles depuis un script ?

Le plugin rigge un modèle à la fois. Pour des lots et des pipelines de build, utilisez l'API de rigging, en ligne de commande ou depuis votre propre code.

Existe-t-il aussi un plugin pour Unreal, Godot ou Blender ?

Oui : Unreal Engine, Godot et Blender ont leurs propres guides, et la présentation de tous les plugins AFK AI couvre 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.

Rigger un modèle

Autres guides