VRML Worlds, Mondes VRML

Membre de ClickFR, Reseau francophone Paie-Par-Click

Simuler un reflet

L'objectif est de simuler le reflet d'objets sur une surface plane, parallèle au sol. Cette astuce vous permettra de simuler soit le reflet sur une surface d'eau, soit un parquet brillant, par exemple.   

Voir le résultat


Dans un logiciel de calcul d'image de synthèse, le reflet est calculé avec la technologie du lancé de rayon. Pour connaître le couleur d'un point sur une surface réfléchissante, on lance un rayon qui part de l'utilisateur (du point de vue), on le fait " rebondir " sur la surface réfléchissante (exactement comme le fonctionnement d'un miroir) et on voit sur quel objet ce rayon tombe.

Dans un environnement temps réel, on ne peut pas se permettre de se demander, pour chaque point d'une surface, quelle va être sa couleur. On doit donc utiliser des stratagèmes pour simuler un reflet.

Sur une surface donnée, on utilise souvent l'environment mapping. Cette technique permet d'appliquer une texture sur une surface en fonction de l'angle de rotation de l'objet par rapport à l'utilisateur. La texture semble ne pas bouger alors que l'objet, lui bouge par rapport à l'utilisateur, ce qui donne une impression de reflet.

Vous pouvez voir un exemple de cette techno à la page "Pourquoi choisir Blaxxun Contact".

Ce n'est pas de cette technologie que nous allons aborder aujourd'hui.

Une symétrie

Un reflet, c'est en fait une symétrie exacte par rapport au plan de la surface réfléchissante. Quand vous vous regardez dans miroir, vous avez bien l'impression (avec un peu d'imagination) qu'un autre vous (symétrique, l'œil droit est à la place du gauche etc.) se trouve derrière le miroir ? Alors en 3D, pourquoi ne pas effectivement modéliser cet autre vous symétrique, et le placer derrière ce fameux miroir, afin de simuler le reflet ?

Pour simuler un reflet, l'idée est donc de modéliser une scène symétrique par rapport au plan de la surface réfléchissante, et de rendre cette surface transparente, afin de voir " de l'autre coté du miroir ".

Un exemple simple, avec des formes de bases

Nous allons prendre des formes qui possèdent déjà un axe de symétrie central (une sphère et un cône). Ce sont des objets simples à refléter, car la symétrie d'une sphère par rapport à un plan est une sphère et la symétrie d'un cône est un cône tourné à 180° (tête en bas).

Donc nous plaçons notre cône et notre sphère sur la scène

Voir le résultat - Voir la source


Nous y ajoutons leur symétrie
Pour placez vos objets dans la symétrie :
pour un objet placé en x y z, vous aurez sa symétrie placée en x -y z

Voir le résultat - Voir la source

L'éclairage

L'éclairage est un problème, car il doit être lui aussi symétrique. Nous avons utilisé des DirectionnalLight. Nous en avons placé en une pour les objets du haut, et une dans la symétrie, pour les objets du bas.
Les DirectionnalLights ne s'appliquent qu'à leur groupe d'objet, tant mieux dans la lumière de la scène ne doit pas perturber la lumière du reflet.

La surface réfléchissante

Entre ces deux groupes d'objets, ajoutons une surface avec une texture d'eau, non pas réfléchissante mais transparente, afin d'apercevoir la symétrie. L'illusion est parfaite, le cône et la sphère semblent de refléter sur la texture.

Voir le résultat - Voir la source

Le Sol

Pour finir, il faut cacher la symétrie, ici, nous avons ajouté un sol qui borde l'eau.

Voir le résultat - Voir la source

Les objets plus complexes

Lorsqu'un objet possède au moins un plan de symétrie, vous pourrez toujours en sortir en opérant des rotations pour créer la symétrie (voir à droite, la lampe de bureau).

Voir le résultat

Pour des objets plus irréguliers (une habitation, par exemple), vous devrez modéliser leur symétrie, en plus de l'objet normal.

Attention aux textures

L'application d'une texture rend souvent l'objet dissymétrique. Attention donc de bien réappliquer vos textures sur la symétrie de vos objets.

Un exemple réussi : the abbey

The abbey a été un monde sélectionné le 27/08/2001 comme monde de la semaine, il utilise la technique que nous vous avons proposée. Ce monde est très réussi.

Voir les autres mondes sélectionnés

Récupérer tous les fichiers d'exemple.

Retour au tutorials


 Accueil de VRML Worlds   CHAT 3D   Autres technologies Web3D 
 Des textures   Apprendre le VRML   Autres mondes multi-user 
 Les objets du chat   Outils pour le VRML   Autres sites 3D 

Réagir, nous proposer un site, participer ...