top of page
Photo du rédacteurJean-Philippe

3D Pipeline Serie - Le texturing



Le dépliage UV

Une partie importante de cette étape est caractérisée par un dépliage du modèle, ce que l’on appelle les UV, un peu comme une boîte dépliée qui devient totalement plate. Ce dépliage met à plat les polygones et permet d’appliquer des textures sur le modèle. C’est une étape relativement longue et complexe et qui est proportionnelle à la complexité du modèle.


Pour mieux comprendre ce qu’est le dépliage UV, on peut parler des cartes de la terre qui sont des projections d’une sphère sur une surface plane. La carte du monde la plus répandue est une projection cylindrique aboutissant à une carte présentant les différents continents. Remarquons au passage que cette projection aboutit à des déformations au niveau des pôles, qui semblent plus grands qu’ils ne le sont dans la réalité.


Quelle que soit la méthode de dépliage, le but est de donner une surface aplatie, pour chaque polygone, équivalente à la version non dépliée. Nous veillerons à donner une taille proportionnelle aux polygones plus grands et aux polygones plus petits. Le travail s’opère en combinant plusieurs types de dépliages, en fonction de la forme de la zone à déplier :

  • Projection cubique : utilisée pour déplier des objets cubiques simples

  • Projection sphérique : utilisée pour déplier des objets sphériques simples

  • Projection cylindrique : utilisée pour déplier des objets cylindriques simples

  • Dépliage par « seams » : comme son nom l’indique, nous traçons des « coutures » le long du modèle, un peu comme si nous devions confectionner un patron de couture. L’objectif est d’obtenir les sections les plus plates et les moins déformées possible en positionnant les coutures aux bons endroits. Cette solution de dépliage est la plus utilisée pour le dépliage d’objets complexes (corps humains, véhicules, bâtiments…).


Les textures

Le dépliage, une fois terminé, servira de base pour les différentes textures (sur un logiciel 2D ou 3D). L’artiste qui crée les textures devra s’assurer que les coutures sont invisibles une fois les textures appliquées sur le modèle. Cette tâche est facilitée par le fait qu’il existe de nombreux softwares capables de travailler la 2D directement sur le modèle, un peu comme si nous peignions le modèle au pinceau.


Les textures auront plusieurs buts et serviront de diverses manières lors du rendu, en voici quelques-unes :

  • La couleur : couleur de base aussi appelée albédo ou texture diffuse

  • La normale : texture permettant l’ajout de détails

  • Specular : reflet rond caractéristique

  • Specular tint : couleur reflet rond caractéristique

  • Roughness : rugosité

  • Subsurface color : couleur de sous surface

  • Metalic : état métallique

  • Emission : couleur de lumière émise par l’objet

  • Emission strenght : intensité de lumière émise par l’objet


Les textures permettent de faire varier tout un tas de paramètres sur le modèle en fonction de la zone où elles se trouvent. Pour prendre un exemple concret, sur une balle de flipper un peu abimée, certaines zones réfléchissent moins par endroits et sont peut-être même oxydées. Les textures permettent de définir que telles ou telles zones réfléchissent moins, sont plus rugueuses, déforment la réflexion, ont cette couleur plutôt qu’une autre etc.


Il existe quatre grands types de texture : les textures standards, les height-maps, les normal-maps et les cartes de canaux. Voyons ensemble de quoi il s’agit.


  • Les textures standards : Ce sont des images standards qui vont définir notamment la couleur de l’objet en fonction de la zone sur le dépliage. Elles ne sont pas uniquement limitées à la couleur de l’objet puisqu’elles peuvent aussi définir d’autres aspects comme la transparence, la luminosité, la luminance, la couleur des poils et cheveux etc.


  • Les height-maps : Ces textures, comme leur nom l’indique, sont des textures de hauteur. La hauteur des points varie entre 0 et 1 et est définie par la valeur variant entre le noir et le blanc. Elles ne sont pas seulement utiles pour donner une illusion de détails mais aussi pour définir l’intensité d’une propriété sur diverses parties du modèle.

Imaginons par exemple que les vêtements d’une héroïne de jeux soient partiellement composés de cuir (ceinture, chaussures, bandoulière…). La brillance du cuir est alors plus importante que celle du reste de sa tenue en tissu. Une « height-map » définira donc l’intensité de la brillance sur le modèle, que l’on soit sur du tissu, sur du cuir ou sur la peau de l’héroïne.


  • Les normal-maps : Pour comprendre ce qu’est une carte de normales, il faut assimiler la notion de géométrie tridimensionnelle qui définit la normale en un point quelconque d’un objet. Cette normale est le vecteur perpendiculaire au plan tangent en ce point et qui s’éloigne de la surface.

Une carte de normales définit l’orientation des normales en utilisant les trois canaux RGB (red, green, blue) comme des coordonnées. Leurs couleurs caractéristiques vers les mauves et les violets proviennent du fait que leurs orientations tendent à s’éloigner de la surface de l’objet. Le niveau de détails dépendra aussi de la résolution de la texture.

Les différents moteurs de rendu liront et exploiteront ces données pour donner l’illusion de reliefs détaillés sur la surface d’un modèle qui l’est moins. Le résultat obtenu est plus intéressant que les height-maps qui ne traduisent que des élévations entre 0 et 1 et qui rendent mal les brusques variations de hauteur des points. Les textures normales sont générées par projection d’un modèle détaillé sur un modèle optimisé avec moins de polygones. L’objectif est de donner l’illusion d’un modèle très détaillé en utilisant une modélisation optimisée plus facile à manipuler par la machine pour le temps réel par exemple.



  • La carte multicanaux :Ces textures sont des height-maps améliorées. Elles permettent de paramétrer jusqu’à quatre paramètres différents, contrairement aux height-maps simples qui ne vont pouvoir agir que sur un seul paramètre. Ici, les divers canaux de couleurs RGB de l’image sont utilisés indépendamment les uns des autres. La résultante est peu compréhensible à l’œil et demande au programme d’assimiler chacun des canaux à un paramètre défini. Leur utilisation a souvent pour but d’optimiser, étant donné qu’un seul fichier en remplace quatre, bien sûr au prix d’une mise en place plus réfléchie d’un point de vue des shaders et des matériaux.


Les textures procédurales

La plupart des textures sont composées d’une image définie et fixe, comme un montage photos par exemple. D’autres sont par contre procédurales, c’est-à-dire que leur création résulte d’un algorithme de générations procédurales et surtout sans aucun fichier image supplémentaire. Nous les utilisons principalement pour reproduire des textures naturelles comme le bois, la pierre, les briques, le métal, le marbre et bien d’autres. Cela permet d’utiliser des textures uniques et paramétrables avec des facteurs dépendant du volume, de la surface, de l’angle de la caméra etc. Aussi, les softwares actuels intègrent des outils permettant de générer ces textures sur base de briques constitutives. Plus l’ensemble d’algorithmes est étendu et plus cette image sera complexe.

L’intérêt de telles textures est qu’elles ne sont pas limitées dans la résolution et qu’elles apportent un côté aléatoire, là ou une texture non procédurale aurait dû se répéter et générer immanquablement une redondance qui n’aurait pas du tout un effet naturel.


Conclusion

Le UV mapping est un passage long mais important dans le processus et qui prépare le terrain pour les textures. Les textures agissent de plusieurs façons selon leur type et l’usage que nous en faisons définit leur apparence générale. Il est possible de générer des textures procédurales pour obtenir des effets naturels et aléatoires.


Voilà qui conclut le troisième article de cette série.

Dans le prochain article, nous verrons les shaders et les matériaux avec lesquels sont utilisés les textures.

Nous espérons à nouveau vous retrouver pour ce rendez-vous.

A très bientôt,

Jean-Philippe

122 vues0 commentaire

Comments


bottom of page