Les heightmaps avancées avec dark basic
Un article de Games Creators Network.
[modifier] Pourquoi vouloir faire des heightmaps différentes
Une heightmap (ou carte de hauteur) est une image en niveaux de gris qui permet de modéliser des terrains. Chaque pixel de celle-ci code la hauteur d'un point du terrain. L'avantage est que l'image permet de voir directement l'aspect du terrain. Par contre le principal défaut de cette méthode est que chaque point du terrain ne peut avoir qu'une seule hauteur. En conséquence il est impossible de modéliser des grottes ou des ponts.
Voici donc la raison de vouloir élaborer une méthode de modélisation légèrement différente.
[modifier] Principe de fonctionnement
Un pixel contient trois composantes : une Rouge, une Verte et une Bleue qui permettent de coder toutes les couleurs existantes. Or les heightmaps normales ne se servent que d'une partie des informations contenues les pixels : les niveaux de gris.
On peut donc se servir de chaque composante des pixels pour coder non seulement la hauteur des points du terrain (suivant l'axe Y) mais aussi la position horizontale (suivant l'axe X et l'axe Z) de ceux-ci :
- La composante Rouge code la position X du point considéré
- La composante Verte code la position Y du point considéré
- La composante Bleue code la position Z du point considéré
[modifier] Programme de démonstration
Vous pouvez trouver un programme illustrant ce principe à cette adresse.
Les commandes : W = Mettre l'objet en fils de fer V = Vision stéréoscopique croisée (pour le fun) Echap = Quitter
Souris = Orientation de la camera Molette Haut / Bouton Gauche de la souris = Avancer Molette Bas / Bouton Droit de la souris = Reculer
Au début, le programme demande le nom de l'image de référence.

