VRay Caustics et Flex Modifier

By 05/12/2012Blog, MAXScript, Tutoriaux

Reactor est mort, vive Reactor! Vous l’avez surement remarqué Reactor à disparu de 3dsMax du coup, une petite mise à jour de l’article Une Piscine avec Reactor s’impose.

Evidemment quand on veut faire des caustics sur une piscine, la modélisation est primordiale puisque c’est elle qui va définir la qualité et le mouvement si particulier des caustics. Maintenant que Reactor n’est plus il faut utiliser le modifier Flex pour reproduire l’onde qui fait que c’est bien! Je vous préviens d’avance, ce tuto est plus qu’inspiré de ce tutoriel , j’aurais donc du mal à détailler l’influence exact de chaque paramètre.

Mise en Place

Un simple plane (à l’échelle) avec plus ou moins d’itérations selon la qualité que vous souhaitez mettre en place. Vous pourrez de toute façon rajouter des itérations par la suite, l’essentiel dans un premier temps est d’avoir une qualité suffisante pour travailler.

Ensuite il faut créer des sphères qui vont servir a créer des points d’impact avec l’eau. La piscine sur laquelle je travaille est particulièrement grande, du coup j’ai créer plusieurs sphères pour marquer la présence des pompes et créer plusieurs sources d’ondes dans la piscine. Et pour terminer la mise en place, n’oubliez pas de désactiver les sphères du rendu 😉

   

Simulation

C’est maintenant que ça va devenir intéressant, on va passer à la simulation du truc! Première étape indispensable: animer les sphères. Rien de compliqué, passez en mode Autokey et ça devrait bien se passer! Un des autres avantages d’avoir séparer les sphères et de pouvoir les animer indépendamment et ainsi créer un décalage, encore une fois pour marquer la présence des pompes et obtenir un résultat bien moins linéaire.

Ensuite, placer un UDeflector (Create / SpaceWarps / Deflectors / UDeflector) sous chaque sphère. Une fois chaque UDeflector crée vous pouvez faire un “pick object” et choisir la sphère correspondante. Appliquez ensuite un modifier Flex à votre plane.

   

Les paramètres du Flex sont les suivants:

   

Maintenant passez le Flex en mode “Weights & Springs”, et sélectionnez tous les vertex. Activez le mode Absolute Weight et mettez le Vertex Weight à 0.1

Le Flex est donc en place est fonctionnel, reste plus qu’à faire un Create Simple Soft Body. La petite fenêtre qui s’ouvre vous demandera, en gros hein, combien de vertex vont être modifie autour. C’est un peu comme quand on mélange des samples d’irradiance map, faut que ce soit bien mélangé pour pas que ça se voit ^^ J’ai donc mis 150 sur cette scène, sachant que c’est bien trop mais par flemme…

Pour plus de confort, je commence toujours par bosser avec une seule sphère, ça va plus vite, voici un aperçu avec une seule sphère:


Et un second aperçu avec toutes les sphères actives. Comme vous pouvez le voir, les vagues sont totalement hors d’échelle  il suffit de baisser le paramètre Flex, mais ne le faites pas c’était juste pour dire ^^

Point Cache

Maintenant que tout fonctionne il faut impérativement baker le tout, et justement on va calculer l’anim en mode “hors d’échelle  afin de garder un maximum de flexibilité. Pour cela nous allons utiliser un Point Cache modifier. Pour rappel, celui-ci permet d’enregistrer tout type d’animation dans un fichier XML, c’est très utile pour beaucoup de choses: sauvegarder des mouvements d’objets, de camera, des simulations Cloth… Le second avantage est qu’il est possible de se balader dedans donc quand vous faites vos images (à la Frame 0) il vous suffit de modifier le PointCache pour choisir le moment de l’anim qui vous intéresse, plutôt pratique!

Pour ce qui est de sa mise en place, il suffit de l’appliquer et de faire un “Record”. Si vous souhaitez vous baladez dans l’anim passez le Playback Options en mode Plaback Graph et définissez la frame qui vous intéresse. Et pour terminer sur le Point Cache, n’oubliez pas de désactiver le Flex, mais gardez-le, on sait jamais 😉

Si vous voulez baisser l’intensité du Flex, pour le remettre à une échelle plus juste, baissez le Strength du Playback Options.

Turbosmooth & Noise

En fait on aurait pu aller directement dans ce sens mais après quelques tests je trouve que les caustics sont de bien meilleure qualité quand on passe par la case Flex. Le “buoyancy” étant de la partie les “dessins” formés par les caustics s’en trouvent améliorer. Mais, ça n’empêche pas de rajouter de la définition, du coup dans l’ordre: Edit Poly /  Flex / Point Cache / Turbosmooth /Noise et le reste dans le shader 😉

Enfin, si vous ne souhaitez pas passer 12 heures à tester mais que vous cherchez à avoir de l’eau et des caustics de qualité, je vous conseille le script Hot4Max de Guillaume Plourde et également le merveilleux Wave Generator de Ruben Mayor et Philippe Jadoul

Pour ce qui est des caustics, je vous laisse lire la seconde partie du tuto une Piscine avec Reactor