Connexion
http://pix.toile-libre.org/upload/original/1329650097.jpg

Que serait le monde sans lumière ? Pas grand chose.

Le principal problème avec la lumière dans les jeux vidéos c’est que c’est très gourmand en calcul et que ça risquait de ne pas marcher sur des machines peu puissantes.

Pour le jeu supertuxkart nous avons utilisé des lightmaps. C’est un bon compromis et ça permet d’avoir un assez bon réalisme tout en fonctionnant sur la majorité des PC même les plus anciens (sur mon netbook l’impact des lumières est quasi négligeable).

Comment ça marche ?

Calculer les ombres et les interactions de la lumière est quelque chose de très lent pour l’ordinateur. Très rapidement les performances chutent et ça dégrade l’expérience qu’a le joueur (personne n’aime jouer avec un jeu qui rame). En pré-calculant les lumières on peut considérablement accélérer le rendu puisque la partie la plus coûteuse a été fait qu’une (seule) fois.

Dans un premier temps on commence par placer les sources de lumières dans la map avec blender.

placement des lumières dans blender

Ensuite on calcule une fois les lumières et on génère une texture qui va représenter ce qui est éclairé ou non. Dans notre cas les lumières sont jaunes donc ce qui est ombragé est noir et ce qui est éclairé est jaune.

On peut bien sûr avoir plusieurs couleurs différentes (par exemple ajouter une touche de bleu qui simule la pleine Lune). C’est cette image qu’on appelle une lightmap.

Le moteur du jeu va alors superposer la texture du terrain normal à cette texture et ça va simuler l’éclairage des lanternes. Le résultat est assez spectaculaire et ajoute une ambiance à la piste.

Le halo de lumière

Pour matérialiser la source de lumière un halo de lumière est souvent utilisé. La méthode la plus simple est d’ajouter une texture de halo qui va toujours regarder la caméra du joueur. À l’instar de la vie réelle, plus le joueur se rapproche de la source de lumière plus le halo de celle-ci diminue d’intensité.

Avantages et désavantages des lightmaps

Les lightmaps permettent de très facilement simuler un éclairage dans un monde sans impacter les performances. En revanche les sources de lumières ne pourront plus bouger étant donné qu’elles sont pré-calculées. On ne pourra donc pas voir les ombres changer en fonction par exemple d’une lanterne qui bouge ou des phares d’une voiture. Elles sont donc réservées aux sources statiques de lumière.

En bonus, des moustiques virtuels qui tournent autour d’une lampe virtuelle ^^

[pour aller plus loin]

Laissez un commentaire