Objectif de ce tutoriel Poly vous avez dit poly

Transcription

Objectif de ce tutoriel Poly vous avez dit poly
Objectif de ce tutoriel
L'objectif de ce tutoriel est de fournir aux créateurs d'objets pour TRS un certains nombre de
recommandations pour la création d'objets (simple ou complexes) en utilisant un nombre minimums
de polygones.
Ce tutoriel est de niveau débutant et ne nécessite pas de connaissances particulières autres que la
connaissance de l'interface GMax ainsi que des commandes de création et de manipulation simple
des formes de base (déplacement et rotation des objets, sélection/déplacement/suppression de
vertex ou polygone, etc...)
Poly ... vous avez dit poly ?
Commençons par un peu de vocabulaire
Si l'on s'en tient à la définition stricte du polygone, un polygone est une surface à plusieurs cotés.
Cela comprend donc les triangles, les carrés, les losanges, les hexagones, etc...
Si on prends un cube, comme il est composé de 6 cotés, en modélisation 3D le débutant aura
tendance à considérer qu'il sera composé de 6 polygones, c.a.d. 1 polygone par coté.
Et bien non !
En effet si l'on crée un cube avec GMax, et que l'on utilise l'outil de comptage des polygones, GMax
nous indique que ce cube est en fait composé de 12 polygones !
Mais d'ou vient ce mystère ?
En fait, il faut savoir que n'importe quelle surface plane peut elle même être décomposée en un
assemblage de triangles.
Du coup, lorsqu'un moteur graphique affiche une forme 3D, il affiche les différentes formes planes
sous forme d'assemblage de triangles. Et comme un carré est un assemblage de 2 triangles, c'est
pour cela que pour GMax, un cube est un assemblage de 12 polys (12 triangles en fait) ... CQFD !
Conclusion: En géométrie, lorsque l'on parle de polygone, on parle d'une surface plane, de
n'importe quelle forme. Alors qu'en modélisation 3D, lorsque l'on parle de nombre de polygone d'un
objet, on parle en fait du nombre total de triangles qui composent la forme 3D.
Et si nous faisions un peu de géométrie pour changer ...
Regardons un peu ces formes 2D ... je veux fire ces polygones:
Si l'on veut les découper un plusieurs rectangles, on voit qu'il y a plusieurs façon de les découper.
Par exemple, si l'on prends la seconde forme, voici différentes façon de la découper en triangles:
Bref, il n'y pas de règle concernant le découpage d'un polygone quelconque en triangles.
Par contre il existe un règle concernant le nombre minimum de triangles nécessaire pour le
découpage d'un polygone, que j'appelle la règle d'or: Un polygone à N cotés pourra toujours
être découpé en (N-2) triangles minimum.
Mais pourquoi diable faut-il se tant préoccuper du
nombre de polygones ?
Dans bien des cas, le créateur débutant ne se pose pas cette question.
Or comme je l'ai dit plus haut, en modélisation 3D, un objet 3D n'est en fait qu'un assemblage de
polygones quelconques, eux-mêmes découpés en polygones de base que sont les triangles. De plus,
le nombre de ces triangles ne dépend pas seulement de la complexité de la forme, mais aussi de la
façon dont cette forme a été modélisée avec un outil comme GMax par exemple.
On peut aussi facilement comprendre que plus un forme 3D est décomposée en un grand nombre de
triangles, plus TRS va prendre du temps pour l'afficher, et donc moins la fluidité du jeu sera bonne.
C'est donc pour cette raison qu'il faut tant se préoccuper du nombre de polygones lorsque l'on crée
des objets pour TRS
Quand GMax se transforme en usine à
poly
Faites attention à GMax, ce logiciel est sournois
Lors de la création des formes de base sous GMax (boites, cylindres, plan, etc...), il est important de
faire attention à tous les paramètres de GMax, car si l'on ne tient pas en laisse ce logiciel, cette sale
bête a vite fait de se transformer en usine à poly et à vous créer un cube de 768 polygones !
Si vous ne me croyez pas, et bien regardez cela, c'est ce que l'on appelle une preuve irréfutable ...
Si vous vous demandez d'où cela peut provenir, et bien cela vient tout simplement du fait que lors
de la création de la boite, les paramètres de GMax étaient réglés pour créer une boite dont le
nombre de segments sur la largeur, la longueur et la hauteur soient égal à 8.
Du coup, chaque face est découpée en 8x8 facettes (soit 64), ce qui fait un nombre total de
64x6x2=768 polys (on multiplie par 2 car chaque facette est un carré soit 2 triangles).
On voit donc au travers de cet exemple trivial l'importance de vérifier les paramètres de création des
formes de base avant de les créer !
Voici où se trouvent ces paramètres:
Paramètres pour les
objets de type Box
Paramètres pour les
objets de type Cylinder
En encadré rouge se trouvent les paramètres par défaut des formes de base, qu'il faut prendre soin
de mettre aux bonnes valeurs avant de créer la forme.
Remarquez également que lorsque vous désirez créer une forme ayant une dimension et un
placement bien précis, il est plus simple de la créer en utilisant les champs de la partie "keyboard
Entry" (encadré vert), plutôt que de créer la forme à la souris puis de la redimensionner et la
déplacer comme désiré.
Sachez que chacune des formes de base a ses propre liste de paramètre de création (et
heureusement pour nous, elle est toujours situé au même endroit dans l'interface graphique !).
Il n'y a pas que GMax dans la vie
Et non, il n'y a pas que GMax dans la vie, il y a aussi TRS !
Et de plus, il ne faut pas perdre de vue que les objets que l'on crée sous GMax sous destinés avant
tout à être placés sur une map de TRS.
Oui mais quel rapport avec la choucroute (ou le couscous selon les goûts) ?
Et bien j'y arrive ...
Lorsque l'on est sous GMax, nous affichons nos objets en gros plan car c'est plus facile pour
travailler et surtout pour trouver les petits défauts de surface.
Or, lorsque l'on est sous TRS, il est très rare que l'on affiche les objets en gros plan (excepté
certains objets bien spécifiques tel que les cabines de loc). Et du coup, tous les petites imperfections
que nous voyons sous GMax en gros plan deviennent invisibles sous TRS, surtout lorsque l'objet est
placé au second plan ou en arrière plan.
Un autre chose que l'on rencontre aussi fréquemment, c'est que nous avons la fâcheuse tendance à
multiplier le nombre de faces de nos objets de manière à les rendre moins anguleux
Mais lorsque nous sommes en mode conduite sous TRS, a-t-on vraiment le temps de voir que le
superbe voiture que l'on vient d'apercevoir sur le pont à ses ailes superbement lisses ?
Maintenant que ceci est dit, cela devient clair qu'il ne faut pas chercher à super-détailler nos
création.
Du coup, on voit qu'il devient inutile par exemple de créer un cylindre composé de 180 cotés, alors
qu'un cylindre à 16 cotés proposera le même rendu sous TRS (avec un nombre de poly beaucoup
moins important).
Et ceci est d'autant plus vrai pour les petites formes. Ainsi, si l'on veut modéliser une gouttière, un
cylindre à 8 coté (voire même 6) suffit largement.
Pour ma part, concernant les pièces cylindriques, je me suis fixé un nombre de coté maximum en
fonction de la taille réelle de la pièce comme ceci:
•
•
•
•
6 à 8 cotés pour les pièces de quelques centimètres de diamètre
8 à 16 coté pour les pièces de quelques dizaines de centimètres de diamètre
16 à 32 coté pour les pièces de quelques mètres de diamètre
Enfin pour des pièces de diamètre vraiment très grand (par exemple des cuves
d'hydrocarbure), il est possible de monter jusqu'à 48 coté maxi (mais pas plus, et c'est mon
dernier mot Jean-Pierre !).
Toujours dans le même esprit, il faut aussi se poser la question suivante: où va se situer gésur ma
map l'objet que je crée par rapport au voies (puisque c'est principalement au niveau de la voie que
va se porter l'attention du joueur).
Ainsi, cela me donne une indication sur le niveau de détail à réaliser : si l'objet est placé loin de la
scène principale (la voie en l'occurence), il n'est pas nécessaire de modéliser les petits détails car
ceux-ci ne seront pas visible, par contre si il est tout près, je doit détailler l'objet.
Un sport à la mode: la chasse au poly
Tout n'est pas bleu dans le monde de GMax
Si les objets que nous créons étaient tous de formes de base, nous n'aurions probablement pas
besoin de GMax. Mais voila, 99% de ces objets sont des objets complexes.
C'est pour cela que pour un créateur, GMax est surement sont meilleur ami. Grace à lui, il peut
assembler les formes, les manipuler, voire même les torturer (mais pas trop quand même) afin
d'arriver à des résultats parfois fabuleux.
Mais le problème, c'est que lorsqu'il effectue des opérations sur les forme qu'il manipule, GMax à la
fâcheuse tendance à rajouter un nombre de polygones non négligeable aux objets sur lesquels il
applique ses opérations (je vous avais dit que ce logiciel était sournois).
Ainsi, tout les efforts que l'on avait fait pour limiter le nombre de poly lors de la création de nos
objets se trouvent anéantis en quelques click de souris !
Du coup, il faut partir à la chasse au gaspi. C'est ce que j'appelle "la chasse aux poly".
L'objectif de cette chasse aux poly est d'identifier tous les polygones que l'on peut regrouper. Pour
cela rappeler vous de la règle d'or. C'est maintenant que l'on va la mettre en application.
Attention: ce travail n'est en rien compliqué, mais il peut être très fastidieux pour des objets de
formes complexes ou des grands objets. Cependant, le jeu en vaut la chandelle, car c'est
principalement de là qu'à cause de certains objets trop lourds en poly, certaines map peuvent
devenir injouables pour cause de manque de fluidité.
Le guide du chasseur de poly
Pour illustrer comment pratiquer ce nouveau sport, nous allons partir de la forme suivante:
Le fichier GMax correspondant est téléchargeable ICI (il s'appelle gaspi.gmax)
A ce stade, notre forme est constituée de 32 poly, mais mon petit doigt me dit que cela est bien
trop...
Voyons donc dans le détail comment faire pour identifier les polygones que l'on peut regrouper et
procéder à leur regroupement.
1. Tout d'abord, il faut évidement sélectionner la pièce à examiner dans le viewport.
2. Dans la partie "Selection", clicker sur le bouton "Polygone"
3. Appuyer sur la touche Ctrl (sans la relacher), puis dans le viewport sélectionner tous les
polygones constituant la face de la pièce. Un fois cette selection faite, on peut relacher la
touche Ctrl (sinon, bonjour les crampes ...)
4. GMax nous donne ainsi le nombre "faces" (triangles) qui composent notre forme: ici, notre
forme est composée de 4 triangles.
Or notre forme est une forme à cinq coté, et d'après la règle d'or, elle peut être décomposée en 3
triangles minimum.
Il va donc falloir regrouper les triangles entre eux pour n'en avoir plus que 3 au final.
Pour faire cela, le plus simple est de supprimer les faces sélectionnées, et d'en créer une toute
neuve à la main (et puis de toute façon je ne sais pas faire autrement ...).Il se peut que lors de la
suppression des poly, GMax affiche une fenêtre demandant si l'on veux supprimer les vertex isolés
(c.a.d. aux vertex sur lesquels plus aucun poly n'est attaché). On peux répondre "oui" pour les
supprimer maintenant, mais il est également possible de répondre non (sinon on ne vous
demanderais pas votre avis !), et dans ce cas il faudra les supprimer à la fin.
Pour ma part, je réponds "oui" dans le cas de forme pas trop complexes, et "non" dans le cas de
forme complexe, car je préfère avoir une trace du point d'ancrage des poly avant suppression (au
cas où … et puis on peut les supprimer plus tard comme on le verra après)
Maintenant que l'on a un beau trou dans notre forme, il va falloir reboucher tout ça.
Pour ceux qui ne savent pas comment il faut s'y prendre, je donne la recette: prenez une pelle, du
sable, du ciment et de l'eau ... mais non, c'est un blague !
Voici la vrai marche à suivre:
1. Dans la partie "Selection", clicker sur le bouton "Polygon"
2. Cliquer ensuite sur le bouton "Create"
3. Dans le viewport, cliquer successivement sur chacun des vertex a,b,c,d,e sur lesquels il faut
attacher le nouveau polygone, et terminer en cliquant sur le premier vertex sélectionné afin
de fermer le polygone.
Clicker une nouvelle fois sur le bouton "Create" pour terminer l'opération (sinon au prochain click
souris, GMax va continuer à vous créer un nouveau polygone !), puis vérifiez le nombre de "Faces"
de notre nouveau coté: il doit être à 3.
Le travail sur ce coté est maintenant terminé. Il ne reste plus qu'à répéter cette opération sur toutes
les autres cotés de la pièce afin d'obtenir le nombre minimal de poly.
Si vous répétez cette opération correctement sur tous les coté de la pièce, vous devez arriver à un
nombre de 16.
Maintenant que travail a été fait sur tous les coté, il ne reste plus qu'à supprimer les éventuels
vertex isolés.
Pour cela, sélectionner la forme, et cliquer sur le bouton "Delete Isolated Vertices".
Voilà, on a maintenant une belle forme avec un nombre minimum de polygones !
Quand les polys jouent à cache-cache
One me voit, on me voit pas ...
Une fois notre bel objet définitivement créé (avec toutes mes petites recettes), on se dit que l'on va
enfin pouvoir uploader notre magnifique bébé sous TRS et le mettre sur nos map.
Ben moi je dit que t'as pas fini ton assiette, comme me l'a répété bien souvent ma maman quand
j'était petit: "on ne quitte pas la table tant que l'assiette n'est pas vide".
Bref, on l'aura compris, il y a encore du boulot à faire sur notre objet pour encore diminuer le
nombre de polys
En effet, si l'on regarde de plus près, on s'aperçoit que la plupart du temps, il reste encore de poly
qui ne seront pas visible lors de la mise en place de l'objet dans le décors sous TRS.
Le premier exemple est le fond de l'objet. En effet, ce qui est posé sur le sol ne sera pas visible (a
moins de se transformer en vers de terre, mais alors TRS s'appellerais "vers de terre simulator" !).
Il y aussi le cas des formes collées les unes aux autres: en général il y aura un poly qui sera
complètement caché par un autre.
Et qu'est-ce que l'on fait de quelque chose qu'on ne voit pas ? Et bien on le met à le poubelle tout
simplement.
Et enfin, il ne faut pas oublier le cas des polys que l'on peut regrouper entre eux sans que ceci
n'affecte le rendu visuel final. L'exemple le plus fréquemment rencontré est celui des encadrement
de portes et de fenêtres.
Les dernières recommandations
Pour illustrer ceci, considérons cette forme (représentant le corps d'un petit cabanon) et sur lequel
nous avons réduit au minimum le nombre de poly comme indiqué dans les sections précédentes de
ce tutoriel (le fichier GMax est disponible ICI pour ceux qui le souhaite, il s'appelle cabanon.gmax)
Au départ, notre cabanon est composé de 70 polys.
Commençons maintenant notre petite investigation pour essayer de réduire ce nombre. Tout
d'abord, une fois notre cabanon placé dans le décors d'une map, le fond ne sera pas visible du fait
que le cabanon sera posé par terre. On peut donc le supprimer.
Ensuite, vu que notre cabanon aura un toit, la face du dessus ne sera pas visible non plus, on donc
également la supprimer
Voici ce que cela donne sans le fond ni le dessus:
Maintenant en regardant bien, on s'aperçoit que sur le mur ou il y a les 2 fenêtres, il y a deux
rectangles (A et B) qui représentent le bas de de l'encadrement de chaque fenêtre.
Si on les supprime et qu'on les remplace par un seul rectangle allant d'une fenêtre à l'autre, cela
aura le même rendu visuel pour notre objet du fait que sous GMax nous ne voyons pas l'intérieur du
cabanon.
Voici ce que cela donne après modification:
Toujours dans le même esprit, on s'aperçoit que le haut de l'encadrement des fenêtres et de la porte
est à la même hauteur. On peut donc également supprimer tous les haut et les remplacer par un
seul.
Et enfin pour finir, on constate en plus que l'encadrement gauche de la porte est dans l'alignement
de l'encadrement fenêtre du mur d'en face (c'est à se demander si le créateur de cet objet ne l'a pas
fait exprès pour nous filer du boulot !). Il va donc être possible se supprimer ces 2 cotés par un seul
allant d'un mur à l'autre.
Néanmoins, dans ce cas, il faudra au préalable créer de nouveaux vertices pour pouvoir y attacher
des nouveaux polygones de formes rectangulaire afin qu'il n'y ait pas de jour dans les encadrement
des portes et fenêtres.
Voici enfin le résultat final, vu de dessous:
et le tout pour un poids total de 52 polys.
Si sur cette forme simple, le gain n'est pas important en nombre (18 seulement), il représente
quand même un gain de plus de 20%.
Imaginez alors un gain de plus de 20% sur une forme de 5000 polys, la ça commence à être
intéressant !
Si vous n'êtes pas convaincu, imaginez que le prix du gasoil baisse de plus de 20%, je penses sans
me tromper que vous seriez content. Et bien c'est la même chose pour TRS: moins il a de poly à
afficher, plus il est content !
Ce petit tutoriel est maintenant terminé, il ne vous reste plus qu'à mettre ces petits conseils en
application.

Documents pareils

Création d`une DZ avec Gmax

Création d`une DZ avec Gmax 6.On ajuste les vertex grace aux outils ,rester apuyé a l’étape 1 et le menu déroulant apparaitra,selectionner les vertex et déplacer les pour avoir le

Plus en détail