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
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