Carte normale ? Capitaine ?
En imagerie digitale, votre rendu final dépend de trois choses essentielles :
L'éclairage - Les couleurs - Les reliefs
Notre perception des reliefs provient de l’interaction des objets qui nous entourent avec la lumière qui éclaire le tout. Pour rendre les objets générés par ordinateurs plus réalistes, il est donc très courant de jouer sur cette interaction. Il existe de nombreuses méthodes pour rendre nos objets plus crédibles. Ces méthodes sont désignés comme étant des méthode de mapping. L'un de leurs divers objectifs est de simuler des reliefs sur un objet normalement plat, comme une simple image. L'avantage de ces méthodes c'est qu'elles permettent d’économiser énormément de ressources et de gagner en fluidité, ajouter des ombres étant bien moins couteux qu'ajouter de véritables reliefs.
En 2D ou 3D, il faut systématiquement partir d'un objet lisse, plat et dénué de reliefs. Alors la question est : Comment simuler des reliefs sur un tel objet ?
Réponse : nous pouvons utiliser une carte normale, ou normal map en anglais. Brièvement, la droite normale à une surface en un point est la droite orthogonale au plan tangent en ce point. Tout vecteur directeur de cette droite est appelé vecteur normal à la surface en ce point.
Bon, ok, mais quel en est l’intérêt de tout ça, hein ? Eh bien en imagerie informatique, connaitre l'orientation du vecteur normal par rapport à une facette nous permet de :
• Déterminer si cette facette est visible ou cachée
• Déterminer le degré d'illumination de cette facette grâce aux lois de Snell
Maintenant je suis sur que vous comprenez un peu mieux à quel point les cartes normales nous seront utiles. En bref, une telle carte n'est finalement rien d'autre qu'une cartographie de l'ensemble des vecteurs normaux d'un objet, d'une image. Cette cartographie est colorié selon les coefficients de Lambert correspondant à chacun de ces vecteurs.
C'est franchement fascinant, mais rassurez vous, il n'est pas nécéssaire que vous maitrisiez le sujet pour suivre ce tutoriel. Pas du tout même, puisque nous n'allons pas créer nos normal maps nous même. Mais en tant que créateur de jeux, vous devez toujours savoir ce que vous faites, et ce que vous utilisez. Je devais donner quelques explications sur ce que sont les normal maps puisque que nous en utiliserons constamment dans les pages à venir.
Voici l'image diffuse (l'image de base) de Cloud Strife (FFVII) :
Et voici la carte normale correspondante :
Maintenant que vous savez ce que c'est, voyons comment en obtenir.