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).
|
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
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
Récupérer tous les fichiers d'exemple.
Retour aux astuces de modélisation
|