Manuel du Modding pour Armed Assault
Accueil du site > Tutoriels > Un Personnage de A Ã Z > 5. UVEditor et lods de distance

5. UVEditor et lods de distance

lundi 21 janvier 2008, par lodu


Les lods de distance

Nous avons conservé notre lod 2,000 du modèle de Chernanien, qui nous a servi pour créer notre premier lod de distance.

Un lod, acronyme de level of détail (échelle de détail), correspond au nombre de polygones et à la qualité de la texture qui « habillent » le modèle sur une distance donnée.

Plus l’objet 3d est éloigné (de notre point de vue de joueur), moins il est détaillé.

Ce processus sert à alléger la charge de calcul dévolue aux processeurs, tout en suggérant avec plus ou moins de bonheur, le « floutage » des objets, en relation avec leur éloignement.

Les détails, dans la vie réelle, s’estompent sur les formes, dés lors qu’elles s’éloignent de nous, ou que nous nous éloignons d’elles. L’effet est complété par la « perspective aérienne », qui tends à envelopper les lointains de brouillard.

Tout cela ne se fait pas tout seul. Nous devons créer nous même ces lods_six en tout_ en dégradant les modèles les uns après les autres : c’est à dire en réduisant le nombre de polygones qui les composent.

La texture, quand à elle se « réduit » toute seule, par le biais d’un processus appelé « MIP mapping », qui consiste à,(sommairement), réduire la résolution de celle ci, pour éviter sa pixellisation, dés lors que l’objet s’éloigne de nous. La résolution décroît au fur et à mesure que l’objet s’éloigne et s’accroît jusqu’au niveau de détails de la texture originale, quand il se rapproche de l’observateur.

Pour en finir avec ce bref aparté sur les textures, il faut savoir que ce procédé, privilégié par BIS dans Arma, est très gourmand en ressources mémoire GPU. Ce qui explique, en partie, la nécessité de posséder une bonne CG pour faire tourner Arma...CQFD

Mais revenons à nos polygones. Comme sur l’image ci dessus, dans le lod 2000, nous allons commencer notre travail de réduction.

J’ai volontairement sélectionnés en rouge les parties du modèle par lesquelles nous allons commencer. Il s’agit, en fait, de prendre ces deux bandes verticales de polygones, l’une après l’autre et fusionner deux à deux les points horizontaux, de manière à obtenir ceci : Pour plus de clarté, j’ai évité un rendu filaire, mais maintenant que vous avez compris la démarche effectuée, je vous montre le même perso en rendu fil de fer : D’emblée nous pouvons voir, dans le fouillis des lignes, que certaines d’entre elles sont de couleur jaune : s’agirait’il d’un bug ?

Non, par contre c’est une indication donnée par le premier lod sous jacent de valeur 1000, dont transparaissent les polygones non altérés du modèle. C’est tout bonnement un effet de calque qui nous permet de voir par transparence.

Si l’on laisse provisoirement de coté le perso dans O2 pour aller faire un tour dans l’UVEditor, on se rends compte que nos modifications faites dans O2PE, ont également eu des répercussions dans le maillage UV. Ce que j’ai entouré de couleur bleue correspond à la répercussion de notre récent travail dans O2PE.

Pour y voir encore plus clair, nous allons « appeler » la texture que nous avons créée dans le tutoriel sur l’UVEditor, en appuyant sur la touche « f2 ».

Le résultat est meilleur en ce qui concerne les véritables dimensions, mais manque encore de lisibilité et il nous faut donc y remédier. Pour ce faire, nous allons dans le menu du haut de la fenêtre de l’UVEditor et nous déroulons l’onglet View, dans lequel nous cliquons sur la commande « Texture Lightness », (le raccourci clavier est la lettre L), qui ouvre un panneau doté de deux curseurs. Nous positionnons les curseurs de luminosité et de contraste vers le bas, à peu prés à un cinquième ou un quart de la distance restante vers les tirets du bas.

Pour ma part, j’obtiens ceci : Comme nous le voyons de suite , on distingue mieux dans l’arrière plan, les différences entre le maillage UV en jaune du lod sur lequel on travaille (2000), et celui du lod sous jacent (1000) en bleu.

Au passage j’en profite pour vous dire qu’il est beaucoup plus agréable de travailler sur un fond grisé et que cela vaut aussi pour O2PE, dans ses différentes fenêtres de vues.

A ce sujet, je ne peux que vous conseiller les tutoriels de Chris Young, dans la même boulangerie, sur l’emploi d’O2PE en général.

Nous reprenons donc notre vue des UV,et commençons un travail sensiblement identique à celui que nous avons effectué sous O2PE : nous soudons les vertices, (Alt+d) de telle manière que les espaces vides en bleu, soient de nouveau comblés et le maillage homogène : démonstration par l’image. Il faut bien comprendre que le fait de « retendre » les UV dans l’UVEditor, redispose également la texture de façon harmonieuse sur le modèle dégradé.

Et en plus,les informations de « poids » que nous avons rentrés sur les sélectionne, dans le tuto sur la pondération, sont également conservées. C’est’y pas beau ça ?

Et c’est là que l’on commence à comprendre que tous nos efforts précédents vont enfin être récompensés, que tout ce travail, fastidieux, de préparation, avait un sens. Le gain de temps qui découle de tout cela commence à être palpable et va nous faire paraître le reste des opérations comme une simple promenade de santé.

Nous continuons notre travail de dégradation du modèle dans O2PE, en gardant présent à l’esprit, tout au long de ce processus de simplification du modèle que le résultat recherché doit ressembler le plus possible au premier lod.(ici il apparaît par transparence du calque, en jaune ; ce qui est très pratique pour notre affaire, car on s’en sert comme une référence visuelle en temps réel, pour réduire les polygones du lod sur lequel on travaille.) En clair, nous devons faire attention aux points que nous soudons ensemble et à l’endroit, sur le perso, ou nous faisons cela.

Nous continuons donc à butiner autour et dans le modèle, à l’aide des deux boutons de la souris et de la touche « Alt », pour avancer notre job. De temps à autre, il est nécessaire d’appuyer une fois sur la barre d’espace, pour recentrer le modèle et replonger avec plus de confort dans ses entrailles.

Attention à bien tourner régulièrement autour du perso pour éviter de sélectionner un point qui n’aurait pas du l’être, avant que d’effectuer la soudure...

JPG - 181.5 ko

Dans la vue ci dessus, j’ai chargée la texture proprement dite, réalisée à partir du canevas en filaire noire de la première mouture en format Tga, que nous avions réalisée lors du déroulement des UV dans le tuto sur l’UVEditor. Cela pour vous montrer la disposition du maillage uv du second lod, une fois terminées les opérations de réduction sur l’ensemble de ce modèle : on voit bien, par derrière, le filaire bleu du premier lod, plus détaillé, ainsi que la disposition du maillage en jaune du modèle courant.

Il ne faut pas hésiter à repositionner les points dans cette vue, en les sélectionnant un par un ou par ensemble de plusieurs points, et de les déplacer, pour, au final, « couvrir » l ’ensemble du filaire jaune du calque premier. La texture ne nous posera pas de problème., Bien au contraire, elle suivra le mouvement sans étirements disgracieux.

Je n’ai pas décortiqué tout le processus de transformation de ce lod, parce que vous êtes tout à fait capable, à ce stade du tutoriel, d’y parvenir avec votre propre réflexion.

Il faut simplement faire attention à ne pas souder inconsidérément et à procéder par étapes.

Il vaut mieux, par expérience, faire la dégradation d’une partie, comme une jambe ou un bras, et tout de suite, rectifier dans les UV, plutôt que de continuer d’une traite sur le modèle en 3d.

On parvient ainsi à y voir clair dans ce que l’on fait et à apprécier la progression de notre boulot.

Quand on en a terminé avec ce corps du deuxième lod, on en fait une copie que l’on colle dans le troisième lod que l’on a prit soin, au préalable de créer via la fenêtre des lods et qui par défaut voit sa valeur amenée à 3000.

Et, à votre avis, que fait on ensuite ?

Bravo, vous avez gagné un tour sur le manège et surtout le droit de dégrader encore, à partir de ce lod déjà dégradé.

Le processus se répétera encore et encore, jusqu’au sixième et dernier lod de distance de notre Chernanien.

JPG - 350.5 ko

Donc, le modèle que nous avons fini de réduire dans ses polygones et dont nous avons retendus les UV, sert de base pour la prochaine dégradation dans le lod de distance suivant, et ainsi de suite, jusqu’au dernier « level of détail ».

Il ne faut pas, non plus, oublier, à chaque lod réalisé, de faire une sélection totale du modèle (ctrl/a), puis taper deux fois sur la touche "w". Cette manip permet de redistribuer les normales dans le bon sens et d’assurer la continuité de la diffusion de la lumière sur le perso en 3d.

Pour une approche plus pertinente sur les normales et la diffusion, je vous conseille d’aller mettre le nez dans les tutos de Chris Young, qui a un stand juste à coté du mien.^^

Il est préférable de conserver les valeurs de distance par défaut, qui correspondent à celles que BIS emploie pour ses propres modales. (1000,2000,3000,4000,5000,6000).

En ce qui concerne le nombre de polygones par lod, la règle est la suivante : en principe chaque lod voit son perso réduit de moitié environ. Dans la pratique, on peut se baser, là encore, sur le modèle fourni par BIS et faire un rapport de 3 à 5 entre les deux premiers lods, puis d’à peu prés la moitié entre les suivants.

Nota

Le nombre de polygones par lod doit se comprendre : tous polygones confondus, c’est à dire le corps, mais aussi la tête, les mains, l’équipement. Dans mon exemple, j’ai voulu éviter une surcharge visuelle, pour pouvoir rester lisible, mais vous devez garder cela présent à l’esprit, et ce, d’autant plus que l’on "éradique" beaucoup de ces polygones indésirables par l’intermédiaire des mains et de la tête.

Le plus simple pour vous sera d’inclure d’emblèe, tout cela dans chacun des lod.

Pour en revenir à l’exemple de ce tuto, je ne vous parle donc, que du corps que j’ai créé, dans la mesure ou le reste est issu du modèle de BIS.(il faudra copier et coller cela dans chacun de nos lod, à partir du perso de BIS : on fera cela plus tard.)

On pourrait, dans l’absolu refaire aussi les mains et la tête, et je l’avais fait pour le sniper Ghillie, en son temps, mais ce n’est peut être pas la peine de compliquer.

Un dernier rappel pour clore ce tuto : Les informations d’UV et de pondération sont intégralement conservées sur tout les lod, donc il ne reste plus qu’a former les lod supplémentaires et nécessaires, ainsi que le config, pour que notre Chernanien puisse enfin apparaître à l’écran.


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP