Modélisation d'un Tyranosaure Rex : Zbrush2 associé à Maya.

Avec ce making of, je vais présenter toutes les étapes de mon travail qui ont permis d'aboutir au modèle ''sculpter'' final de T-Rex.

J'ai dû en effet apprendre les techniques de modélisation de Zbrush et la manière de les exploiter dans Maya. , l'art et la technique tout en les dissociant : le processus combine 2 softs, le premier utilisé pour le rendu et l'animation (Maya), le second pour la modélisation (Zbrush).

 

Phase 0: Recherche graphique

L'étape initiale est de se familiariser avec la forme du T-Rex, sa morphologie et essayer d'identifier les traits caractéristiques que l'on veut mettre en avant sur le modèle pour lui donner un minimum de ''réalité'', mais aussi pour le personnaliser. En faisant ces recherches, je sélectionne une trentaine d'images de T-Rex, et, bien que mon modèle depuis longtemps soit celui de Jurassic Park, cela me permet d'enrichir l'apparence du T-Rex que je veux modéliser.
Comme je ne pense pas arriver à un niveau de détails extrême, autant faire ressortir ce qui me plait chez cet animal.
Un autre point, puisque personne n'a jamais croisé de tyrannosaure, je le connais seulement grâce à l'imagination humaine, c'est pourquoi je souhaite avoir aussi des images de son squelette, seul vestige réel et irréfutable... surtout pour avoir une base à peu près fiable des proportions ou du nombre de dents par exemple.

   

Puis, je dessine pour me mettre en tête toutes les caractéristiques qui me plaisent et pour ''apprendre'' mon modèle car ma mémoire visuelle ne suffit pas.
Cette phase est plus ou moins longue, cela dépend du temps que l'on a. Je ne suis pas pressé et j'aime trop ce dinosaure pour aller vite (bien sûr, en fin de production on n’a pas la même philosophie :o) ) alors je savoure et me sens aussi très impressionné, presque inquiet, de devoir reproduire ce que j'ai toujours admiré.

 


PHASE 1 : CONSTRUCTION D'UN TRES LOW POLY

--- Dans Maya ---

Au départ, je commence toujours par un ‘'brouillon’' Low poly que je crée dans Maya. Je modélise très simplement les formes générales du modèle et un début de posture. Je ne m'attarde pas dans Maya puisque tout le travail de volume et de structure sera fait sous Zbrush, avec un simple stylet.
En fait, je sculpte un très low poly dans Maya par préférence, mais cette première phase pourrait se faire parfaitement avec les zspheres de Zbrush.
Ce très low poly ne doit pas avoir nécessairement des faces carrées. Il doit avoir le minimum de détails (je procède à un remaillage plus tard). Il sera plus facile ensuite sous Zbrush de placer les éléments caractéristiques du modèle, comme les yeux, etc.
Une fois terminé, il est préférable de s'assurer que le modèle est parfaitement symétrique avant de l’exporter.

PHASE 2 : ''CROQUIS 3D'' DANS ZBRUSH

--- Dans Zbrush ---


Cette phase consiste à modeler sans trop de détails le low poly créé précédemment dans Maya.
J'importe l'objet à sculpter dans Zbrush (Tool - Import), je fais glisser la souris pour faire apparaître l'objet dans l'espace de travail et appuie sur Shift avant de relâcher le bouton gauche de la souris (pour axer le modèle).
J'actionne tout de suite le mode Edit (T) et j'active la symétrie (Transform) puis je commence à retoucher le T-Rex avec le mode Draw (Q) et Move (W).
Il faut savoir que le modèle que je souhaite avoir dans cette phase n'est pas le modèle définitif, mais juste un ''croquis 3D'' présentant les grandes spécificités, proportion et ligne de force du T-Rex final. En fait, ce qui m'intéresse dans cette étape, c'est d'acquérir le volume de l'animal rapidement et intuitivement. Ce travail me servira dans la prochaine phase qui sera plus technique.
Le mode ‘’Move’’ est très utile pour modifier la forme du modèle, son épaisseur, mais pas pour l'étirer ou le rétrécir, pour ça j'utilise les latices de Maya. Je fais l'aller-retour entre Zbrush et Maya plusieurs fois dans la production.
Le mode ‘’Draw’’ est essentiel pour approfondir la forme et plus tard entrer dans les détails. Je préfère l'option ''Inflat'' à '’Standard’', bien que la différence soit minime (j'ai mis du temps à voir une différence d'ailleurs !), mais il me semble que lorsque j'utilise ‘’Inflat’’ les pixols réagissent plus ''proprement'' et ils réagissent par rapport aux normals du modèle, et non de la camera ...c'est ce que je me dis !... Bref, l’option ''Smooth'' est vitale ; je paramètre l'intensité, puis je l'utilise constamment en appuyant simplement sur la touche Shift.
Je subdivise le modèle lorsque il me semble que je ne peux plus progresser sans ''forcer'' sur les pixols.
Dans cette phase, j'arrive au niveau 3 ou 4 maximum.
J'exporte ensuite le modèle au niveau de subdivision le plus haut (3 ou 4 en l'occurrence).

PHASE 3 : REMAILLAGE DANS MAYA

--- Dans Maya ---

 


Après avoir créé le volume du T-Rex dans Zbrush, je l'importe dans Maya et, avec l'option ‘'Make live’' (Modify - Make live), je commence la modélisation définitive du T-Rex Low poly. Définitive dans le sens où tout le travail de cette phase consiste à refaire le maillage de façon à ce qu'il soit le plus efficace possible, pour servir de support à la future displacement map et pour pouvoir être skinné et animé convenablement.
L'avantage de cette méthode de production prend tout son sens dans cette étape, à présent je ne me soucie plus du volume puisque les polygones sont '’snapés’' sur le modèle détaillé dans Zbrush. Je me concentre juste sur la cohérence et l'efficacité du maillage.
Puisque je possède maintenant un véritable '’moule’', je peux modéliser face par face tout en dessinant sur mon modèle les lignes de force et d'articulation que suivront les polygones. C'est le principe et l'avantage de la ''modélisation par face'', extrusions successives de faces à 4 côtés suivant un plan simple : la dynamique du modèle.

 

Cette phase 3 comporte cependant un challenge qui reste bien sûr ultra simplifié par la technique de modélisation employée : n'avoir que des polygones à 4 côtés... des carrés partout. Pourquoi ? Et bien, sans que ce soit totalement obligatoire, je pense qu'il y a 3 raisons :
. Une fois le remaillage terminé, pouvoir exporter un modèle clean que Zbrush ne re-interprétera pas en changeant la topologie du maillage
. Générer une displacement map plus propre
. Optimiser le temps de rendu sous Mental Ray
Bien sûr, cette volonté de n'avoir que des quadrilatères est intéressante quand on sait que l'on utilisera une displacement map pour créer les détails, avoir des faces à 4 côtés est idéale pour l'animation aussi. A la fin du remaillage, on entre dans un véritable jeu de logique pour caser les dernières faces… mais il y a toujours une solution !
(Pour vérifier si mon maillage n'a pas de faces à plus de 4 côtés, je l'exporte dans Zbrush pour voir si un message d'erreur apparaît.)

Une fois le maillage terminé, j'observe bien mon modèle, retouche les vertexs de façon à ce que chaque lignes soit souples et je coupe aux endroits qui en ont besoin (toujours dans l'optique du détail dans Zbrush et de l'animation). En effet, lorsque je subdiviserai le modèle dans Zbrush, j'aurais besoin que chaque partie du corps de T-Rex soit équitable en nombre de faces pour pouvoir créer du détail à peu près uniformément. Cependant, la tête sera plus subdivisée donc plus détaillée. Enfin, il faut que chaque articulation possède suffisamment d'arêtes pour pouvoir bouger convenablement.

Je retouche ensuite les proportions avec quelques latices. Je supprime la moitié du modèle et recrée la symétrie (Polygone - Mirror geometry) en ayant au préalable aligné les vertexs (Discret Scale) qui doivent se souder. J'applique un '’Merge vertices’' sur tous les vertex (avec une distance min de 0.0007) pour être sûr qu'il agisse seulement sur les vertexs qui sont ''snapés'' sans être soudés.

Dernière étape avant Zbrush, je crée des polygroups qui me serviront à isoler facilement différentes parties à détailler dans Zbrush (Create - Sets - Quick select set) notamment pour l'intérieur de la bouche et la tête qui sont difficilement dissociables sans ces fameux ‘’Quick select set’’.
Pour l'instant, je ne modélise ni les yeux, ni les dents, ni la mâchoire ; ce seront des éléments séparés qui viendront se rajouter plus tard.
Avant d'exporter, il faut savoir que le nombre de polygones du modèle Low Poly final restera définitif. Une fois le travail de sculpture commencé dans Zbrush, on pourra à tout moment revenir dans Maya, bouger les vertexs, déformer le modèle, refaire les UVs mais, en aucun cas, couper, rajouter ou enlever des faces.
J'exporte mon modèle Low Poly tout clean prêt à être détaillé.


PARTIE 4 : ZBRUSH, MODELAGE FINAL, DETAILS ET DISPLACEMENT MAP

--- Dans Zbrush ---


      Bienvenue dans la partie la plus abstraite, la phase la plus artistique du projet, là où l'observation, l'entraînement et la persévérance priment !
Je vais décrire ici ma façon de procéder : de l'importation de l'objet à la génération de la displacement map finale.

J'importe le T-Rex dans Zbrush comme dans la phase 2, une fois le mode édition (T) activé je me préoccupe des UV de mon modèle. Je vais utiliser le dépliage d' UV automatique de Zbrush pour deux raisons :
. D'une part, cela m'assure de n'avoir aucune déformation, aucun étirement d'une texture quelconque et notamment de ma map de displacement.
. D'autre part, ça marche ! :o) Et ça colle avec ma méthode de travail qui peut se passer d'un dépliage à la main, dans la mesure où toutes les textures produites pour ce projet seront générées dans Zbrush, et non dans un logiciel 2D comme Photoshop.
Donc : Tool - Texture - GUVTiles.
Les UVs peuvent être dépliés au début ou à la fin du travail de modelage mais ils devront être dépliés avant l'utilisation de ‘’Projection Master’’. (Je n'ai pas Zbrush 2.5 mais cette remarque ne doit plus avoir de sens dans cette version puisque ‘’Projection Master’’ n'existe plus en tant que ''Outil à part''.)

Avant de commencer à ''sculpter'', j'active le '’Multi Draw'’ (Préférence - Performance - MutliDraw)/ Puisque mon processeur est un dual core, le bénéfice est réel.

Je subdivise mon modèle au niveau 2 (pour me rendre compte du prochain ''palier'') MAIS je commence le travail au niveau 1, en me disant que les deux premiers niveaux sont la base de la structure, des proportions et des futurs éléments caractéristiques que je souhaite faire ressortir.
Alors je prends mon temps, principalement en mode ‘'Move'’ pour l'instant et l'option '’Frame’' active ce qui me permet de visualiser les points et les lignes de force du modèle. Avec le peu de pixols dont je dispose pour l'instant, je ''prépare'' les zones qui me permettront d'accentuer plus tard des plis ou des muscles.

Niveau 2, je continue de développer les muscles. Les cuisses et les mollets ainsi que la puissante queue de monsieur T-Rex. Je m'amuse à accentuer les parties osseuses, celles du bassin et de la tête notamment, faisant ressortir les arcades et leurs magnifiques protubérances qui soulignent le haut de la tête, si caractéristique du T-Rex.
Bien sûr, je regarde constamment mes ressources graphiques pour essayer de bien placer chaque élément. J'imprime aussi celles que je préfère pour les afficher, cela permet d'être constamment imprégné par son modèle... surtout lorsqu'on habite un tout petit appart!

    On peut dire que jusqu'au niveau 4, je m'occupe juste de l'anatomie de T-Rex en modelant les muscles, les os et la graisse que je souhaite faire apparaître tout en gardant en tête que la peau recouvre le tout.

  La graisse... merveilleuse, lorsque elle est combinée aux muscles ou mieux à une protection osseuse ! C'est pourquoi, dès le début, j'avais l'idée de donner un aspect flasque et vulnérable à toutes les parties situées sous l'animal ; de la ''gorge'' à la queue. Je voulais que ce dinosaure ''tyran'' n'ait pas l'air d'un monstre mais d'un animal vivant.
Le dessus, quant à lui, sera rigide avec des excroissances osseuses. Je veux accentuer cette propriété sur le dessus du bassin en m'inspirant des baleines qui semblent avoir de véritables rochers accrochés à leur corps. En délimitant assez tôt ces deux zones, je sais que je devrais travailler différemment sur la partie haute et sur la partie basse du corps.

Les niveaux 5 et 6 sont consacrés à tout l'aspect tendre et rugueux du corps. Les pattes seront rigides et protégées de multiples plaques osseuses. Les griffes seront usées. Après réflexion, je fais tous les détails ''à la main'' en mode ''Draw'' avec 'Inflat' puis '’Standard’' pour les plus petits et les plus irréguliers. J’utilise '’Projection master’' seulement pour les pattes avec l'outil très pratique ''DecorBrush'' (en 'Zsub') pour créer des cicatrices.

A ces niveaux de subdivisions, il est nécessaire d'isoler les parties à sculpter (Shift+Ctrl+bouton gauche de la souris), parce que, surtout au niveau 6, le nombre de pixols est très difficilement gérable (5 Millions) mais aussi... Pour ne pas paniquer à cause du travail à faire. Il est plus facile de se concentrer sur des petites parties et d'organiser son temps de travail en ''zones'' à détailler. En général, je sais que je vais repasser sur toutes les parties du corps à chaque niveau de subdivision, jusqu'au 5ème donc pas la peine de trop s'attarder sur chaque partie.

 

Une fois le niveau 5 terminé, le volume et les proportions du T-Rex ont pas mal changé. Je retourne alors dans Maya en prenant soin d'importer le nouveau modèle (niveau 1 de subdivision) en cochant '’False’' (Import Options - Create Multiple objects) pour pouvoir retrouver mon travail dans Zbrush. Avec quelques latices, j'agrandis ou diminue, j'étire, j'élargis...jusqu'à être définitivement satisfait des proportions.

De retour dans Zbrush, j'importe le modèle retouché dans Maya par dessus l'ancien et hop, les retouches sont prises en compte et en augmentant les niveaux de subdivisons, je retrouve exactement les détails de sculpture.

     Au niveau 6, c'est le passage final où je place tous les détails difficiles à mettre auparavant (veine, pustule etc.), j'en profite aussi pour atténuer ou exagérer certains reliefs. Enfin, je vérifie que toutes les zones détaillées coïncident bien entre elles avant de stopper le travail de sculpture.

Vient le moment de générer la map de displacement !
Je redescends au niveau 1 de subdivisons.
Après d'innombrables tests, j'ai adopté certains réglages que je juge importants :

  

.    D'abord, puisque ma displacement map sera utilisée avec un modèle en polygones dans Maya, il est important d'activer le mode '’Cage’' (Tool - Geometry) (Le maillage explose, c'est normal mais au rendu sous mental ray il sera ''clean'') Cela permettra d'avoir au rendu final (Mental ray) un T-Rex plus fidèle à la version Zbrush, même s’il ne sera jamais identique. En effet, sans le mode ‘’Cage’’, votre modèle se sentira obligé de se déformer pour laisser apparaître les détails de la displacement map.

.    Ensuite, je paramètre la displacement map (Tool - Displacement) : DPsubPix à 2, DPres à 4096 (résolution de la displacement map à ce niveau la map contiendra tout les détails de la sculpture), SmoothUV activé (seulement en mode 'cage' sinon la displacement map aura quelques incohérences), puis ‘'Mode’' activé.

.    Enfin, dans les options d'export de l'objet (je le fais à ce moment mais je ne pense pas que ça influe sur la dispmap), je décoche ‘'Grp'’ et je coche ‘'Mrg'’

C'est bon : ‘'Create Dispmap'’.

Quelques minutes plus tard, la displacement map apparaît dans la fenêtre des alphas. Je la sélectionne et je '' FlipV'' pour l'orienter de façon à ce que Maya la lise correctement.
J'exporte la dispMap en TIFF, puis j'exporte le T-Rex subdivision1 en mode '’Cage'’ et fais chauffer Photoshop.


 

PARTIE 5 : RENDU DANS MAYA

Une fois la sculpture aboutie, il faut arriver à recréer les détails qu'elle comporte sur un objet faiblement subdivisé, car destiné à être skinné puis animé !

--- Dans Photoshop ---
Cette phase s'ouvre avec Photoshop (CS) quelques instants, le temps de découvrir la displacement map générée dans Zbrush. Avant toute chose, avant d'ouvrir la dispmap en TIFF, je paramètre Photoshop pour qu'il puisse accueillir la dispmap pour qu’elle soit la plus efficace possible une fois dans Maya et de sorte qu'il n'y ai pas de phénomène de ''gonflement'' du modèle au rendu.

 
    Dans: ‘’Edit - Color settings’’, je désactive la gestion des couleurs en mettant '’Off’' à '’RGB’', '’CMYK’' et '’Gray’' puis dans cette même fenêtre dans '’Working space’' à '’Gray’', je mets ''Dot Gain 30 %'' ce qui aura pour effet d'assombrir de 30 % la map.

  

Ensuite, j'ouvre la dispmap en TIFF et la convertie en RGB 16 Bits (Image - Mode) pour qu'elle puisse faire son job dans Mental Ray. Je monte la luminosité de 3 points (Image - Adjustements - Brightness/Contrast).

  

  En général, la map a quelques défauts par ci par là, des sortes de taches blanches et noires. Elles influeront sur le rendu en donnant quelques incohérences, alors je les floute à la goutte d'eau (Blur Tool).
Enfin, je sauvegarde la dispmap en TIFF toujours.

--- Dans Maya ---

      Voila, Maya !
J'importe le T-Rex exporté de Zbrush toujours avec l'option '’False’' cochée.
Il faut savoir que la taille du modèle n'a pas d'importance si ce n'est qu'elle agit directement sur l'intensité du displacement. Cela veut dire que plus le T-Rex sera grand et plus il faudra monter la valeur de l'intensité du displacement pour obtenir les détails souhaités.
Pour mon rendu, j'ai utilisé un shader de peau mais le principe pour faire du displacement est le même qu'avec un ‘’Blin’’ ou un ‘’Phong’’.

Construction d'un shader destiné à créer le displacement :
Simplement 3 éléments de l' Hypershade : un ‘'Blinn'’ (ou un phong), un '’displacement shader’' et un ‘’File’’.
Voici le schéma des connections :


Ensuite, je double clique sur ''File'' et j'importe la Displacement map. C'est dans '’Color balance’' avec '’l'alpha Gain'’ que je règle l'intensité du displacement et donc du relief généré au rendu. Plus l'alpha Gain sera élevé et plus le relief et les détails seront forts.

Cependant, il reste à rentrer une expression dans ‘’Alpha Offset’' qui sert juste à automatiser le fait que l'alpha Offset doit être égal à l'alphaGain / (-)2.
Voici l'expression à taper dans ‘'alpha offset'’ : =-file1.alphaGain/2 (mettre un G majuscule et le bon numéro du fichier. Ici : file1).

Le shader est prêt, je l'associe au T-Rex puis sélectionne ce dernier et ouvre ''l'attribut Editor'', dans les options, il y a un panneau déroulant ''Displacement map'', là je décoche '’Feature displacement’' .

Bien bien, que de technique ...plus qu'une étape avant de pouvoir lancer des rendus test.
Il faut à présent associer au maillage du T-Rex un ''displace Approx'' et un ''subdiv Approx'' qui servent à affiner et à rendre plus efficace l'apparence du displacement au rendu (avec Mental Ray). Ils se trouvent dans : Window - Rendering Editors - Mental Ray - Approximation Editor. En sélectionnant le T-Rex puis en créant un displace et un subdiv approx, ceux ci sont assignés au maillage, il ne reste plus qu'à les éditer ; voici les paramètres :

 

Pour trouver la bonne valeur de l'alphaGain et donc du displace, je lance plusieurs rendus sur la tête par exemple, en supprimant le reste du corps pour diminuer le temps du rendu. Je compare ensuite les différentes images et choisis celle que je préfère en me rappelant de la valeur d'alpha Gain qui lui est associée.

Ensuite je modélise la langue du T- Rex, je commence par une version low poly (quelques faces toutes carrés ) que je sculpte dans Zbrush pour générer une map de displacement nécessaire afin d'avoir les détails que je souhaite.

Exactement comme pour le corps sauf que je ne passe pas par la phase du 'trés low poly' car une langue est beaucoup plus simple à modéliser proprement.  Puis dans Maya comme dans la phase 5 je crée un nouveau shader pour la langue avec la displacement map qui lui est liée sans oublier d'associer au maillage le displace et subdiv approx paramétrés précédements.

Enfin, je modélise les dents. Puisque je souhaite quelques détails precis je vais proceder de la meme maniere. Le travail de suclpture se fera par simplicité sur une seule dent donc aboutira à une seule displacement map que j'associerai à toutes les dents dupliquées. Le placement de chacune d'entre elles est important pour donner de l'allure à la machoire. Les images de référence sont bienvenues !

  

 Aussi, puisque les modeles (corps, dents, langue) que je place dans la scene maya sont importés en mode 'cage' , il m'est difficile de les placer precisement les uns par rapport aux autres c'est pourquoi je cale les dents et les yeux sur un modele du corps en niveau de subdivision 3 ( sans le mode cage actif), son aspect lisse me permet d'etre plus precis .

 

Voilà ce making of est terminé, je décrirai une autre fois le processus de rendu (mental ray, occlusion etc) mais en tout cas si vous souhaitez avoir plus de renseignements sur le shader n'hesitez pas à voir mon making of à ce sujet.

 

Pour toute question : carcaryas@gmail.com