Blender Tutoriel: L'eau
Introduction
Samedi dernier, le temps était assez beau. J'ai donc décidé
de faire un petit tour à vélo. Quand j'ai traversé la rivière
Elbe, je me suis mis naturellement
à regarder l'eau. Je me suis arrêté pour la regarder pendant
un moment. L'observation est le facteur le plus important si vous voulez atteindre
un aspect convaincant dans vos images. C'est une logique simple: si vous ne
connaisssez pas le monde, vous ne pouvez pas le recréer.
Caractéristiques de l'eau
Mes observations de l'eau ce samedi et dans d'autres circonstances ont révélé
les caractéristiques suivantes:
- Il y a différentes sortes d'eaux. Leur apparence dépend du
type et de la taille de la masse d'eau, ainsi que de sa profondeur. Elle dépend
aussi de l'environnement et du temps, de sa pureté et bien plus encore.
Par conséquent, il ne peut y avoir une seule représentation
3D de l'eau qui fonctionne dans toutes les situations. Dans ce tutoriel nous
imiterons la surface d'une rivière ou d'un lac par vent modéré.
- La surface comporte des vagues de tailles différentes. Si la masse
d'eau est en mouvement comme dans une rivière, les grosses vagues changent
simplement de forme mais restent plus ou moins dans la même position,
tandis que les petites vagues révèlent le mouvement descendant
de la rivière. En revanche, si la masse d'eau ne bouge pas mais qu'elle
est influencée par le vent comme dans un lac, les grosses vagues bougent
plus que les petites. Les crêtes et les creux de l'eau ne sont pas uniformes.
En fait, les crêtes sont généralement plus serrées
que les creux.
- L'eau est transparente et réflective. La quantité de lumière
réfléchie dépend de l'angle du point de vue. Si vous
regardez avec le bon angle sur la surface de l'eau, vous pourrez voir au travers.
Si vous regardez avec un angle aigu, la surface agit comme un mirroir. Tous
les matériaux transparents agissent de la sorte.
Tutoriel
Essayons de reproduire mes observations et impressions dans Blender, pour créer
une eau 3D réaliste. Il s'agit juste d'un matériau test sans environnement
et qui devra être ajusté dans une scène complète.
Dans la scène par défaut, effacez le cube, créez un plan,
augmentez sa taille pour remplir la vue camera, allez dans le panneau des matériaux
et choisissez le matériau par défaut.
Les vagues
Le premier canal de texture doit déjà comporter une texture.
Si ne n'est pas le cas, créez-en une. Puis passez aux boutons de texture.
Choisissez une texture de type 'Clouds' et augmentez la taille du bruit (NoiseSize)
à 0.350, ce qui donne une résolution légèrement
meilleure, et sélectionnez 'Hard noise'. Le dernier point est important
pour resserrer les crêtes. Ce n'est pas parfait, mais plus proche des
vagues réelles qu'un bruit uniforme et 'soft' et c'est le meilleur moyen
que j'ai pu découvrir dans Blender pour l'instant.
Retournez dans le panneau des matériaux et plaquez la texture en Nor tout en réglant le slider Nor sur une valeur appropriée. Ici
j'ai utilisé une valeur de 0.8. C'est assez pour les grosses vagues.
Pour les vagues les plus petites, nous mettons la même texture dans le
second canal et nous ajustons sa taille dans le panneau 'Map Input' pour qu'elle
soit environ quatre fois plus petite, ainsi sizeX, sizeY and sizeZ doivent être
ajustés à 4. Mappez la en Nor également et déplacez
le slider Nor sur 0.6, un peu moins que pour les grandes vagues. Faites un rendu
test. Celà devrait ressembler à ça:
Réflection
Pour faire ressembler le plan à de l'eau, nous devons simuler les propriétés
de la surface observée.
L'eau claire ne réfléchit pas la lumière de façon
diffuse. Par conséquent, placez le slider Ref sur zéro. Par contre,
si vous voulez que l'eau ait l'air boueuse, une couleur maronnâtre et
une réflection diffuse peuvent être appropriées.
Maintenant, au tour des réflections spéculaires. Pour les rendre
facilement visibles, déplacez la lampe derrière le plan. Choisissez
le shader Blinn car il donne la possibilité de créer des reflets
avec des bords découpés, tout comme les reflets de l'eau. Spec
1.0, Hard 150 et Refr 10.0 se sont avérés être satisfaisants.
Faites un autre rendu test:
Tout ce dont nous avons besoin maintenant est la réflection de l'environnement
dans l'eau. J'ai utilisé un environnement map existant pour ça,
parce que dans notre scène test il n'y a rien autour qui pourrait se
refléter grâce au raytracing. J'ai utilisé l'envmap suivant
que vous pouvez télécharger maintenant : beach_envmap.png
(265 KB)
Ajoutez une nouvelle texture dans le troisième canal de texture, et
dans le panneau Texture choisissez EnvMap. Sélectionnez 'Load' et pressez
'Load Image' pour charger l'envmap dans Blender. Retournez dans le panneau des
matériaux et sélectionnez Refl dans le panneau 'Map Input' et
mappez la texture en Cmir. Maintenant le matériau est hautement réflectif
sur toute sa surface comme du mercure.
Pour finaliser le matériau et changer l'apparence du mercure en celle
de l'eau, trois choses doivent être changées dans le panneau Mirror
Transp. Enclenchez ZTransp pour rendre l'eau transparente. Augmentez la valeur
du Fresnel pour que la réflection dépende de l'angle du point
de vue. Fresnel 3.3 est une valeur correcte pour notre but. Enfin, placez le
slider SpecTra sur 1.0 pour obtenir de beaux reflets opaques.
L'arrière-plan bleu par défaut est un peu minable, changeons-le
en noir dans le panneau World avant de faire un rendu statique final:
Animation
Animer cette eau dans Blender n'est pas difficile du tout.
Pour les deux canaux de texture des vagues créez des images-clés
pour l'offset de texture en pressant la touche I avec le curseur de souris au
dessus des boutons de matériaux et en sélectionnant 'Ofs' dans
le menu pop-up. Puis allez à l'image 100. Changez ofsZ à 0.6 pour
les deux canaux de texture et créez des images-clés à nouveau.
La valeur d'ofsZ influence la forme des vagues sans les changer de place le
long du plan d'eau qui s'étend dans le plan XY. Des valeurs plus élevées
conduisent à des mouvements plus rapides, des valeurs moindres donnent
des mouvements plus lents.
Dans la fenêtre des IPO changez le type d'IPO en Material et changez
les courbes Ofs IPO pour les deux canaux de texture des vagues, en interpolation
linéaire pour avoir une durée égale pendant toute l'animation.
Les canaux de texture sont accessibles par le nombre à côté
du champ de type d'IPO. Faites un rendu de l'animation de l'image 1 à
100 et pressez Play pour la visionner. Voila!
Nous n'avons pas encore imprimé de mouvement latéral aux vagues.
Rajoutons celà maintenant pour améliorer d'avantage l'animation.
A côté d'ofsZ, animez simplement aussi ofsX et ofsY selon les indications
décrites plus haut. J'ai fait des exemples de rivière et d'un
lac:
J'espère que vous avez apprécié ce tutoriel. S'il vous
plaît, expérimentez à partir de cette base. Il y a toujours
une marge d'amélioration. Bonne chance pour vos projets 3D!
Roy Schulz
22.01.2005
Translated to French by Serialsiner 29.01.2005
|