Comprendre les Bump Maps et Normal Maps dans Cinema 4D
Dans le domaine de la création d'images 3D, l'ajout de détails de surface réalistes est essentiel pour obtenir un rendu photoréaliste. Les Bump Maps et les Normal Maps sont deux techniques fondamentales qui permettent de simuler des aspérités et des reliefs sans avoir à modéliser manuellement chaque détail géométrique. Ces méthodes s'avèrent particulièrement utiles pour représenter des textures complexes telles que les rainures du bois, les veines de la peau humaine ou encore les irrégularités d'une peau d'orange.
Ces techniques agissent en modifiant la manière dont la lumière interagit avec la surface d'un objet, donnant ainsi l'illusion de profondeur et de relief. Elles peuvent être considérées comme un système de « trompe l’œil » qui ne modifie pas la géométrie d'origine des objets, mais qui, en faisant « bumper » les normales, donne l'impression de la présence d'une texture de surface.

Le Principe des Normales en 3D
Pour comprendre le fonctionnement des Bump et Normal Maps, il est primordial de saisir le concept de normales. En 3D, chaque polygone qui compose un modèle possède une normale, qui est un vecteur perpendiculaire à sa surface. Cette normale indique l'orientation du polygone dans l'espace et joue un rôle crucial dans le calcul de l'éclairage. Lorsque la lumière frappe un polygone, le moteur de rendu utilise sa normale pour déterminer comment la surface doit être ombragée. En modifiant la direction de cette normale, on peut "tromper" le moteur de rendu et obtenir des effets d'éclairage qui simulent des reliefs, sans altérer la géométrie réelle du modèle.
Le principe est le suivant : si l'on alterne la normale d'un polygone sans modifier sa position physique, on obtient les mêmes effets d'éclairage que si l'on avait réellement modifié la géométrie. C'est sur cette base que reposent les techniques de Bump Mapping et de Normal Mapping.
La Bump Map : Simuler la Profondeur par Hauteur
La Bump Map est l'une des premières techniques utilisées pour simuler des reliefs. Elle utilise une texture en niveaux de gris (une image où chaque pixel a une valeur de luminosité allant du noir au blanc) pour influencer la manière dont les normales sont calculées. Les valeurs de gris de la texture déterminent quelles parties de la surface doivent apparaître "plus hautes" ou "plus basses". Les normales correspondant aux pixels plus clairs sont inclinées pour donner l'impression d'une surface relevée, tandis que celles correspondant aux pixels plus sombres sont inclinées pour simuler un creux.
Il est important de noter que la Bump Map ne modifie pas la géométrie de l'objet. Elle agit par une approximation mathématique basée sur le gradient local de la texture. Les variations géométriques simulées sont de faible hauteur par rapport à la taille de l'objet, créant des effets similaires à ceux de la peau d'orange ou d'un ballon de basket.
Comment fonctionnent les Bump Maps ?
Techniquement, la Bump Map utilise les valeurs des pixels voisins pour déterminer comment incliner les normales environnantes. Le rendu final dépendra donc de la transition des niveaux de gris dans la texture. Des transitions douces et continues entre les nuances de gris produisent un effet plus convaincant.
Gotchas et bonnes pratiques pour les Bump Maps :
- Qualité de la texture : Les images avec des transitions de gris fluides et des détails fins donnent de meilleurs résultats. Les textures à fort contraste (comme des logos ou des motifs de briques très marqués) peuvent produire des effets moins convaincants car elles manquent de gradient local.
- Types de fichiers : Bien que les Bump Maps puissent accepter presque n'importe quel type d'image, il est préférable d'utiliser des images 8 bits (PNG, JPG sans artefacts de compression prononcés) ou, pour une précision maximale, des images 16 ou 32 bits linéaires. Si une image couleur est utilisée, c'est sa valeur de luminosité (V dans HSV) qui sera prise en compte.
- Résolution : Une résolution de 1K ou 2K est généralement suffisante, mais pour des formes organiques plus douces, une résolution plus faible (parfois même 256px) peut suffire.
- Paramètre "Bump Height" : Ce paramètre dans le matériau permet d'ajuster l'intensité de l'effet. Il est préférable de le laisser proche de sa valeur par défaut (souvent 0.02) et d'ajuster la texture si nécessaire.
- Lissage des transitions : Pour améliorer l'effet, surtout avec des textures à fort contraste, il est conseillé d'ajouter du flou aux bords de la texture. Cela crée un gradient de gris qui donne plus d'informations au canal de bump. Ce flou peut être appliqué dans un logiciel 2D avant l'importation, ou de manière procédurale à l'aide de nœuds comme le "Gaussian Blur OSL" dans Cinema 4D (via le nœud Texture Projection configuré en OSL delayed UV).

La Normal Map : Une Simulation plus Précise
La Normal Map est une évolution de la Bump Map, offrant une simulation de relief plus précise et plus puissante. Contrairement à la Bump Map qui utilise une seule valeur de gris pour influencer la normale, la Normal Map utilise les trois canaux de couleur (Rouge, Vert, Bleu) d'une image pour définir la direction de la normale pour chaque pixel individuellement.
Le canal Rouge contrôle l'inclinaison de la normale "gauche/droite", le canal Vert contrôle l'inclinaison "haut/bas", et le canal Bleu gère la "hauteur" de la normale (vers l'intérieur ou l'extérieur). Cette approche permet de simuler des détails beaucoup plus fins et complexes, y compris des effets que la Bump Map ne peut pas réaliser, comme la galvanisation ou l'anisotropie.
Types de Normal Maps : Tangent Space vs. Object Space
Les Normal Maps peuvent être encodées de différentes manières, en fonction du système de coordonnées utilisé pour définir l'orientation des normales :
- Tangent Space Normal Maps : Ces cartes sont conçues pour être utilisées sur n'importe quel modèle. Les normales sont calculées par rapport à la surface de la géométrie elle-même, en utilisant la normale de chaque polygone comme référence principale. Elles apparaissent généralement dominées par une couleur bleu maïs, car elles ne calculent que les normales pointant vers l'extérieur. Elles sont idéales pour des jeux de textures génériques qui peuvent être appliqués à plusieurs objets.
- Object Space Normal Maps : Ces cartes sont spécifiques à un modèle particulier. Les normales sont calculées par rapport au système de coordonnées XYZ de l'objet. Elles sont souvent générées par un processus de "baking" à partir d'un modèle à haute densité de polygones et appliquées à une version moins dense du modèle pour simuler les détails sculptés. Elles utilisent une gamme de couleurs plus large (aspect arc-en-ciel) et sont liées à l'objet pour lequel elles ont été créées.
Il existe également les World Space et Camera Space, mais celles-ci sont généralement utilisées lors du processus de génération des cartes plutôt que lors de leur application dans les matériaux.

Paramétrage des Normal Maps
L'intégration d'une Normal Map dans Cinema 4D (ou d'autres logiciels) est similaire à celle d'une Bump Map, mais avec quelques considérations supplémentaires :
- Canal Normal : Connectez directement la texture au canal "Normal" du matériau.
- Paramètre "Power" : Ce curseur permet d'ajuster la "force" de la Normal Map. Une utilisation excessive peut entraîner une perte de détails.
- Résolution : Une résolution de 1K est un bon point de départ, augmentant si nécessaire pour des détails plus fins.
- Formats de fichiers : Évitez les JPG en raison des artefacts de compression. Privilégiez les PNG ou EXR (sans perte). Les fichiers 8 bits suffisent souvent pour les cartes Tangent Space, mais les cartes Object Space très détaillées peuvent bénéficier d'une profondeur de 16 bits pour des transitions plus douces.
- Espace colorimétrique : La plupart des Normal Maps sont encodées avec une fonction de transfert linéaire (gamma=1). Il est crucial de régler l'espace colorimétrique dans le nœud "Image Texture" sur "données non colorisées" (ou Legacy Gamma=1) pour que le moteur de rendu interprète correctement les valeurs.
- GL vs. DX : Les Normal Maps peuvent être encodées pour OpenGL (GL) ou DirectX (DX). Octane, par exemple, utilise des cartes GL où le vert représente "vers le haut".
La Normal Map est un outil puissant pour ajouter des détails réalistes sans alourdir la géométrie, ce qui la rend particulièrement intéressante pour le temps réel et les rendus où l'optimisation est clé.
Bump Map vs. Normal Map vs. Displacement Map
Il est utile de distinguer ces trois procédés de simulation de relief en infographie 3D :
- Bump Map et Normal Map : Ces deux techniques simulent la profondeur par illusion en modifiant l'orientation des normales. Elles n'ajoutent pas de polygones et sont donc très performantes en termes de ressources. La Normal Map offre une simulation plus précise que la Bump Map.
- Displacement Map : Contrairement aux deux précédentes, la Displacement Map modifie réellement la géométrie de votre modèle. Elle utilise une texture en niveaux de gris pour ajouter de véritables polygones à la surface, créant ainsi un relief physique.
Utilisation du bump mapping dans Blender pour ajouter plus de détails
Avantages et Inconvénients de la Displacement Map
La Displacement Map offre le plus haut niveau de réalisme car elle modifie la géométrie. Cependant, elle présente des inconvénients majeurs :
- Coût en ressources : Elle nécessite une grande quantité de calcul et de mémoire car elle génère beaucoup de polygones supplémentaires. Cela la rend incompatible avec les impératifs de performance et de fluidité des moteurs de jeux vidéo.
- Temps de rendu : Les rendus utilisant la Displacement Map sont beaucoup plus longs et gourmands en ressources processeur.
Pour que la Displacement Map fonctionne correctement, notamment dans des moteurs de rendu comme Redshift dans Cinema 4D, il est nécessaire d'activer la tessellation (qui subdivise la géométrie) et d'ajouter un tag Redshift Object au modèle. Il faut ensuite connecter la Displacement Map au matériau et ajuster les paramètres d'échelle pour obtenir le relief désiré.
Bien que des logiciels comme Blender, Maya ou 3ds Max offrent également la gestion des Displacement Maps, leur utilisation reste principalement réservée aux rendus photoréalistes où les contraintes de performance sont moindres.
En résumé, pour ajouter des détails de surface réalistes dans Cinema 4D, les Bump Maps et Normal Maps sont d'excellentes options pour un rendu efficace, tandis que la Displacement Map est réservée aux cas où un relief physique est absolument nécessaire et où les ressources de rendu le permettent.
tags: #c4d #bump #map #en #francais
