Comment habiller un modèle 3D
Par Oleg Sidorkin, CTO et cofondateur de Cinevva

Vous avez un personnage et un vêtement. Comment les transformer en un personnage habillé capable de bouger ?
Placer une chemise sur un torse n’est que la première étape. Elle doit également correspondre aux proportions du personnage, suivre les bonnes articulations, conserver ses matériaux et ne pas traverser le corps pendant l’animation. Ce sont des problèmes distincts, et en résoudre un ne résout pas automatiquement les autres.
Nous avons exploré ce workflow pour l’outil de rigging automatique de Cinevva, à l’aide d’un pull réutilisable et d’un personnage déjà riggé. Vous pouvez examiner ci-dessous les différentes étapes de cette expérimentation. Il s’agit d’un prototype guidé manuellement comprenant un pull, ainsi que des essais supplémentaires avec un pantalon et un short, sur une grenouille humanoïde. L’habillage automatique de modèles importés arbitraires reste un objectif futur.
Explorer le processus en 3D
La visionneuse s’ouvre sur le modèle ajusté et skinné. Activez Comparer avant / après pour afficher à gauche l’étape antérieure, qui ne comprend que la mise à l’échelle et le placement. Le pull a été redimensionné et positionné près du personnage, mais il conserve encore la pose d’origine de ses manches et n’est pas attaché au squelette. Le côté droit est ajusté et skinné : il suit donc l’animation du personnage.
Lorsque la comparaison est activée, utilisez Étape de comparaison pour passer du placement à l’alignement sur le corps, puis à la version antérieure ajustée et skinnée. Commencez par Repos pour comparer les formes. Appuyez sur Lecture pour comprendre pourquoi l’ajustement et l’attachement sont deux étapes différentes. Faites glisser l’une ou l’autre vue pour faire pivoter simultanément les deux caméras, ou examinez le personnage de dos.
Il s’agit d’étapes enregistrées pendant l’expérimentation, et non d’une animation artificiellement « mauvaise ». Lors des deux premières étapes, le vêtement non skinné reste en place tandis que le corps bouge. À la troisième étape, les deux vêtements sont déjà ajustés et skinnés ; les différences restantes sont donc plus subtiles. Le gros plan présenté plus loin examine ces détails.
Utilisez Rechercher un mouvement pour parcourir le pack universel de 260 mouvements, puis choisissez une Animation afin de lancer automatiquement la lecture. Utilisez Pause pour l’arrêter. Essayez Marche, Saut, Accroupi au repos ou Assis au repos. Les clips sont chargés à la demande et utilisent le même code de retargeting que le Rigger. Les deux personnages comparés partagent la timeline du clip ainsi que les règles de mouvement racine et d’ancrage au sol basé sur le skinning de l’atelier. La grille au sol reste fixe ; la caméra en plan d’ensemble suit le déplacement horizontal sans annuler le mouvement vertical du bassin. Vous pouvez conserver ce mouvement tout en changeant de vêtement ou d’étape d’ajustement.
Sélectionnez Poses de diagnostic pour revenir aux contrôles de pose d’origine et reproduire les cas de mesure de l’article. Les mouvements universels servent à l’inspection visuelle ; les nombres de collisions indiqués ici ne prouvent pas que le vêtement évite toute intersection pendant ces mouvements. Lors d’une étape de préparation sans skinning, le vêtement reste fixe tandis que le corps bouge.
Le navigateur lit et retargete des ressources d’animation préparées. Il n’ajuste pas les vêtements et ne simule pas le tissu en temps réel.
1. Choisir des vêtements réellement réutilisables
Il existe deux points de départ utiles : des vêtements conçus pour une famille d’avatars particulière, et des maillages de vêtements indépendants que vous adapterez à un nouveau corps. Le premier fournit un corps et une pose connus, ainsi que, souvent, une convention d’attachement. Le second offre davantage de liberté, mais demande plus de travail au pipeline d’ajustement.
Pour cette expérimentation, nous avons choisi le pull de pêcheur de MargaretToigo dans la collection MakeHuman Shirts01. Cette ressource précise est indiquée comme étant sous licence CC0. Elle comprend un maillage OBJ, une texture UV, une description de matériau et un fichier de correspondance avec le gabarit corporel de MakeHuman. Le vêtement comporte 2 126 sommets et 4 164 triangles.
Vérifiez les droits et le contenu réels de la ressource avant de considérer un téléchargement comme un élément de garde-robe réutilisable. Une image d’aperçu ne garantit pas que vous disposez d’un maillage de vêtement séparé, de textures utilisables ou de l’autorisation de distribuer un modèle habillé.
La correspondance de gabarit de notre pull est utile, mais elle n’est pas universelle. Elle se rapporte à la topologie du corps de MakeHuman. Notre grenouille possède un maillage et un squelette différents ; l’importation de l’OBJ n’applique donc pas automatiquement cette correspondance. Les poids de correspondance avec un gabarit corporel sont également différents des poids de skinning squelettique.
Essayer aussi un pantalon et un short
Un pull met à l’épreuve les épaules et les bras. Un pantalon ajoute un autre problème d’ajustement : une ceinture qui entoure les hanches, deux jambes qui bougent indépendamment et un entrejambe qui doit les relier. Un short présente le même problème au niveau des hanches, mais s’arrête avant le genou.
Choisissez Pantalon cargo ou Short en jean. La visionneuse affiche un prototype ajusté et skinné manuellement. Activez Comparer avant / après pour ajouter à gauche l’étape de mise à l’échelle et de placement. Essayez Genou gauche fléchi et Deux genoux fléchis, puis faites pivoter la vue derrière le personnage. Afficher les genoux repère les mêmes articulations des genoux gauche et droit dans les deux vues ; Masquer les vêtements révèle le corps afin de comparer directement les postures. Les positions des articulations des genoux correspondent exactement dans les six poses vérifiées. Sans cela, les silhouettes différentes des pantalons ajustés peuvent donner l’impression que les genoux sont plus rapprochés. Il s’agit de deux maillages réutilisables distincts, avec leurs textures d’origine, et non de simples variantes de couleur du pull.
Les deux ressources sont de Cortu et sont indiquées comme étant sous licence CC0 dans le pack de pantalons MakeHuman. Pour cette expérimentation, nous avons subdivisé les maillages basse résolution, associé les zones des hanches et des jambes aux articulations de la grenouille, appliqué des corrections locales de dégagement et transféré les poids depuis les triangles voisins du corps. Les contrôles rejouent un mouvement de diagnostic du bas du corps créé manuellement.
Ces exemples de vêtements restent des prototypes. Le pull, le pantalon et le short présentent des résultats de validation différents ; les enseignements tirés de l’ajustement ci-dessous expliquent ce qui a été amélioré et ce qui reste incorrect.
2. Définir le corps et sa pose de repos
Un système d’ajustement doit savoir ce que le vêtement est censé entourer. Dans notre cas, la grenouille riggée que nous utilisons localement possède un maillage corporel visible, de longs bras, de grandes mains et un squelette humanoïde de 22 articulations. Nous disposons ainsi d’une surface cible exploitable et de repères pertinents pour les épaules, les coudes, les poignets, les hanches et le cou.
Un personnage portant déjà un manteau peut ne contenir que la surface extérieure de celui-ci. Il se peut qu’il ne possède pas de torse complet en dessous. Dans ce cas, les solutions pratiques consistent à ajuster une couche extérieure par-dessus la géométrie existante, à utiliser un proxy corporel explicitement approximatif ou à obtenir un corps de base adapté. Les seuls noms des articulations ne permettent pas de reconstituer la surface manquante.
Avant l’ajustement, placez le vêtement et le corps dans le même repère de coordonnées. Harmonisez leur échelle, leur orientation, leurs transformations d’objet et leurs poses de repos. Un vêtement conçu pour des bras baissés ne correspondra pas à une pose en T simplement parce que leurs boîtes englobantes ont la même hauteur.
C’est également pour cette raison que le retargeting d’animation ne constitue pas un ajustement de vêtement : transférer un mouvement entre des squelettes ne remodèle pas une chemise autour d’un nouveau torse et ne redimensionne pas ses manches.
3. Ajuster la forme du vêtement au corps
La première démo distingue le simple placement d’un alignement plus précis. Notre prototype lit des repères cibles sur le squelette et utilise des repères correspondants définis explicitement sur le pull. Une déformation du torse et des correspondances pour les bras produisent l’ajustement initial, avec un mélange continu entre les segments des bras.
L’étape suivante applique une correction bornée du dégagement par rapport à la surface tout en lissant le déplacement. L’objectif est de repousser vers l’extérieur les parties du tissu qui se chevauchent sans détruire la forme du vêtement. Il s’agit d’une méthode de base pour l’ajustement statique, et non d’un solveur de tissu.
Différents contrats d’entrée nécessitent différentes approches :
| Point de départ | Méthode d’ajustement pratique | Éléments restant à vérifier |
|---|---|---|
| Vêtement conçu pour le même gabarit corporel | Appliquer sa correspondance de gabarit connue ou les contrôles de morphologie corporelle pris en charge | Pose, proportions et hypothèses propres à la ressource |
| Vêtement séparé et corps différent | Aligner des repères ou une cage d’ajustement, déformer le vêtement, puis résoudre les chevauchements | Coutures, silhouette, dégagement et étirement local |
| Vêtement ample ou superposé | Utiliser un proxy et un ajustement tenant compte des collisions ; envisager une simulation de tissu hors ligne | Ordre des couches, auto-contact et conservation du volume |
Ce tableau présente plusieurs choix de workflow possibles. Nos expérimentations utilisent la deuxième méthode : un ajustement par repères pour le pull et le pantalon, suivi d’une cage de déformation pour le short. Elles ne valident pas toutes les méthodes ni toutes les catégories de vêtements.
Préservez l’intention stylistique pendant l’ajustement. Un manteau ample ne doit pas se plaquer contre le corps comme une surface peinte. Une jupe doit conserver de l’espace autour des deux jambes. Les coutures UV et les couches séparées ne doivent pas être soudées sans discernement simplement pour faciliter les entrées d’un optimiseur.
4. Attacher les vêtements ajustés au rig
Après l’ajustement, le vêtement doit encore répondre à une autre question : quels os doivent déplacer chaque sommet ?
Parenter l’ensemble du pull au personnage lui permet de se déplacer avec lui, mais ne fait pas plier une manche au niveau du coude. Le skinning squelettique attribue à chaque sommet une combinaison pondérée de transformations d’articulations. Pour un vêtement proche du corps, le champ de poids existant du corps constitue un bon point de départ.
Pour le pull, notre prototype transfère les poids de surface fiables et complète les régions incertaines à partir de voisins de confiance, selon l’approche décrite dans Robust Skin Weights Transfer via Weight Inpainting. Les correspondances sont filtrées en fonction de la géométrie, et une intention d’attachement explicite permet de gérer les zones ambiguës. Pour une manche, une main voisine n’est pas nécessairement la bonne source de poids. Pour un gant, elle peut l’être.
Le pantalon et le short utilisent un transfert barycentrique plus simple à partir du triangle le plus proche et des poids du corps, limité à quatre influences d’articulations par sommet. Cette méthode exige néanmoins une vérification attentive autour de l’entrejambe et de chaque ouverture de jambe.
On obtient ainsi un vêtement qui suit l’animation existante. Il ne possède pas encore de mouvement de tissu indépendant. La simulation de tissu, les mouvements secondaires pilotés par des ressorts et les animations de tissu précalculées sont des options supplémentaires ; elles n’apparaissent pas simplement parce qu’un maillage possède des poids de skinning.
Dans la démo principale, comparez Mettre à l’échelle et placer avec Ajuster et transférer les poids pendant la lecture. C’est la différence entre un vêtement simplement placé autour du personnage et un vêtement qui participe à sa pose.
5. Tester le personnage habillé en mouvement
Un ajustement en pose de repos peut masquer un mauvais attachement ou une intersection qui apparaît lorsqu’une articulation se plie. Testez le personnage de face, de profil et de dos, puis essayez les mouvements qui sollicitent le vêtement : bras levés, coudes fléchis, mouvements des poignets et, lorsque le vêtement les recouvre, mouvements des hanches et des genoux.
Notre premier essai avec un vêtement réel a montré pourquoi plusieurs mesures sont nécessaires :
| Étape de l’ajustement initial | Triangles du vêtement traversant le corps |
|---|---|
| Mise à l’échelle simple | 352 |
| Alignement par repères | 495 |
| Correction du dégagement par rapport à la surface | 33 |
L’étape d’alignement par repères a rendu le placement du vêtement plus cohérent, mais elle a augmenté le nombre d’intersections. La correction de surface a considérablement amélioré ce nombre, sans toutefois satisfaire une règle exigeant l’absence totale de collisions.
Un test limité aux sommets s’est révélé encore plus trompeur. Il n’a détecté aucun sommet du côté négatif de la normale à la surface corporelle la plus proche, alors que les contrôles effectués sur les triangles révélaient encore des traversées. Un triangle peut traverser le corps même lorsque ses sommets semblent dégagés par rapport à une surface voisine.
Ce que le pantalon et le short nous ont appris
Les expérimentations sur le bas du corps ont révélé un échec qu’un simple score de collision ne permet pas de détecter : un vêtement peut présenter moins d’intersections tout en paraissant incorrect.
Le pantalon a perdu sa forme. Une correction fondée uniquement sur le dégagement a conservé des hanches surdimensionnées. Tirer le tissu vers le corps a supprimé cet évasement, mais a abaissé l’entrejambe et donné au pantalon l’apparence d’une surface moulante et déformée. Le fait que les positions des articulations des genoux correspondent sur les deux personnages ne prouvait pas que le vêtement était correctement ajusté.
Nous avons ensuite fixé les hauteurs de la ceinture, de l’entrejambe, des genoux et des chevilles, puis limité les corrections de dégagement aux déplacements horizontaux. Cela a rétabli la hauteur de fourche, mais les vues rapprochées de face, de profil et de dos révélaient encore un pincement à l’entrejambe, des genoux anguleux, des revers irréguliers et une perte de la silhouette cargo. Le pantalon actuel conserve 53 triangles affectés au repos et 50 à 92 dans six poses échantillonnées. La version affaissée présentait moins d’intersections — 21 au repos — mais son ajustement n’était pas acceptable.
Le short avait besoin de ses propres contraintes. L’application de la méthode d’ajustement précédente produisait une taille évasée, un entrejambe plissé et des ouvertures de jambes trop larges. Nous avons remplacé le déplacement indépendant des sommets par une cage de déformation de 5 × 5 × 5 : une grille grossière dont les mouvements déforment ensemble les parties voisines du tissu. La cage préserve le maillage source et les coutures UV tout en maintenant la hauteur verticale fixe. Elle a réduit les plis irréguliers, mais a initialement laissé la ceinture décollée du torse.
La correction suivante a identifié la boucle de bord réelle de 136 sommets de la ceinture et l’a ajustée aux sections transversales du torse. Cela a amélioré la silhouette de profil. L’inspection arrière a ensuite révélé des intersections que les contrôles du bord et du dégagement des sommets n’avaient pas détectées : un triangle de tissu peut traverser le corps entre des sommets qui, eux, restent dégagés. La ceinture arrière nécessitait une correction au niveau des triangles. Nous avons resserré les contraintes de bord, vérifié toute la bande de ceinture et déplacé vers l’extérieur uniquement les faces du vêtement en intersection, par rapport aux plans des triangles du corps qu’elles traversaient. La hauteur de la ceinture est restée fixe.
| Révision du short | Vêtement entier : triangles affectés au repos | Ceinture arrière : triangles affectés au repos |
|---|---|---|
| Ajustement initial de référence | 143 | Non mesuré séparément |
| Ajustement par cage avec la première contrainte de ceinture | 28 | 9 |
| Correction actuelle de la ceinture arrière | 19 | 0 |
La vérification finale n’a trouvé aucune traversée de la ceinture arrière dans les six poses échantillonnées, avec 19 triangles affectés ailleurs dans chaque pose. La région arrière est définie à partir des centroïdes des triangles du vêtement source ; il s’agit d’un résultat régional, et non d’une validation de l’ensemble du short. Les mesures du short comprennent à la fois la révision précédente de la ceinture et la correction actuelle.

Vue arrière actuelle. Le clipping de la ceinture est corrigé dans les poses vérifiées ; le défaut de la couture arrière inférieure reste visible. Les ouvertures de jambe doivent également être affinées.
Les cibles de la ceinture comprennent une aisance prévue de 14 mm autour de ce modèle. La limite finale s’écarte de ces cibles de 2,0 mm en moyenne et de 5,4 mm au maximum. Il s’agit de paramètres d’ajustement et d’erreurs par rapport aux cibles selon la convention métrique de la scène, et non de mesures de confection universelles ni de garanties contre les collisions.
La leçon pratique consiste à définir pour chaque vêtement des exigences distinctes concernant la hauteur de taille, la silhouette, l’intégrité des coutures, l’attachement et le dégagement nécessaire pour éviter les collisions. Pour le short, la prochaine étape consiste à contraindre chaque ourlet autour de la cuisse correspondante et à réparer la couture arrière sans altérer la ceinture corrigée. Des tests plus étendus de marche, de position assise et d’accroupissement devront ensuite être effectués. Les vérifications discrètes ne couvrent ni les auto-collisions, ni les contacts coplanaires, ni le mouvement entre les images échantillonnées.
Vérification détaillée : manches et poignets
Les manches ont constitué un cas d’échec révélateur dans ce processus plus large. À l’échelle du personnage entier, le pull précédemment ajusté ressemblait à la version affinée. La différence devenait plus évidente dans les gros plans et les poses sollicitant fortement les poignets.
La visionneuse ci-dessous présente le poignet affiné. Activez Comparer avant / après pour examiner l’ancien poignet à côté du nouveau ; les deux sont déjà ajustés et skinnés. Choisissez Poignets vers l’avant à 45° ou Poignets vers l’arrière à 45°, puis examinez l’ouverture du poignet. Il s’agit d’une comparaison d’affinements, et non du début et de la fin de l’ensemble du processus d’ajustement.
Nous avons extrait la boucle de bord réelle de chaque poignet, fondu les projections du bras au niveau du coude et réparti la correction du poignet dans le tissu voisin. Sur cette grenouille, déplacer les ouvertures de 50 mm vers les avant-bras a laissé davantage de place à ses grandes mains. Ce décalage est un paramètre réglé pour ce personnage, et non une règle vestimentaire universelle.
| Pose d’inspection | Ajustement précédent : triangles de manche affectés | Ajustement affiné |
|---|---|---|
| Repos | 12 | 0 |
| Coude plié à 75° | 12 | 0 |
| Poignet vers l’avant à 45° | 79 | 0 |
| Poignet vers l’arrière à 45° | 60 | 0 |
Le test plus étendu a tout de même détecté un triangle de manche affecté dans six des 22 images d’animation échantillonnées. L’ensemble du vêtement conserve également 21 triangles affectés au repos en dehors du masque des manches. Quatre poses d’inspection sans défaut ne rendent pas la tenue exempte de collisions.
Il s’agit de mesures hors ligne et discrètes des traversées de triangles. Elles excluent les auto-intersections du vêtement, les contacts coplanaires et les événements entre les images échantillonnées ; le masque des manches exclut la transition la plus intérieure de l’épaule. Les démonstrations ne calculent pas de score de collision en temps réel. Les mesures des manches et les mesures d’animation sont disponibles séparément.
6. Exporter, recharger et vérifier
Le personnage habillé doit rester intact après avoir quitté l’outil d’ajustement. Vérifiez la géométrie, les matériaux, les UV, la liaison au squelette et l’animation dans la visionneuse ou le moteur cible.
Nous avons exporté le résultat au format GLB et l’avons chargé indépendamment dans Three.js. Le pull conserve sa texture et son skinning. Les coutures UV font passer son nombre de sommets exportés de 2 126 à 2 386, ce qui ne constitue pas en soi une défaillance géométrique. L’écart maximal mesuré sur la surface au repos après rechargement était inférieur à 0,001 mm selon la convention métrique du fichier.
Il s’agit d’une vérification de cohérence de l’export, et non de l’affirmation d’une confection physiquement exacte. Le processus public complet d’importation et d’exportation de vêtements de Rigger n’a pas été intégré ni validé par cette expérience.
Ce que l’IA apporte — et ce qui nécessite encore de l’ingénierie
L’examen humain a mis en évidence l’entrejambe trop bas du pantalon, la taille trop ample du short et le clipping arrière que les vérifications précédentes n’avaient pas détecté. L’inspection visuelle assistée par IA a ensuite examiné des vues rapprochées de face, de profil et de dos, notamment avec des matériaux unis temporaires qui facilitaient l’identification des défauts du maillage. Nous avons associé ces observations à des mesures géométriques et conservé les itérations infructueuses.
Ces retours ont fait évoluer la méthode : des squelettes correspondants ne garantissaient pas une bonne forme de vêtement, des sommets dégagés ne garantissaient pas des triangles dégagés, et un nombre de collisions plus faible ne justifiait pas une silhouette déformée.
Il s’agissait d’une démarche d’ingénierie assistée par IA, fondée sur des repères et des règles d’ajustement explicites. Nous n’avons ni entraîné un outil universel d’ajustement de vêtements, ni démontré qu’un modèle de vision pouvait valider n’importe quelle tenue.
Les prochaines étapes consistent à ajouter des contraintes de couture et d’ourlet au short, à ajuster le pantalon en préservant sa forme, à utiliser un véritable corps humain de base et à tester un vêtement exclu de la phase de réglage. Nous avons également besoin de tests d’animation plus étendus et d’un adaptateur passant par le véritable processus de Rigger.
Le processus réutilisable est déjà clair : choisir un vêtement adapté → établir le corps et la pose de repos → ajuster la forme → transférer l’attachement → tester le mouvement et les collisions → vérifier l’export. L’expérience présente une mise en œuvre concrète de ce processus, ainsi que les situations où une image convaincante ne suffit pas.