Une fois le processus de photogrammétrie terminé, on dispose d'un objet 3D en très haute résolution intégrant les coordonnées de mapping et d'une texture en haute définition assemblée à partir des photos. La 3D temps réel ne pouvant afficher un modèle 3D HighPoly constitué de millions de polygones, il faut en créer une version beaucoup plus légère.

Objectif :

Le seul objectif de cette partie est de procéder à une reconstruction du maillage pour le rendre plus léger. Si l'objectif est simple dans le principe, il est cependant plus complexe dans la pratique pour trois raisons :

  • Maillage valide : il est possible que la phase de photogrammétrie livre un objet 3D présentant des défauts, qu'il faut d'abord régler avant de créer la version LowPoly. Il faut être particulièrement attentif aux trous (zones que la photogrammétrie, faute d'un nombre suffisant de photos n'a pas été capable de reconstruire), aux faces avec une normale inversée (facilement visible dans un logiciel de 3D car elles apparaissent anormalement sombres par rapport aux faces voisines) et ilots (groupes de polygones non connectés au modèle principal).
  • Nombre de faces du LowPoly : Ce chiffre devrait être le plus bas possible, mais il faut tenir compte des paramètres suivants :
    • Visibilité et importance de l'objet dans la scène finale (arrière plan, objet principal, props, détail, etc)
    • Quantité d'objets dans la scène finale (objet unique ou scène complexe)
    • Terminal pour lequel la scène est faite (tablette, téléphone, PC, console de jeux)
  • Zones de rupture : pour préserver au mieux l'apparence de l'objet HighPoly, il est parfois nécessaire de créer des groupe de polygones lorsqu'il y a une rupture d'angle forte à la surface de l'objet ou lorsqu'on veut par la suite pouvoir traiter séparément différentes parties de l'objet (dans l'exemple du buste en plâtre, il serait pertinent de pouvoir distinguer les yeux, le bandeau, les cheveux, etc.)

Les étapes :

Méthode automatique ou décimation : certains logiciels disposent de fonctions permettant de générer automatiquement un LowPoly à partir du HighPoly. Si l'opération ne prend que quelques secondes, elle ne permet pas de contrôler finement la quantité et la répartition des polygones du LowPoly - pour les objets complexes, elle ne permet pas toujours d'obtenir un LowPoly optimal pour le mapping. Le premier problème posé par ces logiciels est qu'ils simplifient la forme en utilisant des polygones quadrangulaires de taille identique : une surface plane sans aucune complexité se verra attribuer le même nombre de polygones qu'une surface très accidentée et détaillée (voir dans l'exemple ci-dessous : les joues et le front du buste en plâtre ont la même définition en nombre de polygones que les cheveux ou les yeux). Il faut donc choisir : soit on décime beaucoup et on dégrade fortement les détails, soit on décime peu, les détails sont préservé mais le nombre de polygones est bien plus important. Le second problème est que la décimation ne permet absolument pas de produire un maillage optimal pour l'animation.

Méthode manuelle ou retopologie : la plupart des logiciels 3D disposent de fonctions permettant de créer un LowPoly. Si l'opération peut être longue (quoique avec les outils modernes de modélisation, elle a tendance à être de plus en plus rapide), elle permet d'obtenir un LowPoly plus optimal, de créer des groupes de faces et de réaliser un maillage optimisé pour l'animation. Il est important, lorsqu'on réalise une retopologie, d'être très attentif à la validité du maillage produit : il n'est pas rare de créer des faces non reliées, des vertex isolées qui peuvent ensuite poser de nombreux problèmes lors du baking.

Bien sûr, les deux méthodes peuvent être combinées : la retopologie obtenue automatiquement peut être ensuite affinée manuellement. C'est notamment ce que permet de faire Houdini, et c'est la raison principale pour laquelle il est actuellement le meilleur logiciel pour cette opération.

Les logiciels

zbrush logoZBrush

ZBrush est sans conteste l'un des logiciels les plus abouti en ce qui concerne la retopologie et la décimation. Malgré une interface à l'ergonomie particulièrement mal faite, il dispose d'outils très performants.

Les plus : Pour la décimation, ZBrush dispose de ZRemesher, facile à paramétrer et qui donne d'excellents résultats la plupart du temps (cf. plus bas : "Procédure"). Pour la retopologie, la Topology Brush est également un excellent outil qui permet de travailler très rapidement.

Les moins : il devrait être interdit de produire des logiciels à ce point anti-ergonomique ! L'emplacement des menus, le nom et l'éparpillement des options, le manque de clarté entre 2,5D et 3D, etc. sont vraiment à revoir entièrement...

3dsmax logo3DsMax

Le logiciel d'Autodesk dispose bien sûr de fonctions de retopologie automatiques et manuelles... qui ne sont pas à la hauteur de ce qu'un tel logiciel devrait offrir à l'utilisateur. On peut dire qu'il s'agit d'un de ses (très) gros points faibles et les dernière versions n'apportent toujours rien à ce niveau.

Les plus : une ergonomie plutôt efficace... et pas grand chose de plus ce qui est un mystère : le logiciel est très utilisé dans l'industrie du jeu mais ne propose aucun outil sérieux de simplification du maillage.

Les moins : les fonctions de décimation (le modifcateur "ProOptimizer" en particulier) ne donnent pas de résultats très bons, bien inférieurs à ceux de ZBrush. Quant au fonctions de retopologie , c'est une catastrophe qu'il faut éviter à tout prix, essentiellement parce que 3DsMax est incapable d'afficher un modèle HighPoly de façon fluide !

Maya logo

Maya

A l'inverse de 3DsMax, et bien qu'il s'agisse du même éditeur, Maya propose quelques outils intéressants, surtout pour la retopologie manuelle. L'interface est assez différente de 3DsMax mais pas moins efficace lorsqu'on a pris ses marques.

Les plus : l'outil Quad Draw est aussi performant que la Topology Brush de ZBrush pour la retopologie manuelle - mais avec une interface autrement plus agréable ! Pour la retopologie automatique en revanche, si les fonctions de Mesh Reduce et de Paint Reduce Tool ne sont pas mauvaises, elles restent inférieures au ZRemesher de ZBrush

Les moins : Maya est un peu l'artillerie lourde de la retopologie. Les fonctions sont puissantes, si bien qu'elles sont surtout intéressantes pour les maillages complexes que la décimation ne peut pas traiter correctement.

TopoGun logoTopoGun

Ce logiciel est le plus modeste de cette liste en ce sens qu'il ne s'agit pas réellement d'un logiciel de modélisation aussi complet que les trois précédents Mais s'il tire son épingle du jeu, c'est parce qu'il est très spécialisé pour la 3D temps réel et offrent des fonctions de retopologie très bien pensées.

Les plus : bien moins chers et complexes que les trois logiciels précédents, TopoGun n'en est pas moins bon pour la retopologie manuelle et proposent des options assez similaires à celle de la Topology Brush de ZBrush ou le Quad Draw de Maya avec l'avantage d'avoir une ergonomie bien meilleure. Il est capable, comme ZBrush, d'afficher de façon fluide des maillages de plusieurs millions de polygones.

Les moins : la décimation n'est pas aussi bonne que celle de ZBrush

InstantMesh logo

InstantMesh

Ce logiciel open source et gratuit est uniquement dédié à la décimation. Son interface est extrêmement simple, il ne faut pas plus de 10 minutes pour apprendre à l'utiliser.

Les plus : sa gratuité et sa simplicité d'utilisation, bien sûr ! InstantMesh dispose surtout d'une option remarquable qui permet de dessiner sur le maillage les zones de relief que la décimation doit respecter. Grâce à elle, il est possible d'obtenir un LowPoly de bonne qualité très rapidement.

Les moins : InstantMesh a les défauts de ses qualités. Peu d'options et de fonctionnalité : InstantMesh est limité - mais ce qu'il fait, il le fait bien !

Houdini logo

Houdini

Houdini est sans conteste le roi des logiciels pour la retopologie et la décimation. Il est cependant le plus complexe des logiciels 3D à prendre en main.

Les plus : l'interface nodale d'Houdini, assez proche de celle de Nuke, est extrêmement claire et ergonomique. Les fonctions de retopologie sont les plus puissantes actuellement disponibles et la décimation, si elle n'est pas aussi bonne que celle de ZBrush, est performante - les deux pouvant être combinées pour tirer le meilleur de chacune.

Les moins : Houdini n'est pas un logiciel de 3D grand public. Il nécessite une très bonne compréhension de la 3D, et une bonne connaissance de la programmation est souvent nécessaire. Il est également indispensable de maîtriser les raccourcis clavier pour ne pas se perdre dans l'interface.

Procédure 1 : la décimation avec ZRemesher

ZRemesher options

  1. Dans le menu ZPlugin, sélectionnez FBX Import Export, cliquez sur le bouton Importer et enfin sélectionnez le HighPoly généré par RealityCapture
  2. Créez le HighPoly dans le fenêtre principale et passez en mode Edit. Éventuellement créez un clone si vous voulez pouvoir comparer par la suite le HighPoly et le LowPoly.
  3. Dans les menus de l'outil, sélectionnez Geometry puis ZRemesher. Dans l'exemple du buste en plâtre, les options ont été réglées de la façon suivante (pour connaître la fonction de chaque option, consultez ce lien
  4. Cliquez enfin sur le bouton ZRemesher : après un calcul de quelques secondes à quelques minutes, la version LowPoly s'affiche - on remarque au passage qu'elle a perdu sa texture : en réalité, comme la disposition et le nombre de polygones ont changé, les coordonnées de mapping ont été effacées et la texture ne peut plus être appliquée correctement sur l'objet.
  5. Une fois cette partie finie, il est possible d'affiner le modèle obtenu avec les outils de retopologie manuelle. Dans l'exemple, le cou, les joues et le front pourraient être largement simplifiés. Il est également possible de créer des groupes de faces (ou polygroup). Enfin, il faut exporter le maillage LowPoly en suivant la même procédure qu'à l'étape 1 mais en sélectionnant Export.

ZRemesher AvantZRemesher Apres

Avant et après ZRemesher : le HighPoly contient presque 8 millions de poly, le LowPoly n'en contient que 17.000 soit presque 500 fois de moins... et le fichier FBX une fois exporté fait environ 500Ko au lieu des presque 120Mo du modèle original !

Procédure 2 : la retopologie avec Houdini

La retopologie dans Houdini nécessite de maîtriser plusieurs nodes, en particulier :

- Topobuild : c'est le node principal qui permet la retopologie. Il permet de créer des points, des arrêtes et des faces tout qui collent au HighPoly

- Blast, Mirror, Merge, Transform et Edit : pour copier, effacer, fusionner et modifier le maillage

- Visibility : pour masquer certaines parties du maillage et faciliter la retopologie des zones difficiles d'accès

- Polydraw : permet de créer des points, des arrêtes et des faces de façon libre. Nécessaire pour combler les parties du maillage que la photogrammétrie n'a pas ou mal reconstruite.

- Subdivide : pour affiner automatiquement le maillage et permettre de faire une retopologie plus rapidement.

- Polydoctor : ce node très précieux permet de vérifier l'intégrité et la validité d'un maillage.

L'exemple ci-dessous, pour mieux montrer l'ensemble des outils de retopologie et leur intérêt, se base sur la reconstruction d'une berline - le wagons utilisés par les mineurs pour remonter le charbon de la mine. La difficulté principale est que la photogrammétrie a mal reconstruit certaines parties, en particulier l'arrière des roues et le dessous de la berline.

Houdini retopo

Etape 1 : Deux cotés de la berline sont d'abord modélisé (1er node Topobuild). Ils sont ensuite détachés l'un de l'autre (Blast) , dubliqués (mirror) et réarrangés (Edit) pour former les deux autres côtés manquants.
L'ensemble est fusionné en un seul mesh (Merge) qui est replaqué sur le modèle HighPoly grace au second node Topobuild. Grâce à ce dernier node, une des roues de la berline est également créée.

Houdini retopo etape 1

Étape 2 : La même méthode qu'au premier niveau de retopo est appliquée pour les roues de la berline : la roue est d'abord isolée du reste  par un node Blast, puis elle est copiée (Mirror), l'original est supprimé (Blast) et la copie correctement repositionnée par rapport au HighPoly (Transform)
L'opération est répétée encore deux fois pour les deux autres roues. Les quatre roues et le corps de la berline sont ensuite rassemblé en un seul mesh (Merge), puis réajusté sur le HighPoly grâce à un nouveau node Topobuild.

Houdini retopo etape 3

Étape 3 : La reconstruction photogrammétrique de la berline a produit un mesh incomplets par endroits, sous le corps de la berline et à l'arrière des roues. Cette partie permet de les combler. Des nodes Visibility sont utilisés pour isoler les parties manquantes et rendre la modélisation plus facile. Le reste de la reconstruction n'utilise que des nodes Polydraw pour ajouter les faces manquantes et Edit pour les placer correctement. Un dernier node Visibility fait réapparaître l'ensemble du LowPoly, et un dernier node Topobuild permet de reconstruire le fond de la berline.

Houdini retopo etape 2

Etape 4 : Le LowPoly obtenu aux étapes précédente n'étant pas assez précis, il est affiné (Subdivide). Le résultat, principalement à cause des trous du HighPoly, n'est pas optimal notamment du fait de faces qui se croisent entre l'intérieur et l'extérieur de la berline. Un dernier node Topobuild est utilisé pour optimiser le LowPoly. Enfin le node PolyDoctor permet de s'assurer de l'intégrité du mesh final.

Une fois la retopologie terminée, d'autres nodes d'Houdini permettent de réaliser le mapping UV puis le baking. Le grand avantage de tout faire dans un seul logiciel est qu'il simplifie considérablement l'uniformité de l'orientation et de l'échelle du LowPoly et du HighPoly, essentielle pour les opérations de baking. La scène Houdini et les fichiers téléchargeables à la racine de ce chapitre détaillent l'ensemble du processus.

Modifié le: samedi 20 juillet 2019, 18:34