Cette page provient de Documentation française de Blender 3D
http://blender.doc.fr.free.fr/lecture_ouverte
8.7. Plans d'environnement
Valable à partir de Blender v2.31
Les surfaces brillantes que Blender produit font apparaître des
reflets spéculaires. L’ ironie de ces shaders
spéculaires, c'est qu'ils sont sensibles seulement aux lampes.
Spécifiquement, les
shaders spéculaires de
surfaces vous montrent une tâche lumineuse comme la
réflexion d'une lampe dans un miroir.
Tout ceci est sensé sauf que si vous orientez la caméra
vers la lampe vous ne verrez pas cette lumière! La caméra
ne voit cette lumière que si elle est reflétée par
un
shader spéculaire, pas directement. D'autre part, les
objets qui semblent très lumineux dans votre scène (qui
réfléchissent beaucoup de lumière vers la
caméra) mais qui ne sont pas des lampes n'apparaissent pas dans
ces reflets.
Il est assez facile de faire une lampe qui soit directement visible par
la caméra en plaçant un objet dans la scène qui
ressemble à une lampe, une flamme, au soleil, etc... Cependant,
il n'y a pas, pour le moment, de solution pour que les objets
environnants apparaissent sur les reflets spéculaires.
En un mot, il nous manque les
réflexions. Nous pouvons
résoudre ce problème en utilisant la technique de l'
environment
mapping ( plaquage d'environnement).
Exactement comme nous faisons un rendu de la lumière qui atteint
la scène en utilisant la caméra pour définir un
point de vue, nous pouvons faire un rendu de la lumière qui
atteint la surface d'un objet (et par conséquent, de la
lumière qui pourrait finalement être
réfléchie vers la caméra).
Le plaquage d'environnement de Blender fait le rendu d'une image
cubique de la scène dans les six directions orthogonales
à partir de chaque point. Quand les six parties de l'image sont
plaquées sur l'objet en utilisant les coordonnées
d'entrée de
Refl, elles créent la
complexité visuelle due aux réflexions que l'oeil
s'attend à voir.
Note:
Rappelons que le but de cette technique est la vraisemblance,
pas l'exactitude. L’œil n'a pas besoin d'une simulation
physiquement exacte du déplacement de la lumière; il
suffit de lui faire croire que la scène est réelle en lui
donnant à voir la complexité qu'il attend. Ce qui rend la
plupart des rendus d'images incroyables c'est leur
stérilité, pas leur inexactitude.
La première étape à suivre pour créer une
carte d'environnement est de définir le point de vue pour la
carte. Pour commencer, ajoutez un
'empty' (vide) à la
scène et placez-le dans la
position spéculaire de la
caméra en considérant la surface qui reflète.
(C'est possible, à proprement parler, seulement pour les
surfaces planes réfléchissantes.)
Idéalement, la position du 'vide' doit réfléchir la
position de la caméra à travers le plan du polygone sur
lequel il est "mapped" (plaqué). Il serait très difficile
de créer une carte séparée d'environnement pour
chaque polygone d'un maillage, alors nous tirons profit de ce que
l'oeil humain peut-être trompé facilement.
En particulier, pour des objets relativement petits et complexes, nous
pouvons nous contenter de placer le 'vide' proche du centre. Nous
appelons le 'vide'
env pour pouvoir s'y référer
par son nom dans les réglages de carte d'environnement.
Nous allons créer une sphère réfléchissante
au-dessus d'un plan réfléchissant, en utilisant le
montage de la Figure 8-47.
Figure 8-47. Exemple d'utilisation de la carte d'environnement.
Notez que le Vide 'env' est placé exactement en-dessous de la
caméra, à une distance du plan de réflexion
égale à 3 unités, ce qui est égal à
la hauteur de la caméra au-dessus de ce même plan.
Maintenant, plaçons des lumières, laissons la
sphère sans matériel donné, et
déplaçons le plan sur un
calque différent.
Par exemple, disons que tout est sur le calque 1, excepté le
plan qui est dans le calque 2.
Baissez
Ref et
Spec du matériau de plan et
ajoutez une texture sur le canal 2 avec les paramètres de la
Figure 8-48.
Figure 8-48. Matériau du plan de réflexion.
Notez les effets
Refl mapping et
Cmir. Nous utilisons
le canal 2 et non le 1 parce que nous aurons besoin du canal 1 plus
tard dans cet exemple.
Figure 8-49. Réglages de EnvMap
du plan de réflexion.
Définissez maintenant la texture nouvellement assignée
comme un
EnvMap
dans les boutons de texture (
F6) Figure 8-49. Dans le panneau
Envmap,
notez que le champ
Ob: contient le nom du
empty(vide)
pour lequel nous calculons l'
EnvMap.
Notez également la résolution du cube sur lequel l'EnvMap
sera calculé et, le plus important, le bouton
Don't render
layer: (Ne pas faire un rendu de ce calque).
Puisque l'
EnvMap
est calculé à partir de la position du vide, il ne doit y
avoir aucun obstacle entre lui et la scène. Puisque le plan de
réflexion cacherait complètement la sphère, il
doit être sur son propre calque qui doit être
marquée comme
'Not renderable' (Pas de rendu) pour le
calcul de
EnvMap.
Appuyer sur
F12 lance le rendu. D'abord, six images
carrées différentes comportant l'EnvMap
sont calculées, après quoi est produite l'image finale de
la sphère reflétée dans le plan.
Figure 8-50. Une sphère sur une surface
réfléchissante.
Pour ajouter un aspect plus visuel à la scène, ajoutez
une grande sphère entourant la scène entière et
'mappez' une image de ciel sur elle pour simuler un monde nuageux.
Ajoutez alors un nouveau vide au centre de la sphère et
déplacez la sphère sur le calque 3. Après, donnez
à la sphère un
EnvMap
exactement comme vous l'avez fait pour le plan (mais cette fois le
calque 3 ne doit pas être rendu!)
Ajoutez maintenant quelques cylindres, pour rendre l'environnement plus
intéressant, et, avant d'appuyer sur
F12 retournez
à la texture du plan et cliquez sur le bouton
Free Data
(Donnée libre). Ceci forcera Blender à recalculer l'EnvMap
pour le nouvel environnement, différent du
précédent.
Cette fois dans le processus de rendu, douze images, six pour chaque EnvMap,
seront calculées. Le résultat est sur la Figure 8-51. La
sphère est plus brillante que le plan à cause des
réglages légèrement différents dans les
matériaux.
Figure 8-51. Reflection d'une sphère sur une surface
réfléchissante
Mais attendez, il y a un problème! La sphère
réfléchit le Plan, et le plan réfléchit une
sphère gris mat! C'est parce que l'EnvMap
du plan est calculée avant l'EnvMap
de la sphère. En tant que telle, au moment du calcul, la
sphère est encore gris mat, alors que quand l'
EnvMap
de la sphère est calculée le plan a déjà sa
réflexion.
Pour résoudre ceci localisez le bouton numérique
Depth
(Profondeur) dans le panneau
Envmap des boutons de texture et
placez-le sur 1 pour la texture EnvMap
du plan et de la sphère. Cela force le calcul récursif d'EnvMaps.
Chaque EnvMap
est calculée, puis elles sont recalculées autant de fois
que précisé dans
'Depth', toujours l'une
après l'autre. Une fois le problème résolu, le
résultat apparaît Figure 8-52.
Figure 8-52. Réflection d'une sphère sur une surface
réfléchissante avec des reflections multiples.
Maintenant, si vous vous demandez toujours pourquoi le premier canal de
texture du matériel du plan a été maintenu vide...
Ajoutez une nouvelle texture au premier canal du matériel du
plan. Faites-le
Glob, affectant
Nor avec 0.25
d'intensité (Figure 8-53).
Figure 8-53. Réglage de texture additionnelle pour BumpMapping
(Bosselage ou Plaquage de relief).
Cette nouvelle texture doit être de type
Stucci;
réglez
Noise Size (taille du bruit) à environ
0.15. Si vous effectuez maintenant un rendu de l'image, le plan
ressemblera à de l'eau qui ondule (Figure 8-54).
Figure 8-54. Réflection d'une sphère sur de l'eau
réfléchissante avec des réfléxions
multiples.
Vous devez avoir le
BumpMap
sur une piste précédant l'EnvMap
parce que les textures sont appliquées dans l'ordre. Si vous
faisiez ceci dans l'autre sens, la réflexion semblerait
être cassée par les vagues.
Figure 8-55. L'EnvMap
tel qu'il est stocké.
Blender permet trois types de cartes d'environnement, comme vous pouvez
voir sur la Figure 8-49 :
- Static -- La carte est calculée uniquement
pendant une animation ou après le chargement d'un fichier.
- Anim -- La carte est calculée chaque fois qu'un
rendu est effectué. Ceci signifie que des objets mobiles sont
montrés correctement sur les surfaces
réfléchissantes.
- Load -- Quand elle est sauvée comme un fichier
image, la carte d'environnement peut être chargée à
partir du disque dur. Cette option permet un rendu plus rapide avec la
carte d'environnement.
Note:
Vous pouvez animer l'eau du précédent
exemple en liant un IPO aux valeurs ofsX et ofsY du
placement de la texture dans les boutons de matériau. Le rendu
de l'animation montrera alors des ondulations mobiles sur la surface,
avec des réflexions changeant en conséquence.
Note:
L'EnvMap
du plan doit être calculé seulement une fois au
début si rien d'autre ne se déplace! Par
conséquent, il peut être static (statique). L'Envmap
sur la sphère est différent, puisqu'il ne
reflétera les changements des réflexions dans l'eau que
s'il est calculé à chaque image de l'animation. Par
conséquent il doit être de type Anim.
Si la caméra est le seul objet mobile et que vous avez un plan
réfléchissant, le vide doit bouger aussi et vous devez
employer un
EnvMaps
de type
Anim. Si l'objet est petit et le vide est en son
centre, l'EnvMap
peut être
static, même si l'objet lui-même
tourne puisque le vide ne se déplace pas. Si, d'autre part,
l'objet se déplace le vide doit le suivre et l'EnvMap
doit être de type
Anim.
Les autres réglages sont :
- Filter: (Filtre) - Avec cette valeur vous pouvez ajuster
la netteté ou le flou de la réflexion.
- Clipsta, ClipEnd
-- Ces valeurs définissent les limites de la boîte
enveloppante lors du rendu des images de la carte d'environnement.
Note:
Le calcul d'EnvMap
peut être désactivé à un niveau global avec
le bouton à bascule EnvMap
dans le panneau de rendu des boutons de rendu.
Url de la page :
http://blender.doc.fr.free.fr/lecture_ouverte/index.php?page=57