GuidesTuto5 min de lecture

VRM en FBX, GLB en FBX et inversement : Un convertisseur 3D qui garde les animations

N'importe quel modèle 3D en GLB, FBX, USDZ, OBJ ou STL dans votre navigateur, avec son squelette, ses poids de skinning, chaque image clé et ses formes de visage.

afk.ai/rig/convert
Un VRM déposé sur afk.ai/rig/convert : son aperçu, FBX choisi, ce que le FBX conserve, et le fichier converti. Les temps d'attente sont accélérés. Modèle : AvatarSample_C de VRoid Studio, par pixiv.

afk.ai/rig/convert convertit un modèle 3D dans un autre format de fichier sans perdre ce qui le fait bouger. Déposez un VRM et récupérez un FBX qu'Unity lit comme un personnage riggé avec ses formes de visage. Déposez un FBX animé et récupérez un GLB pour le web. Le squelette, les poids de skinning et chaque image clé de chaque animation passent tels quels.

Ce qu'il convertit

Il lit les VRM 0 et 1.0, GLB, glTF (avec ses fichiers, ou dans un ZIP), FBX, OBJ, STL, PLY, USD et USDZ, jusqu'à 150 Mo. Il écrit cinq formats, et chacun contient une part différente d'un modèle. La page vous indique laquelle avant la conversion.

FormatGardeLaisse de côté
GLBSquelette, poids, toutes les animations, formes de visage, matériaux et texturesSeulement les extras propres au VRM
FBXLa même chose, chaque animation dans une take à partSeulement les extras propres au VRM
USDZSquelette, poids, formes de visage et une animationLes autres animations : un USDZ ne contient qu'une timeline
OBJLe maillage, ses matériaux et ses textures, dans un ZIPSquelette, animations et formes de visage
STLLa forme, à taille réelle en millimètresTout le reste, couleurs et textures comprises

Comment convertir un VRM en FBX pour Unity

  1. Ouvrez afk.ai/rig/convert et connectez-vous.
  2. Déposez votre VRM. Il se joue dans l'aperçu comme dans les applis VRM : ses cheveux qui se balancent, ses expressions prêtes à essayer.
  3. Choisissez FBX. La page liste, pour ce modèle, ce que le FBX garde, ce qu'il modifie et ce qu'il laisse de côté.
  4. Convertissez en FBX. Le fichier est créé sur nos serveurs et se télécharge tout seul. Un avatar VRoid prend quelques secondes ; des centaines d'animations prennent quelques minutes.
  5. Importez-le dans Unity. Faites glisser le FBX dans Assets. Dans son onglet Rig, réglez Animation Type sur Humanoid et cliquez sur Apply.
afk.ai/rig/convert, FBX choisi : D'un VRM vers FBX, avec ce qu'il conserve, modifie et laisse de côté

D'un VRM vers FBX

afk.ai/rig/convert, FBX choisi : D'un GLB animé vers FBX, avec ce qu'il conserve, modifie et laisse de côté

D'un GLB animé vers FBX

Ce qu'afk.ai/rig/convert annonce que le FBX va conserver, modifier et laisser de côté, calculé pour le modèle déposé : AvatarSample_C en VRM, et en GLB avec cinq animations.

Ce que devient un VRM

Un VRM est un glTF avec des extras que seules les applis VRM lisent. Le convertisseur garde tout ce qu'une autre application peut utiliser, et transforme le reste en quelque chose qu'elle sait exploiter.

  • Expressions : transformées en formes de visage (blend shapes) qui portent leur nom, comme Joy, Angry et Blink. Unity, Unreal, Blender et three.js peuvent tous les piloter.
  • Spring bones : le balancement des cheveux et des vêtements est intégré aux animations du modèle sous forme d'images clés, tel qu'une appli VRM le jouerait. Un VRM n'a pas d'animations à lui : donnez-lui-en sur afk.ai d'abord.
  • Toon shading : transformé en matériaux éclairés ordinaires, avec les mêmes textures. Pour un GLB, vous pouvez demander à la place des matériaux plats, non éclairés.
  • Orientation : un VRM 0 regarde vers l'arrière dans la plupart des applis : il est donc retourné pour regarder vers l'avant.
  • Laissé de côté : ce que seules les applis VRM lisent, comme ses étiquettes d'os, le suivi du regard (look-at), les réglages de vue à la première personne et les informations sur son créateur.

Nous avons converti AvatarSample_C de VRoid Studio. Le VRM de 13,1 Mo est devenu un FBX de 10,5 Mo avec ses 101 os, 18 347 sommets, 14 matériaux et leurs textures, orienté vers l'avant. Ses 14 expressions sont ressorties en shape keys nommées Neutral, Joy, Angry, Sorrow, Fun, Surprised, Blink et les formes de bouche A, I, U, E et O, à côté des 54 formes de visage créées par VRoid.

  • L'expression Neutral d'AvatarSample_CNeutral
  • L'expression Joy d'AvatarSample_CJoy
  • L'expression Angry d'AvatarSample_CAngry
  • L'expression Surprised d'AvatarSample_CSurprised
Joy dans l'aperçu du convertisseurLe VRM, sur afk.ai
Le même visage, en shape key du FBX converti dans BlenderLe FBX, dans Blender
Quatre des expressions du VRM dans l'aperçu du convertisseur, et l'une d'elles dans le FBX converti, ouvert dans Blender : une shape key qui porte son nom. Modèle : AvatarSample_C de VRoid Studio, par pixiv.

Chaque image clé, image par image

Les convertisseurs rééchantillonnent souvent les animations, simplifient leurs courbes ou les font démarrer une image trop tard. Celui-ci, non. Chaque image clé de chaque animation tombe là où elle était, chaque animation garde ses propres mouvements du visage, et chacune commence au temps zéro, comme dans l'original.

Un FBX reçoit chaque animation dans une take à part, chaque image de chaque os écrite en entier, rien de simplifié. Nous l'avons mesuré en échantillonnant chaque os 240 fois par seconde. Un GLB converti en FBX, puis ce FBX reconverti en GLB, sont chacun restés à moins de 0,002 mm et 0,05 degré du fichier précédent.

Nous l'avons essayé sur le même avatar avec cinq animations d'afk.ai : un GLB de 7,2 Mo est devenu un FBX de 29,3 Mo en quelques secondes. Chaque animation était une take à part à 120 images par seconde, avec une clé sur chaque image, et le balancement des cheveux et du manteau dans chacune.

C'est le prix à payer : un FBX est lourd. Les 193 animations gratuites d'afk.ai sur un même personnage donnent un FBX d'environ 230 Mo, qui prend quelques minutes.

  • Dance Groove
  • Jumping Jacks
  • Run Anime
Trois takes du FBX converti, rendues dans Blender : les animations telles qu'elles étaient, avec le balancement des cheveux et du manteau intégré. Modèle : AvatarSample_C de VRoid Studio, par pixiv.

Dans Blender, Unity, Unreal et Godot

  • Blender : File, Import, FBX. Chaque take arrive sous forme d'action, et les formes de visage sous forme de shape keys.
  • Unity : réglez l'onglet Rig sur Humanoid. Chaque take est un clip d'animation, et les formes de visage sont des blend shapes sur le Skinned Mesh Renderer.
  • Unreal Engine : importez en Skeletal Mesh avec Import Morph Targets et Import Animations activés.
  • Godot et three.js : un GLB se charge tel quel.
  • Appareils Apple : un USDZ s'ouvre dans Coup d'œil (Quick Look) et Reality Composer.
  • Impression 3D : un STL, à taille réelle en millimètres, ou un OBJ.
Le Shape Key Editor de Blender, qui liste Neutral, A, I, U, E, O, Blink, Blink_L, Blink_R, Angry, Fun, Joy, Sorrow et Surprised, avec Joy sur le visage

Le FBX du VRM : ses 14 expressions en shape keys, Joy à 1

Blender avec le FBX animé : son armature en pleine danse, les cinq actions dans l'Outliner et une clé sur chaque image dans l'Action Editor

Le FBX du GLB animé : cinq takes, une clé sur chaque image, à 120 fps

Les deux fichiers FBX ouverts dans Blender 5.2. Modèle : AvatarSample_C de VRoid Studio, par pixiv.

Vos modèles, dans n'importe quel format

Les modèles que vous riggez sur afk.ai/rig se téléchargent aussi dans les cinq formats : un GLB ou un FBX avec les animations que vous cochez, un USDZ avec une seule, et un OBJ ou un STL immobile. Un modèle que vous convertissez est conservé dans Your Models, dans ce navigateur, pour que vous puissiez le retélécharger plus tard dans un autre format. Vous pouvez aussi y ajouter n'importe quel modèle à vous avec son bouton +, et le télécharger dans n'importe quel format.

Questions

Comment convertir un VRM en FBX ?

Déposez le VRM sur afk.ai/rig/convert, choisissez FBX, puis Convert to FBX. Son squelette, ses poids de skinning et ses textures suivent, et ses expressions deviennent des formes de visage.

La conversion garde-t-elle mes animations ?

Oui. Chaque image clé de chaque animation est conservée, en GLB et en FBX. Un USDZ ne contient qu'une animation : il reçoit la première. OBJ et STL contiennent un modèle immobile.

Les expressions de mon VRM fonctionneront-elles dans Unity ?

Oui, sous forme de blend shapes. Chaque expression devient une forme de visage qui porte son nom (Joy, Blink, Angry) sur le Skinned Mesh Renderer, prête à être pilotée par un script ou une animation.

La physique des cheveux est-elle conservée ?

Elle est précalculée. Les fichiers FBX, GLB et USDZ ne peuvent pas contenir de spring bones : le balancement est écrit dans chaque animation sous forme d'images clés, comme une appli VRM le jouerait. Dans votre moteur, il se joue sans aucune physique à configurer.

Puis-je convertir du FBX en GLB, ou du GLB en FBX ?

Oui, dans les deux sens, et aussi depuis OBJ, STL, PLY et USDZ. Le Collada (.dae) n'est pas pris en charge.

Puis-je convertir en VRM ?

Pas encore. L'export VRM, avec suivi du visage et physique, est en préparation.

Pourquoi mon FBX est-il si lourd ?

Un FBX créé ici garde chaque image de chaque os, pour que le mouvement soit exact. Des centaines d'animations font des centaines de Mo. Choisissez moins d'animations, ou utilisez le GLB, bien plus léger.

Est-ce gratuit ?

Oui, avec un compte gratuit : 10 conversions par jour. Les fichiers peuvent faire jusqu'à 150 Mo.

Riggez et animez votre modèle

Une IA le rigge dans votre navigateur, puis des centaines d'animations se jouent dessus. Téléchargez un seul GLB pour n'importe quel moteur.

Rigger un modèle

Plus de guides