
Making
of Varga - Première Partie
3.Outils
utilisé
Avant de commencer à vous montrer le déroulement des opérations
employé pour Varga, je vous énumère les outils pour
ce projet.
Voici les spécifications de mon ordinateur, je vous les présente
car certaines de mes limitations furent d’ordres matériels.
*
xp 2500 @2400
* 1GB de RAM
* GeForce 6600GT
Comme
vous pouvez vous en douter ce n'est pas du matériel très
haut de gamme et je fus vite limité par le nombre de polygones
affichés ( jusqu'à deux millions de poly sous Mudbox avant
de trop grand ralentissement ), et sous Maya j'ai rencontré quelques
crash à l'import du modèle 3D en obj s'il était composé
de plus d'un million 500 faces ( pas suffisamment de mémoire vive
). La technique employée fut donc de détacher les parties
de mon modèle 3D ( Tête, torse, jambes, etc .. ), j'ai ainsi
pu contourner le problème rencontré et charger des modèles
avec un niveau de détail satisfaisant ( les différentes
partie n'excédent toutefois pas un million de faces en générale
).
Concernant
le logiciel, j'utilise principalement Maya donc le travail ici montré
est réalisé avec (modélisation, Uvs, Baking des textures
et rendu ).
Pour la version haute définition, j'ai utilisé le célèbre
Mudbox ( construction du LPM depuis Maya et export de l'objet vers Mudbox
pour la création des détails ). Après que l'étape
de scupting soit faite, j'exporte un version détaillé en
obj ( il n'est ici pas utile d'exporter le niveau définition le
plus haut de Mudbox, un maillage de 100-300 mille faces suffit amplement
) vers le logiciel Topogun ainsi que la version basse définition
( seulement si la version basse def existe déjà, sinon il
est possible de modéliser le lpm depuis TopoGun ). Topogun permet
de modifier et apporter des détails à un objet basse def
sur une version haute définition en quelques clicks. Une fois cette
étape validée, j'exporte mon deux modèles ( haute
et basse def ) dans Maya pour calculer la Normalmap grâce à
l'outil Transfert.
Certaines normalmap ont été détaillées dans
Photoshop, d'autres intégralement créées via ce dernier.
Après
tout ce bavardage laissez-moi-vous présenter quelques images WIP
dans le paragraphe suivant.
4.Workflow
utilisé pour Varga
Habituellement
pour des personnages de jeu vous avez des spécificités auxquels
se conformer: la limite du nombre de triangles, les tailles et nombres
de textures à employer... Si vous respectez le nombre et la taille
de texture mais si vous excédez le nombre de faces autorisé
( par de 500 à 1000 faces pour un budget total de 80000 ) et que
la topologie vous convient, il y a peu de chance de rendre fou votre client
!!
Pour cette compétition la limite était de 6000 triangles
et je ne voulais vraiment pas la transgresser. Ainsi la première
étape fut de répartir le nombre de polygones par objet:
le char, l'animal de compagnie, l'arme principale. Il ne s'agissait pas
d'un résultat final mais d'une estimation pour déterminer
quels détails m’étaient autorisés sur les versions
haute définition.
4.1.Low
Poly -basse définition-
Ci-dessous
un gif animé des étapes des différentes évolutions
de mon modèles 3D basse définition (la version triangulé
étant la finale).

Après
avoir modélisé la version low def en entier, j'avais enfin
un meilleur aperçu de la distribution du budget faces entre le
personnage principal, l'animal de compagnie et l'arme. La prochaine étape
est de commencer à casser le modèle en morceaux et à
les nettoyer.
Pour que l'étape de sculpting soit idéale, il est important
d'avoir une topologie propre ! Donc un modèle composé de
face à quatre cotés ( quad ) en essayant d'éviter
tout triangle et les situations où plus de faces se rejoignent
en un seul vextex ( l'ajout d'une subdivision -ou smooth- peut révéler
ce genre d'irrégularité dans le maillage). Dee cette façon
vous aurez des résultats plus prévisible au moment de la
subdivision et du sculpting. Au pire, vous pouvez déplacer les
triangles et vextex joignant plus de quatre faces dans les endroits les
moins visibles de votre modèle.
Toujours dans une logique de topologie propre, essayer d'avoir des formes
de face carré ( à l'opposé du rectangle avec un ratio
hauteur/largeur trop différent).
N'hésitez pas à rajouter des edges pour conformer tout cela.
N'ayez crainte du nombre de face puisqu'il s'agit ici de la création
du modèle dédié à la haute définition.
Ci-dessous plusieurs pièces du modèle prêtent à
l'export pour Mudbox.

4.2.Details dans Mudbox
La
prochaine étape est l'importation des parties de modèle
basse définition dans Mudbox et l'ajout des détails que
vous voulez... ou pouvez ... ou tant que la machine prend pas feu !
Nous
abordons ici la partie la plus fun à mes yeux parmi toutes les
étapes ! Je vous monterais quelques animations présentant
l'avancée des détails sur plusieurs parties du modèle.
botte
(un peu moins d'1 million de triangles pour le niveau le plus élevée)
hanches
(1.6 millions de triangles pour le niveau le plus élevé)
jambe
(autour de 500 000 triangles pour le niveau le plus élevé)
bras
(autour de tris 600 000 triangles pour le niveau le plus élevé)
torse
(autour de tris 800 000 triangles pour le niveau le plus élevé)
Ci-dessous vous pouvez découvrir le modèle 3D entier avec
quelques 8.5 millions de triangles ( j'ai du importer les différentes
partie séparément pour y arriver sur ma nouvelle machine
et Maya est monté à un usage de plus de 3.5 giga de RAM
!).

Maintenant que l'étape fun est derrière nous, je reprends
mon modèle basse définition pour le conformer comme vu plus
haut à mon modèle détaillé. J'utilise donc
Topogun pour cette étape.
J'y importe donc mon modèle basse définition et une version
élevée du modèle comme référence pour
m'assurer de la conformité entre les deux topologies. Ceci je vous
le rappelle assure une normale map réussi au moment de son calcul
( baking de normal map ) .

Je
répète l'opération pour chacune des parties de mon
modèle que j'ai sculpté séparément. Quand
tout est fini, je suis prêt pour la réalisation de mes normals
map.
4.3.Transfer
Maps
A
ce stade des opérations, j'ai en possession mon modèle basse
définition et les différentes parties de modèle détaillées
en haute définition. Je peux donc commencer les UVs.
Il
y a beaucoup d'outils pour la création UVs: UVLayout, Unfold 3D,
les plugins basés sur le Pelt, etc.....
Certains vous diront pourquoi tel ou tel outil est meilleur mais pour
ma part, je préfère travailler avec les outils fournis par
Maya qui demandent plus d'attention notamment sur les découpes,
mais avec lesquels je parviens toujours à mes fins. J'ai bien essayé
Headus UVlayout et Unfold mais je préfère la fonction Un
fold de Maya qui est plus rapide à l'usage à mes yeux (
ndlr: l'Unfold de Maya ?? Je veux bien qu'on m'éclaire sur cette
bizarrerie... )
Je
ne montrerai pas ici comment j'ai travaillé mes UVs puisque
beaucoup d'entre vous n'utilisent pas Maya pour cette étape et que
ce n'est pas le sujet du didacticiel.
L'idée
est de déplier les UVs avec le moins de distorsions possibles et
de placer les découpes sur les parties les moins visibles du modèle
( comme pour les jambes et les bras sur les zones inférieurs ).
Les îlots d'Uvs ( couture de découpe ) peuvent être
déterminés en fonction des parties de modèle que
nous avons séparé sur la version haute déf ( La botte,
la jambe, la tête, ect .. sont autant d'îlots d'UVs ).
Une
fois les UVs réalisés nous sommes prêt pour la création
des textures de normale ( ou autres si nécessaire ).
J'utilise donc ici l'outil Transfert de Maya ( Menu Rendering / Lighting-shading
/ Transfert Map ). Les utilisateurs de 3dsmax ont cette possibilité
via le render to texture.
Voici en exemple ce processus sur la botte :
-
avant de commencer, gardez à l'esprit que les UVs ne doivent contenir
aucun overlapping ( croisement de d'Uvs occasionnant des recouvrements
) pour la réussite du baking de la normal map. La planche d'Uvs
doit être contenue dans l'espace 0 - 1.
-
importer les versions basses et élevées des modèles
dans Maya et s'assurer qu'elles sont l'une sur l'autre
-
ouvrir la fenêtre de dialogue Transfert Map

-
Sélectionner la version low poly puis cliquer dans la fenêtre
sur Add dans la sous partie Target Mesh, sélectionner la version
High Def et cliquer sur Add dans la sous partie Source Meshes ( voir l'image
ci-dessus ).
(si aucune géométrie n'est associée à la source,
Maya prendra en compte les géométries de toute la scène
!).
-
dans l'option d'affichage Display pour le "target mesh", sélectionner
le mode Enveloppe ( ou bien mesh enveloppe)

-
cette étape au dessus permet la création d'une enveloppe
de recherche pour la création de la normalmap. Notez que cette
enveloppe est éditable comme n'importe quel modèle 3D !
Vous pouvez jouer avec la valeur Offset qui permet d'éloigner cette
enveloppe de la géométrie si jamais vous aviez une interpénétration
de cette dernier avec le modèle haute définition. (comme
dans la troisème case de l'image ci dessous)

-
Attention, si l'enveloppe est trop éloignée cela peut occasionner
des erreurs lors du baking. J'ai pris l'habitude de faire quelques tests
pour découvrir les résultats. Positionner au plus prêt
pour avoir presque l'intégralité du modèle haute
définition enveloppé comme le montre l'image en dessous.

A ce stade, sélectionner l'enveloppe et déformer la aux
endroits nécessaires pour parfaire la forme enveloppante sans laisser
de pénétration entre cette dernière et le maillage
détaillé.

-
Sélectionner alors les textures que vous aimeriez voir calculer
( baking ). Pour ma part, je me contente ici que de la Normalmap. ( Vous
pouvez aussi calculer l'ambiant occlusion... Elle sera évidement
calculer depuis la version haute def, mais le calcul de l'occlusion prends
trop de temps sur ma machine donc j'évite cette étape; au
lieu de cela j'y préférerais le BatchBake de MentalRay calculé
depuis le modèle basse def avec sa normalmap associée. Ceci
fonctionne bien plus rapidement pour un résultat identique ! Nous
y reviendrons plus tard en détail.
Assurez vous aussi du chemin des textures à sauver, de leur format,
leur résolution. Enfin prêter attention à la méthode
de recherche en mode "Inside Enveloppe Only" dans la sous partie
" Detailled options".

- Vous êtes maintenant prêt à calculer vos textures
en cliquant le bouton Bake !
-
Si votre texture de normale ne semble pas correcte, revenez à la
fenêtre Transfert Map et réajuster vos réglages.
Mais si votre enveloppe englobe bien votre modèle haute def cela
ne devrait pas arriver. Si par contre vous êtres trop paresseux
pour bien éditer votre enveloppe à la main, vous pouvez
toujours essayer les méthodes de recherche "Inside then Outside"
ou " Closest to enveloppe". Ces deux techniques peuvent aussi
bien donner de bon résultat qu'afficher des textures complètement
inutilisables ! Cela ne résout pas réellement le problème
d'intersection avec l'enveloppe.
Voici
les mêmes étapes de création mais cette fois ci dédiées
à 3dsmax.
- Sélectionnez le modèle basse def, puis menu Render >
Render to Texture
- vérifier que le Projection Mapping est sur "on"
- cliquer sur le bouton Pick et sélectionner le modèle haute
def
- et la.... 3dsmax créer une enveloppe un peu fantaisiste !
- choisir le modificateur de projection
- aller dans la partie Cage et cliquer sur Reset ! Cette fois l'enveloppe
devrait se conformer à votre modèle basse def.
- dans la section Push, vous pouvez augmenter la valeur afin de vous assurer
que celle ci englobe bien la version haute def, comme dans Maya
- De la même façon de quand Maya encore une fois, vous pouvez
éditer cette enveloppe afin de vous assurer que le modèle
haute def soit bien à l'intérieur.
- Une fois toutes ces petites opérations, vous pouvez à
nouveau sélectionner le modèle basse définition et
dans le Render to Texture, cliquer sur Render.
- Si la texture n'est pas correcte, ajuster à nouveau l'enveloppe
autour de la version haute def.
|