Comment remapper les textures UV d’une numérisation 3D dans BodyPaint 3D / Cinema 4D

Un nombre croissant de scanners 3D et de logiciels peuvent enregistrer et exporter des informations de couleur sous la forme d’une carte de texture UV. Cela signifie que chaque polygone est texturé avec une partie d’un fichier image. Les lettres U et V désignent les coordonnées de texture 2D (Y, Y & Z sont déjà utilisés par le système 3D), qui sont « mappées » sur la surface du maillage polygonal.

Comme une carte classique, les cartes UV sont généralement composées d’une série d’îlots plus ou moins grands représentant des parties adjacentes du modèle 3D. Lorsqu’une personne conçoit un modèle 3D à partir de zéro, elle crée généralement une carte UV qui est à la fois efficace et logique. Pour un personnage, vous créeriez des faces séparées pour les différentes parties du corps et les vêtements. Pour l’efficacité mémoire, ces îlots sont ensuite placés dans un fichier image carré dont la taille est une puissance de deux (par ex. 2048 x 2048 ou 4096 x 4096 pixels). Comme ce personnage de jeu :

Source
Source : Pinterest

Malheureusement, la plupart des logiciels de scanner 3D génèrent des cartes de texture totalement aléatoires. Elles sont parfois efficaces en termes de taille et de positionnement des îlots, mais elles sont presque jamais logiques pour les humains, ce qui les rend difficiles à modifier dans un programme d’édition 2D tel que Photoshop.

J’ai rencontré des exemples extrêmement mauvais de mappage de textures comptant des milliers de minuscules îlots lors de mes tests de scanners 3D, mais pour ce tutoriel, j’utiliserai celui de itSeez3D, une application pour le Stucture Sensor, qui est en réalité assez bonne avec de grands îlots :

c4d-3dscan-texture-remap-tutorial-original-texture-preview

La texture d’origine a une résolution 4K (4096 x 4096 pixels). L’avantage d’itSeez3D, que de nombreuses autres applications n’ont pas, est qu’il utilise la reconnaissance faciale afin de garantir que la texture du visage est capturée dans une seule photo et placée sur un seul îlot UV. Mais si le visage est regroupé à un endroit, le reste de la texture est éparpillé dans l’image (essayez de trouver les oreilles).

L’objectif de ce tutoriel est de réorganiser les informations de texture pour qu’elles soient plus logiques, un processus appelé remappage UV. Pour suivre les étapes ci-dessous, vous avez besoin de 3 logiciels :

  • Maxon BodyPaint 3D — disponible à l’achat comme produit séparé ou inclus dans le logiciel Cinema 4D Studio. Si vous ne le possédez pas, vous pouvez télécharger une version d’essai gratuite de 42 jours ici.
  • Adobe Photoshop — inclus dans Creative Cloud. Téléchargez une version d’essai gratuite de 30 jours ici.
  • Flaming Pear Solidify A – un filtre pour Photoshop, téléchargeable gratuitement ici.

Naturellement, vous avez également besoin d’un modèle 3D texturé en UV. Si vous n’avez pas de scanner 3D, vous pouvez créer un modèle gratuit en utilisant l’une de ces applications gratuites de photogrammétrie sur votre smartphone. BodyPaint 3D / Cinema 4D prennent en charge de nombreux formats de fichiers 3D. Pour ce tutoriel, j’ai exporté un fichier .OBJ depuis itSeez3D.

Commençons !

Astuce : vous pouvez cliquer sur toutes les captures d’écran ci-dessous pour les agrandir si la légende gêne !



 

BodyPaint 3D / Cinema 4D Studio

Pour ce tutoriel, je suppose que vous possédez quelques connaissances de base de l’interface Cinema 4D / BodyPaint 3D. Une chose à connaître est ce que j’appelle la fonctionnalité 123456 :

  • Maintenir 1 + faire glisser la souris = déplacer la caméra
  • Maintenir 2 + faire glisser la souris = zoomer avec la caméra
  • Maintenir 3 + faire glisser la souris = faire pivoter la caméra
  • Maintenir 4 + faire glisser la souris = déplacer l’objet ou la sélection UV
  • Maintenir 5 + faire glisser la souris = mettre à l’échelle l’objet ou la sélection UV
  • Maintenir 6 + faire glisser la souris = faire pivoter l’objet ou la sélection UV

Pour les autres fonctions, je me référerai autant que possible à leur emplacement dans les menus afin que vous puissiez les trouver facilement. J’ai également mis en évidence les emplacements dans chaque capture d’écran afin que vous sachiez où regarder.

Ouvrez votre modèle 3D (dans ce cas un fichier .OBJ) avec les paramètres d’importation par défaut. Il se charge parfois transparent.
Ouvrez votre modèle 3D (dans ce cas un fichier .OBJ) avec les paramètres d’importation par défaut. Il se charge parfois transparent. Dans le Gestionnaire de matériaux, double-cliquez sur le matériau et décochez tous les canaux sauf Couleur.
Dans le Gestionnaire de matériaux, double-cliquez sur le matériau et décochez tous les canaux sauf Couleur. La transparence a maintenant disparu, mais la texture semble un peu floue.
La transparence a maintenant disparu, mais la texture semble un peu floue. Dans l’onglet Couleur, vous pouvez voir qu’il s’agit d’une texture 4K. Pour économiser de la mémoire, elle est prévisualisée dans une qualité inférieure.
Dans l’onglet Couleur, vous pouvez voir qu’il s’agit d’une texture 4K. Pour économiser de la mémoire, elle est prévisualisée dans une qualité inférieure. Allez dans Éditeur et réglez Taille de prévisualisation de texture sur 4K pour voir la qualité réelle.
Allez dans Éditeur et réglez Taille de prévisualisation de texture sur 4K pour voir la qualité réelle.
Si des parties de votre modèle sont coupées lorsque vous zoomez, vous pouvez aller dans Édition > Paramètres du projet et régler le découpage de vue sur Minuscule.
Si des parties de votre modèle sont coupées lorsque vous zoomez, vous pouvez aller dans Édition > Paramètres du projet et régler le découpage de vue sur Minuscule.
Sélectionnez votre modèle dans le Gestionnaire d’objets et activez le mode Arêtes. Sélectionnez l’outil Sélection de chemin pour sélectionner manuellement des chemins fermés (important !).
Sélectionnez votre modèle dans le Gestionnaire d’objets et activez le mode Arêtes. Sélectionnez l’outil Sélection de chemin pour sélectionner manuellement des chemins fermés (important !). Les arêtes sélectionnées serviront de découpes dans la texture lors du remappage.

Comme vous pouvez le voir, la sélection que je réalise ci-dessus est assez approximative, car les polygones sont relativement grands par endroits. Si vous souhaitez une sélection plus précise, vous pouvez d’abord passer en mode Polygones, sélectionner tous les polygones et aller dans Maillage > Commande > Subdiviser pour densifier le maillage. Vous pourrez ainsi suivre la texture plus précisément. Pour ce tutoriel, j’ai laissé le maillage intact afin de préserver la clarté visuelle des captures d’écran.

Voici les sélections d’arêtes que j’ai effectuées pour ce modèle. J’ai créé une sélection distincte pour le visage, le cou, la chemise et les cheveux. Notez que j’ai séparé les cheveux en deux parties. C’est parce que les UV des formes effilées seront très déformées lorsqu’elles seront « relâchées ». J’ai aussi créé une sélection distincte pour la surface inférieure.
Voici les sélections d’arêtes que j’ai effectuées pour ce modèle. Maintenez Maj pour ajouter des sélections et CTRL pour supprimer des sélections. J’ai créé une sélection distincte pour le visage, le cou, la chemise et les cheveux. Notez que j’ai séparé les cheveux en deux parties. C’est parce que les UV des formes effilées seront très déformées lorsqu’elles seront « relâchées ». J’ai aussi créé une sélection distincte pour la surface inférieure.
Passez en mode Points, faites pivoter le modèle pour qu’il vous fasse face et utilisez l’outil Sélection directe (avec un rayon de 1) pour sélectionner les points que vous souhaitez « verrouiller ». Cela empêche cette zone de s’étirer plus tard. C’est particulièrement pratique pour les visages.
Passez en mode Points, faites pivoter le modèle pour qu’il vous fasse face et utilisez l’outil Sélection directe (avec un rayon de 1) pour sélectionner les points que vous souhaitez « verrouiller ». Cela empêche cette zone de s’étirer plus tard. C’est particulièrement pratique pour les visages. Pour faciliter cette opération, vous pouvez désactiver la texture en décochant Options > Texture dans la fenêtre de visualisation. N’oubliez pas de la réactiver une fois votre sélection de points terminée.

Si vous le souhaitez, vous pouvez enregistrer les sélections d’arêtes et de points avec Sélection > Définir la sélection. Cela ajoutera des balises de sélection au modèle dans le Gestionnaire d’objets, que vous pourrez utiliser pour recharger les sélections ultérieurement. Cette étape est facultative et n’est pas nécessaire pour ce tutoriel.

Passez en mode Polygones et sélectionnez tous les polygones. Ensuite, basculez l’application en mode BP UV Edit avec le sélecteur situé à l’extrémité droite.
Passez en mode Polygones et sélectionnez tous les polygones. Ensuite, basculez l’application en mode BP UV Edit avec le sélecteur situé à l’extrémité droite. Dans la barre supérieure, sélectionnez le mode d’édition des polygones UV. Cela devrait mettre en évidence tous les UV sur la carte de texture. Si vous ne voyez pas la texture elle-même, vous pouvez la charger en cliquant sur la croix rouge dans l’onglet Matériaux situé en bas à gauche.

Vous pouvez éventuellement augmenter la taille de la texture à ce stade en cliquant sur Image > Taille de texture au-dessus de l’aperçu de la carte de texture. Cette opération est conseillée si la résolution de votre carte de texture est relativement faible (2K ou moins) et que vous ne souhaitez pas diminuer la qualité de texture des modèles complexes lors du « relâchement » des UV. Par exemple, vous constaterez que la texture du visage du modèle deviendra légèrement plus petite lors des prochaines étapes. J’ai choisi de conserver la résolution à 4K, car elle est suffisante pour mes besoins.

Dans le panneau en bas à droite, sélectionnez Commandes UV et cliquez sur Enregistrer UV. Cela enregistre les informations de texture dans la disposition UV actuelle.
Dans le panneau Mappage UV, sélectionnez Commandes UV et cliquez sur Enregistrer UV. Cela enregistre les informations de texture dans la disposition UV actuelle.
Faites pivoter la caméra dans la fenêtre de visualisation 3D afin qu’elle vous fasse face. Allez dans l’onglet Projection du panneau Mappage UV et sélectionnez Frontal.
Faites pivoter la caméra dans la fenêtre de visualisation 3D afin qu’elle vous fasse face. Allez dans l’onglet Projection du panneau Mappage UV et sélectionnez Frontal. Les UV sont maintenant orientés comme le modèle dans la fenêtre de visualisation 3D. Il s’agit de la position initiale de la procédure de relâchement des étapes suivantes.
Dans l’onglet Relax UV, assurez-vous que Épingler la sélection de points est coché. Cela garantit que les points sélectionnés sur le visage ne s’étireront pas. Cochez également Découper les arêtes sélectionnées. Cela utilisera la sélection d’arêtes pour créer des îlots UV distincts. Vous pouvez sélectionner l’algorithme LSCM ou ABF (parfois l’un donne un meilleur résultat que l’autre : expérimentez !). Cochez Réalignement automatique et cliquez sur Appliquer. Cela peut prendre un certain temps.
Dans l’onglet Relax UV, assurez-vous que Épingler la sélection de points est coché. Cela garantit que les points sélectionnés sur le visage ne s’étireront pas. Cochez également Découper les arêtes sélectionnées. Cela utilisera la sélection d’arêtes pour créer des îlots UV distincts. Vous pouvez sélectionner l’algorithme LSCM ou ABF (parfois l’un donne un meilleur résultat que l’autre : expérimentez !). Cochez Réalignement automatique et cliquez sur Appliquer. Cela peut prendre un certain temps.
Vous devriez voir que les UV sont maintenant réorganisés en îlots, mais que la texture elle-même est toujours identique. Cliquez sur l’icône Remapper, assurez-vous que Découper est coché et cliquez sur OK. Cela déplacera les parties de la texture vers leurs nouveaux emplacements.
Vous devriez voir que les UV sont maintenant réorganisés en îlots, mais que la texture elle-même est toujours identique. Cliquez sur l’icône Remapper, assurez-vous que Découper est coché et cliquez sur OK. Cela déplacera les parties de la texture vers leurs nouveaux emplacements. Ne vous préoccupez pas des parties qui n’ont pas bougé, car elles n’étaient pas vraiment utilisées sur le modèle.
Vous pouvez éventuellement sélectionner des parties de la texture et les déplacer, les mettre à l’échelle ou les faire pivoter en maintenant les touches 4, 5 ou 6 et en faisant glisser.
Vous pouvez éventuellement sélectionner des parties de la texture et les déplacer, les mettre à l’échelle ou les faire pivoter en maintenant les touches 4, 5 ou 6 et en faisant glisser. IMPORTANT : avant de le faire, vous devez cliquer à nouveau sur Enregistrer UV dans l’onglet Commandes UV !
c4d-3dscan-texture-remap-tutorial-6-uv-edit-6-rearrange
Personnellement, j’aime que mes textures soient organisées logiquement. Ici, j’ai placé les UV à côté du canevas pour les organiser. Ensuite, je les ai replacés dans le canevas (important !) et j’ai répété la procédure de remappage.
Voici la texture nouvellement remappée. Elle est bien plus logique que l’originale, n’est-ce pas ? Mais ce n’est pas tout !
Voici la texture nouvellement remappée. Elle est bien plus logique que l’originale, n’est-ce pas ? Elle fonctionnera plutôt bien telle quelle, mais voici quelques étapes supplémentaires pour la rendre parfaite.
c4d-3dscan-texture-remap-tutorial-7-photoshop-sketchfab-line
Selon la façon dont vous effectuez le rendu du modèle avec la nouvelle carte de texture UV, vous pourrez peut-être voir les coutures, comme la ligne de mâchoire ici. Corrigeons cela !

 

c4d-3dscan-texture-remap-tutorial-6-uv-edit-8-selection
Les polygones étant toujours actifs, allez dans Sélection > Créer un masque à partir de la sélection. Il y a toutefois un piège, car le programme sélectionnera chaque polygone individuel (même s’il semble sélectionner les îlots). Pour corriger cela, cliquez sur Sélection > Agrandir la sélection et étendez la sélection de 1 pixel.
Allez dans Calque > Ajouter un masque de calque pour isoler les îlots de l’arrière-plan.
Allez dans Calque > Ajouter un masque de calque pour isoler les îlots de l’arrière-plan.
Comme les JPG ne peuvent pas contenir de calques, vous devez enregistrer la texture comme fichier Photoshop (PSD) afin de la modifier à l’étape suivante.
Comme les JPG ne peuvent pas contenir de calques, vous devez enregistrer la texture comme fichier Photoshop (PSD) afin de la modifier à l’étape suivante.


 

Adobe Photoshop

 

Chargez le PSD dans Adobe Photoshop.
Chargez le PSD dans Adobe Photoshop. Dans le panneau Calques, CMD (Mac) / CTRL (PC) + cliquez sur le masque noir et blanc pour le transformer en sélection. Supprimez ensuite le masque (faites-le glisser dans la corbeille), mais ne l’appliquez pas !
Ici, vous pouvez voir les pixels noirs responsables des lignes visibles dans la texture.
Ici, vous pouvez voir les pixels noirs responsables des lignes visibles dans la texture.
c4d-3dscan-texture-remap-tutorial-7-photoshop-3
Allez dans Sélection > Modifier > Contracter. Pour une texture 4K, contractez de 2 pixels.
Créez un masque à partir de la sélection contractée en cliquant sur le bouton Nouveau masque de fusion (le rectangle blanc avec le cercle noir) en bas du panneau Calques. Ensuite, cliquez avec le bouton droit sur le masque et sélectionnez Appliquer le masque de fusion.
Créez un masque à partir de la sélection contractée en cliquant sur le bouton Nouveau masque de fusion (le rectangle blanc avec le cercle noir) en bas du panneau Calques. Ensuite, cliquez avec le bouton droit sur le masque et sélectionnez Appliquer le masque de fusion.
Sélectionnez le calque et allez dans Filtres > Flaming Pear > Soldify A. (téléchargez-le ici si vous l’avez manqué dans l’introduction)
Sélectionnez le calque et allez dans Filtres > Flaming Pear > Soldify A. (téléchargez-le ici si vous l’avez manqué dans l’introduction). Enregistrez le résultat au format JPG (recommandé pour la compatibilité) ou PNG (recommandé pour la qualité).
Retournez dans Cinema 4D / BodyPaint 3D et ouvrez le matériau dans le Gestionnaire de matériaux. Dans le canal Couleur, chargez la texture que vous venez d’enregistrer depuis Photoshop.
Retournez dans Cinema 4D / BodyPaint 3D et ouvrez le matériau dans le Gestionnaire de matériaux. Dans le canal Couleur, chargez la texture que vous venez d’enregistrer depuis Photoshop.
Comme vous pouvez le voir, la couture sur la ligne de mâchoire a maintenant disparu. Vous pouvez enregistrer votre modèle au format natif C4D ou l’exporter vers un format de fichier interchangeable tel que .OBJ. Ce format conserve la texture dans un fichier image distinct, afin que vous (ou quelqu’un d’autre) puissiez la modifier facilement.
Comme vous pouvez le voir, la couture sur la ligne de mâchoire a maintenant disparu. Vous pouvez enregistrer votre modèle au format natif C4D ou l’exporter vers un format de fichier interchangeable tel que .OBJ. Ce format conserve la texture dans un fichier image distinct, afin que vous (ou quelqu’un d’autre) puissiez la modifier facilement.
Maintenant que vous disposez de votre texture facile à modifier, vous pouvez laisser libre cours à votre créativité. Et puisqu’elle est en 3D, vous n’avez pas toujours besoin de penser à l’ombrage. Ici, j’ai rapidement collé un motif floral rétro sur la partie de la chemise, ajouté un tatouage et rendu les yeux verts.
Maintenant que vous disposez de votre texture facile à modifier, vous pouvez laisser libre cours à votre créativité. Et puisqu’elle est en 3D, vous n’avez pas toujours besoin de penser à l’ombrage. Ici, j’ai rapidement collé un motif floral rétro sur la partie de la chemise, ajouté un tatouage et rendu les yeux verts.
Ajoutez un éclairage dynamique et cette texture florale d’apparence plate semble en réalité plutôt bonne.
Ajoutez un éclairage dynamique et cette texture florale d’apparence plate semble en réalité plutôt bonne.

C’est tout ! J’espère avoir tout couvert, mais si vous êtes bloqué, faites-le-moi savoir dans la section des commentaires ci-dessous.


Il est bon de savoir que, bien que ce tutoriel vous apprenne à créer des cartes de texture plus cohérentes, les numérisations 3D sous cette forme sont encore loin d’être optimales pour certains usages. Par exemple, si vous souhaitez les préparer pour une utilisation dans un moteur de jeu 3D, vous découvrirez que les polygones du maillage sont organisés de manière aléatoire — ce que l’on appelle aussi la topologie — ce qui n’est ni idéal ni efficace.

J’aborderai les techniques de retouche de géométrie et de retopologie d’un modèle 3D dans de futurs articles. Suivez @3Dscanexpert sur les réseaux sociaux pour être les premiers informés lorsque de nouveaux tutoriels seront publiés.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

→ Sommaire