Zoo-Blender
   Zoo-Blender
Blender Tutorial: Water

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:

  1. 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é.
  2. 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.
  3. 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:

Test Rendering 1

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:

Test Render 2

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:

Final Rendering

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:

Video:
Source:
river_divx.avi (1.4 MB)
river.blend (72 KB)
Video:
Source:
lake_divx.avi (1.3 MB)
lake.blend (72 KB)

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

     news://news.zoo-logique.org/3D.Blender