OPTIMISER LES OBJETS

 

 

Les bases des polygones

Ce tutorial va vous montrer comment optimiser sans "supprimer les faces invisibles, car ça, ce sont des optimisations barbares, a la portée du premier venu.

Lorsqu'on regarde si un model est bien optimisé, on ne regarde pas le nombre de polygones, mais le nombre de faces (ou polygones a 3 arrêtes). Une face, est un ensemble de 3 vertices (pas plus pas moins ) reliés par 3 arrêtes, qui forment une surface. Un polygone, est un ensemble de faces qui sont dans le même plan et qui sont les uns a cotés des autres, autrement dit c'est une face avec plus que 4 arrêtes. mais attention, Les moteurs ne comptent pas les polygones, mais les faces, s'il fait qu'un quadrilatère vaut 2 faces, un hexagone en vaudrait 4 s'il était optimisé correctement, mais 3DSMax a la fâcheuse tendance a rajouter une vertice au milieu ce qui augmente le nombre de faces a 6 (voir image ci dessous ). en général, on peut dire que les bouts de cylindres ont autant de faces que d'arrêtes.

(J'utilise ici les désignations de l'éditeur 3DSMax, dans la discussion courante on inverse en général les 2, je ne sais pas lequel est correct, mais j'ai préféré utiliser la désignation du programme pour ne pas s'embrouiller.)

Pour voir le nombre de polygones d'un model, il suffit d'aller dans fichier, puis propriétés fichier, ensuite contenu et là on peut voir le nombre de faces, c'est a dire le bon nombre.
voici quelques exemples de découpages de polygones dans différentes formes.

 

 

1) : une face (ou polygone a 3 arrêtes, ceux que l'on compte pour l'optimisation)
2) : le découpage classique d'un polygone
3) : un autre polygone et son découpage
4) : un découpage d'un polygone a 6 cotés, quand on le fait manuellement. il possède 4 faces.
5) : Le découpage selon 3DSMax du capuchon des cylindres (ici un cylindre a 6 cotés, il y a 6 faces )
6) : le découpage dans un "cube", il y a 6 polys, mais 12 faces.
7 ) : le découpage dans un cylindre a 6 cotés, il y a 8 polys, mais 24 faces ( le nombre de cotés * 4 pour un cylindre dans MAX)

 

Commençons l'optimisation

INTRO :
L'optimisation consiste a réduire le nombre de polygones, on peut y arriver en simplifiant l'aspect de l'objet, en supprimant les faces qu'on ne voit pas (les faces avant d'une arme par exemple) ou alors, comme ici en supprimant les faces inutiles, c'est a dire c'elle qu'on pourrait enlever en agrandissant une autre face existante. Cette optimisation ne modifie PAS l'aspect de l'objet, il n'aura pas l'air plus "carré" il sera exactement comme le précédent mais avec moins de faces.

EN PRATIQUE
Nous voulons faire un "L" beaucoup d'entre vous ferons une boite, l'extruderont, puis l'extruderont encore, comme en (1). résultat : 14 polygones, ce qui fait 28 faces, Maintenant, quelqu'un qui voudrait un peu optimiser, le ferait de la façon 2 : résultat : 8 polys, ce qui fait 16 faces, soit 57% des faces... eh oui, vous appliquez ça a tout le modèle, il aura +-60% des polys qu'aurait le même model fait selon la première façon (la mauvaise) !
 

 

Vous avez fait un super model mais c'est tellement mal fait que ça devient du high poly ? Vous pouvez aussi optimiser vos models après, rien de plus simple. Vous avez certainement sur votre model 2 polygones, alignés et sur le même plan, qui pourraient en faire qu'un...
(exemple, prenez 2 boites de CD, mettez les l'une a coté de l'autre, vous avez 2 faces, vous pourriez très bien avoir le même aspect avec une boite de CD 2x plus grande, et vous n'auriez qu'une face, on va appliquer les même principe au models. )

Regardons ce shema 1, une sorte de robinet a été modélisé (c'est beau hein )

 

 

On voit par exemple au dessus, qu'il y a 3 polygones, sur la face en biais aussi, sur les faces latérales, il y a 5 polygones, ils sont inutiles, ils sont sur la même surface, ils pourraient très bien êtres "mergés" c'est a dire que comme les boites de CD, au lieu d'en avoir 3, on en aurait une plus grande.

Voici ce que donne le même robinet, que j'ai un peu optimisé :

 

 

La diminution de polygone est très nette, on voit que le dessus ne fait plus qu'un seul poly, la face en biais en fait 2 (3 faces car il y a un poly et une face ), mais c'est inévitable car c'est en fait Ce n'est pas un rectangle, mais un pentagone, un poly a 5 arrêtes ( 5 vertices -> 5 arrêtes, -> 3 faces)
Il faut bien comprendre que dans la 3D, peut importe l'aspect d'un polygone pour déterminer ça complexité, c'est son nombre de vertices qui le détermine. Un carré qui a 6 vertices, c'est un hexagone, il y a des vertices alignées, mais comme les arrêtes se font entre les vertices, eh ben ça fait : 6 vertices -> 6 arrêtes.

les cotés ont été aussi fortement optimisés... Comment ? comme ça :

 

 

J'ai déplacé toutes les vertices et je les ai mergés avec les vertices des coins qui eux sont indispensables.

En règle générale, seul les polys qui sont a des coins, sont indispensables, par exemple, les 4 vertices d'un carré, les vertices du poly qui a servi a une extrusion...

 

Optimisation d'une crosse

 

J'ai optimisé cette crosse, selon la même méthode, et la encore la diminution de polys est importante, en plus le travail de Texturing est plus facile après, car il ne reste que les vertices de coins qui eux sont très faciles a placer sur les textures (ils se trouvent dans les coins) et comme ils sont toujours bien placés, Il n'y a pas de risques de distorsion de texture... alors que les vertices qui ne sont pas dans des coins, qui se trouvent sur des grandes arrêtes, des " vertices inutiles", on ne sait pas bien ou les placer sur la texture (pas de repères précis, vu qu'il n'y a pas de coins) et donc, la texture est toute distordue... encore un avantage de l'optimisation.

 

 

 

Travailler avec 2 objets plutôt qu'un...
en effet, parfois il vaut mieux ne pas extruder stupidement et faire un nouvel objet, voici un cas :

 

 

Ici, on a deux objets et 22 faces.
si je réalisait la même chose avec un seul objet, j'en ai 28.:

 

 

Vous vous dites sûrement, pourquoi chier pour 6 malheureux polys ? parce que si on faisait la même chose avec des cylindres, on économiserait bcp, bcp, bcp plus.
Si vous faites le calcul, vous voyez que dans cet exemple on a ajouté 6 polys, ce qui fait 3 quadrilatères. or, c'est bizarre, je n'ai normalement ajouté qu'un quadrilatère, visiblement, vu que lorsque j'ai coupé le polygone de contact entre les 2 en 3 pour pouvoir extruder l'autre rectangle, j'ai ajouté 2 faces, mais l'une correspond a la face qui existait avant, je devrais donc n'avoir ajouté que 2 faces (un poly.) En fait si on regarde attentivement l'arrête en bleu pétant, on voit 4 vertices dessus. or une face c'est quoi ? un assemblage de 3 vertices, ici, j'ai ajouté sur cette arrête les vertices 2 et 3, ils forment donc avec les vertices 1 et 2 un quadrilatère, donc 2 polys, totalement inutiles puisqu'ils n'existent que théoriquement étant donné qu'on ne les voit pas, ils sont pourtant calculés... supprimer ce quadrilatère ? Pourquoi pas, mais oubliez le smoothing group alors..., le même Phénomène se répète en dessous, la aussi un quadrilatère a été ajouté. En tout 3 quadrilatères auront donc été ajoutés.

Cet exemple est surtout utile pour les détails, tels que boutons, molettes, vis, Les parties séparables lors d'animations (canon, culasse, gâchette, etc...)

il faut toujours garder a l'esprit que un vertice en trop, c'est minimum un poly en trop. si vous avez un rectangle, et qu'il a 6 vertices, c'est qu'il y en a 2 de trop, et la il faut vous arranger pour les enlever...

voici quelques exemples d'optimisations, le premier souligne le fait d'utiliser 2 objets plutôt qu'un dans certains cas, comme celui ci :

 

 

 

 

Cette image montre bien les erreurs que font la plupart des gens, ils laissent des faces totalement inutiles a des endroits stratégiques tels que celui ci, car les formes courbes utilisent un nombre impressionnant de faces
Comment je l'ai optimisé ? j'ai déplacé les vertices du milieu vers les cotés, et je les ai mergés avec celles du coté, j'ai fait de même avec la face du dessous, qui comportait 4 polys la ou 1 suffisait...
ensuite, sur le devant, vous remarquerez qu'il n'y a plus de vertice dans l'axe du cylindre , j'ai effacé la face, et je l'ai recréée moi-même avec l'outil créer polygone (utilisez le dans l'inverse des aiguilles d'une montre pour créer un poly face a vous, c'est plus pratique.)

La suppression de polys.
Regardez dans votre modèle, il y a sans doute des faces totalement inutiles elles aussi car elles sont a l'intérieur du model, on ne les voit que si on est dedans. Bref, elles sont inutiles, Les rechercher est très important, Si vous les laissez, il va falloir les texturer, l'ordi va les calculer mais pour ne rien montrer, effacez les.

Le même principe peut être appliqués au v_models, en effet, les polys qui facent vers l'avant ne seront jamais vus, sauf en cas d'anim vraiment spéciale.
Je ne pense pas qu'il faille beaucoup d'explication pour apprendre a quelqu'un a supprimer des faces qu'on ne voit pas, mais sachez que ça ne résout pas les problèmes d'optimisation en général. N'oubliez pas de bien regarder que les anims n'en patissent pas.

L'importance des cylindres
Les cylindres mangent un maximum de polygones (leur nombre de faces *4 par segment) en réduisant le nombre de cotés, vous diminuez fortement le nombre de polygones, c'est pas inutile, c'est important, vous pouvez gagner un tas de polys en enlevant des segments inutiles et en baissant le nombre de faces. quelques exemples de nombres raisonnables : l HL : le canon d'un flingue, qui n'est pas très grand, et tout a l'avant. 6 si vous ciblez le normal, 8 si le canon est particulièrement visible (rare )
La lunette d'un snipe : 8 a 10 ( 10 vraiment au grand max)
Q3 (augmentez tout de 2)

Conclusion

Concluons : les avantages sont :
ça rame moins
c'est plus propre
ça se skin plus facilement
aucune qualité n'est perdue.
si on le fait dès le début ça prend pas plus de temps.