Occlusion avec Mental Ray sous 3DS Max 2009



Voilà mon premier tutorial pour VFX'n'3D, qui sera donc consacré à l'occlusion sous Mental Ray ( MR ), sous 3DS Max 2009 en l'occurence, mais cette méthode est aussi valable pour les versions Max 2008 et Max 9 ( pour les plus anciens aussi, certainement, mais ça fait un moment que j'ai pas bosser dessus donc je garantie rien ).

Avant de commencer il faut d'abord comprendre ce qu'est l'occlusion. Je dirais que la façon la plus simple ( pas forcement la plus juste d'un point de vue physique ), c'est de comprendre que l'occlusion est un "ombrage", mais pas un ombrage qui fonctionne avec une light, au contraire il ne faut pas de light dans la scène, mais un ombrage par proximité.
C'est à dire que plus 2 surfaces sont proches l'une de l'autre, plus vous aurez "d'ombre", l'angle formé par les 2 surfaces à aussi sont importance, pour bien comprendre ça le plus simple est encore une image.


Maintenant qu'on sait comment marche l'occlusion, il va falloir créer le shader correspondant, puis à la fin on verra comment utiliser cette passe d'occlusion sur notre image.




Sous Max l'occlusion est géré en tant que shader.
Pour bien voir l'occlusion, on va prendre un modèle un peu plus compliqué qu'un simple cube, ou que la fameuse "teapot". En l'occurence je vais prendre un mesh de Gargouille, trouvé sur le net.
Le modèle est assez complexe pour rendre l'occlusion intéressante.




Ouvrez l'éditeur de matériaux ( touche M ), choisissez un "slot", donnez lui un nom. Par défaut c'est un matériaux standard qui est utilisé, pour avoir un shader d'occlusion propre et vraiment correcte, choisissons un matériau de type "Mental Ray".




Assurez vous d'avoir choisi Mental Ray comme moteur de rendu, sinon vous n'aurez pas accès à ces matériaux. ( c'est con à dire, mais c'est pour éviter d'avoir des remarques du genre, "J'ai pas de matériaux Mental Ray ..." )
Les matériaux spécifique à Mental Ray sont en jaunes.




Le shader d'occlusion est à mettre dans le slot "surface" du mat Mental Ray.






Les réglages sont peu nombreux, et ceux sur lesquels ont va agir pour avoir ce qu'on souhaite, encore moins ...
Sur les 5 paramètres mis en surbrillance, seul 2 sont vraiment important, les autres permettent d'avoir un réglage plus "fin" selon les besoins




Le premier réglage important, est "samples", il permet de régler la qualité de l'occlusion, le nombres d'échantillons utilisés, plus la valeur est élevée, plus l'occlusion est jolie, mais aussi, plus le rendu est long ( on a rien sans rien ).
Pour bien régler cette valeur il faut la mettre en relation avec le deuxième réglage important, la distance max ( ou "max distance" dans ma version anglaise ... ).
Si votre distance max est très petite, il ne sert à rien de mettre 2000 samples, on ne verra aucune différence par rapport à 25 samples ...

On verra l'influence de ces 2 paramètres par la suite, pour le moment on va mettre un réglage "standard", personellement je mets 32 pour les samples, cela permet de ne pas avoir de trop de grain sur l'occlusion, et pour la distance je vais mettre 0.2 mètre ( ma gargouille mesure environ 1.2m de haut )
Si la valeur samples change peu selon les scènes, la valeur de la distance max, par contre, est à adapter selon la taille de votre scène, n'hésitez pas à faire des tests. ( pour une scène en mettre et à l'échelle, une valeur entre 0.2m et 0.4m donne généralement de bon résultat )



Maintenant il faut assigner notre shader "occlusion" à tout les objets de la scène, pour ça utilisez la fonction "material override" qui permet d'assigner un matériau unique à tous les objets de la scène.




Maintenant lançons un rendu (sans rien activer d'autre, ni illumination globale, ni final gather, et sans lumière dans la scène )
Voilà ce qu'on obtient.






sur ce gros plan, on peut voir qu'il y à un peu de grain, si vous voulez le supprimer, vous pouvez augmenter légérement le samples ( doucement sur les samples, les temps de rendu grimpent vites ), ou alors vous pouvez réduire la distance max, la surface sur laquelle se fera l'occlusion sera plus faible, donc avec un samples identiques, la densité des échantillons sera plus élevée, donc moins de grain.

J'ai fait un test sur une petite zone, avec 128 de samples, la différence à cette résolution ( 1280*720 ) n'est pas très visible.




"Influence de la distance max"

Distance 0.05m




Distance 1.0m






Maintenant voyons les trois autres réglages laisser de côté tout à l'heure.

Commencons par le spread ( "répandre" selon la traduction google .. ), une image sera plus parlante.




A vous de l'utiliser de manière correct pour obtenir ce que vous voulez.

Pour "Bright" et "Dark", vous pouvez changer la couleur , si une occlusion noir/blanc ne correspond pas à ce que vous voulez ou ce qu'il vous faut; généralement le réglage par défaut convient, tout comme le spread.






Maintenant voyons comment utiliser l'occlusion pour notre image finale, pour ça faite un rendu classique, avec l'éclairage que vous voulez, pour ce tuto j'ai fait simple, Daylight Mental Ray, réglé en 1 min.

Voilà nos 2 images, le rendu et l'occlusion.






Le passage sous photoshop maintenant. Mettre l'occlusion dans un claque au dessus de celui du rendu, et passer le calque de l'occlusion en mode produit, vous pouvez aussi modifier l'opacité.




Voilà mon rendu final, rien d'exceptionnel, à vous de rajouter d'autre passes, de travailler la lumière, les shaders, etc ...
vous pouvez aussi combiner plusieurs passes d'occlusion, avec des réglages différents, pour obtenir des effets intéressants.
Vous pouvez aussi utiliser l'occlusion directement dans max, en l'utilisant comme masque par exemple ( sous photoshop aussi vous pouvez mettre votre occlusion dans un masque de fusion ), ou comme map de bump, à vous d'être créatif pour trouver comment l'occlusion peut vous aider autrement que dans photoshop pour votre image final.




Ce tutorial se termine, j'espère qu'il vous aura permis de comprendre comment utliser l'occlusion dans Max, si vous avez des questions n'hésitez pas à me les poser sur le forum, si je suis apte à répondre je le ferai volontier


Benjamin CHAUVET pour VFX'n'3D - Octobre 2008