Les Textures

Les objets affichés par TS20xx sont constitués d'une forme géométrique (un ensemble de triangles) recouverte d'éléments de couleurs. Dans le cas qui nous intéresse, ces éléments sont des images "bitmap" c'est à dire une trame de points dont on peut spécifier la couleur de chacun. Cette trame est appelée "texture" : lorsqu'on regarde à l'écran cette image avec un logiciel de traitement d'images chaque point est un pixel. Lorsque cette image va être appliquée sur une surface 3D, chaque point de la texture va subir des transformations de perspectives et de filtrage avant d'être affiché sur l'écran en final. C'est cela qui explique que même si la texture d'origine est précise, elle devient parfois "baveuse" sur l'objet 3D.

Les textures de TS20xx sont des images bitmap aux dimensions en puissance de 2 (64,128,256,512,1024....) codées dans un format spécifique "ace" non reconnu par les programmes habituels de manipulation de bitmap (par exemple PaintShopPro, The Gimp, Photoshop). Le format "ace" s'obtient à partir des formats standard BMP (texture opaque) ou TGA, PNG (texture avec transparence : canal alpha en plus des couleurs) convertis avec l'outil RWAcetool.

D'une façon générale il faut éviter les couleurs uniformes pures (noir pur et blanc pur interdits : voir plus bas *) et toujours "accrocher la lumière" avec quelques effets simulant ombres et formes. Il faut donc essayer de "bruiter" les grandes surfaces de couleur trop uniforme, assombrir les parties inférieures et éclaircir les parties exposées à la lumière. De plus appliquer une couleur exactement fidèle à la couleur d'origine n'aura pas l'effet escompté car il y manquera les effets de reflets de coloration créé par l'environnement autour de l'objet.

Depuis les années 2000, les cartes graphiques disposent d'outils pour créer des effets graphiques complémentaires (les shaders) de rendu des surfaces : paramétrage des effets de rugosité des surfaces, simulation de reflets, textures animées, etc... En utilisant ces shaders, il sera moins nécessaire de travailler l'uniformité des textures.

Le cas des ombres portées est particulier car celle-ci sont gérées à la fois par le moteur 3D (logiciel) et par le processeur graphique : il n'est donc pas rare que les ombres portées n'existent que pour les éléments les plus proches de l'observateur et que dans certains cas il peut être intéressant d'avoir simulé ces ombres portées par le travail sur la texture.

  Textures dessinées ou textures photos

Selon les modèles vous verrez différents types de texture appliqués. L'intérêt de la texture photographique est qu'elle permet d'avoir très rapidement un objet qui rappelle le modèle réel grâce à la richesse de la photo mais il est tout à fait possible d'avoir un modèle bien plus beau avec une texture dessinée : cela demande beaucoup plus de travail et de vrais talents de graphiste pour utiliser pleinement un logiciel de retouche d'image. En effet il faudra dessiner le maximum de détails et d'effets d'ombre alors qu'ils existent déjà sur une photo.

Avec une photo, il faut d'ailleurs faire un travail de retouches et la redresser pour effacer la perspective avant l'application. Il faut aussi la retravailler pour que les ombres et les reflets n'apparaissent pas contradictoires avec le point de vue ainsi qu'unifier l'équilibre des couleurs dans l'ensemble. En résumé :

Il est préférable de travailler sur les textures dans une définition plus large que la texture finale qui sera sur le modèle. Pour une texture 512x512, la créer et la conserver en 1024x1024 au moins : ne l'ajuster que pour l'utilisation sur le modèle.

   Le plaquage de texture (UV mapping)

   La taille des textures

Bien que la taille des écrans et des mémoires aillent en croissant, la taille des textures dans un jeu "temps réel" doit être limitée en fonction de leur utilisation : réfléchir par exemple à la taille de l'objet que l'on est en train de texturer quand il sera vu sur l'écran de l'utilisateur et si la scène est très dynamique, quel temps va passer l'oeil sur cet élément.

 


 

* Les peintres et les photographes le savent bien : l'échelle des valeurs de lumière (la dynamique) d'une toile, d'une photo et même d'un écran est ridiculement faible par rapport à ce qu'elle est dans dans la réalité. Il faut donc réduire cette échelle dont les extrêmes seront, pour simplifier, le noir et le blanc. Avec cette information réduite, l'œil et le cerveau reconstitueront la scène réelle tant bien que mal.

Puisque, pour représenter ce qui est le plus lumineux dans la scène on ne dispose que du blanc pur, il faut le réserver à une source de lumière blanche ou un reflet du soleil sur un objet. Une ligne de peinture blanche doit être représentée par un blanc "cassé" par une teinte fonction de l'effet désiré. Et si dans la scène, pour des raisons de performances, certains éléments n'ont pas d'ombre portée, un élément blanc pur à l'ombre va apparaître trop « brillant ».

Pour une raison voisine, le noir pur ne servira que pour le fond d'un gouffre par une nuit sans lune... Comme le relief est rendu par un ombrage des facettes selon leur orientation vers la source d'éclairage (ou le soleil), le noir ombré est toujours noir ! Il faut donc un gris même très soutenu qui laissera apparaître cet effet en rendant très noires les facettes à l'ombre. De plus le gris peut être teinté : du gris bleu indiquera une surface « froide » plus polie qu'un gris orangé qui donnera une surface plus douce.

En conclusion dans une texture de modèle, je vous conseille de

  • réserver la couleur blanche pure aux sources très lumineuses, les objets blancs étant peints en blanc "cassé" avec des effets éventuels de salissure.
  • ne pas utiliser la couleur noire pure.

Essayez d'appliquer cette règle et vous verrez.

 © 2009-2020 - PG - Mise à jour 30 avril 2020