Actualités Logiciéls Tutoriéls Galeries Concours Forums WIP Emplois Boutique
 

MentalRay for 3ds max.

1)Introduction

Développé par Mental Images pour le logiciel Softimage depuis ses premières versions, Mental Ray est depuis peu disponible sur 3ds MAX, apportant à cette plateforme la référence des moteurs de rendu.
Mental Ray est la référence pour les calculs en raytracing de réflexions, réfractions, et soft-shadows avec des matériaux semi-transparents. Il supporte également depuis peu l'illumination globale (GI) et les caustics. Car si la GI et la radiosité sont encore à l'état embryonnaire en animation à cause des temps de rendu, le raytracing apporte un réalisme vraiment convaincant. Ses propres algorithmes de calcul lui permettent de s'adapter très facilement puisque quelques paramètres permettent d'osciller entre un rendu de test rapide et un rendu de production d'une qualité inégalable.
Aujourd'hui en version 2.1 pour 3ds MAX 3.1, la version de Mental Ray 3 est actuellement en beta-test et sortira peu après la sortie de 3ds MAX 4.
Voici donc un tour d'horizon des capacités qu'apporte Mental Ray à 3ds MAX.


2) Installation

L'installation se fait très simplement, puisqu'il vous suffit d'avoir une licence de MAX3.1 déjà installée, d'installer le CD Mental Ray, puis la connexion entre MAX et Mental Ray.
Une fois cela effectué, il vous faut définir MentalRay comme moteur de rendu de MAX en allant dans Customize, Preferences, puis sur l'onglet Rendering. Tout en bas à gauche de la fenêtre, vous avez les renderers assignés en production et en draft, à priori le default scanline renderer. Un clic sur Assign, puis sur Mental Ray. Voilà votre MAX capable des meilleurs rendus au monde.

3) Interfacage

En fait MentalRay est présent en trois endroits :

  • En tant que renderer. Vous pouvez pour cela consulter le desciptif des paramètres, mais ce n'est pas vraiment le moment. MentalRay remplace ici le moteur par défaut (le scanline) et impose ses propres réglages, options, et algorithmes.

  • Dans le nouvel onglet "Indirect Illumination Params" des lampes. MentalRay ajoute également ses propres lampes, Aera Spot et Aera Omni, pour les ombres douces (soft-shadows). Vous trouvez dans cet onglet l'énergie envoyée par la lampe, et le nombre de photons qui seront pris en compte d'une part pour les caustics, d'autre part pour la GI.

  • Mental Ray est aussi présent sur chaque objet grâce au panneau Properties (clic droit sur l'objet), permettant d'inclure ou d'exclure de la GI ou des caustics n'importe quel objet.

    • Generate caustics : si cette option est cochée, l'objet génère des caustics dans la scène. Il faut également que les caustics soit activés dans le renderer. Il faut préciser qu'un objet peut recevoir ses propres caustics.

    • Receive caustics : si cette option est cochée, l'objet pourra recevoir des caustics. Sinon l'objet n'en recevra pas, même si il est dans le champ de caustics d'un autre objet.

    • Generate Global Illumination : si cette option est cochée, l'objet génère des réflexions multiples, autrement dit de la radiosité. Il faut également que la radiosité soit activée dans le renderer.

    • Receive Global Illumination : si cette option est cochée, l'objet pourra recevoir de la lumière émise par d'autres objets.

    • Primary visibility : si cette option est cochée, l'objet apparait dans le rendu de la scène.

    • Secondary visibility : si cette option est cochée, l'objet apparait dans les réflexions et réfractions de la scène.

4) Raytracing

A quelques exceptions près, MentalRay reprend l'intégralité des matériaux de MAX. Juste une habitude à prendre, le matériau Raytrace n'est pas supporté, il faut donc attribuer une map Raytrace sur la canal de réflexion et /ou réfraction pour obtenir le même effet.
Une autre habitude à changer concernant ce matériau, vous pouvez activer l'antialiasing sur toutes les options même en phase de test, car MentalRay applique ses propres paramètres d'antialiasing et de sampling, beaucoup plus souples et rapides. Car il faut bien dire que les activer avec le scanline sur des matières semi-transparentes avec le materieux RayTrace relève de l'auto-flageolation...

Un regret par contre, mais pardonnable pour une première version MAX, est l'imcompatibilité avec les shaders de Softimage, qui procure à ce dernier des possibilités plus poussées, dans les effets atmosphériques notamment. Soulignons quand même que le duo Softimage-MentalRay est indissociable depuis le début de MentalRay, expliquant cette intégration plus poussée. Le G-buffer n'est pas supporté non-plus, ce qui se révèle plus ennuyeux puisque que cela interdit l'usage des effects et video post y faisant référence.

Les principaux réglages de qualité/rapidité de MentalRay sont accessibles dans le roll out concernant le Sampling Quality. Le principal paramètre est en fait le réglage samples, puisque c'est ici que vous définissez le taux d'échantillonnage de chaque pixel de l'image.
Les autres paramètres importants sont les nombres de rayons réfractés et réfléchis, qu'il faut bien configurer en fonction de la scène. En effet, un nombre de réfraction trop faible pourra par exemple empêcher un rayon lumineux de ressortir d'un verre, ce que MentalRay comblera en affichant la couleur d'environnement.

En terme de temps de rendu, MentalRay est ici beaucoup plus rapide que le scanline de MAX. Une scène comme celle-ci, antialiasing activé, prend un temps fou sous MAX, comme sur de nombreux softs 3D. MentalRay est par contre impressionnant de rapidité dans de telles conditions.

Un autre atout de MentalRay, venant de la façon dont il calcule les images, est l'apparition d'un "grain" sur l'image, provoquant une sorte de bruit et donc des images moins "parfaites", donc plus réalistes. Une autre grande qualité, l'une des plus intéressantes, est l'interpolation de l'antialiasing. Finit les crénelages sur des arêtes bien tranchées et sur certaines textures. Fini aussi les temps de rendu rallongés par le filtre summed aera pour gommer cela. Un paramètre de MentalRay permet même de régler le calcul de l'antialiasing en fonction des images, si elles représentent des tons homogènes ou au contraire contrastés.

La GIest le phénomène de transmition d'énergie (et donc de lumière) des rayons lumineux émis par une source de lumière et la restitution de cette énergie par tous les objets de la scène absorbant et en restituant une certaine quantité. C'est par ce procédé qu'une lampe dans la pièce à coté peut éclairer une autre pièce, si ... la porte est ouverte.

Regardez l'animation ci-dessous :


Codec DivX, 119Ko.

Cette scène comporte uniquement une lampe, placée dans le couloir. Sans la radiosité, les murs ne peuvent donc pas être éclairés, tout comme le coté interne de la porte. En fait, toutes les face cachées vis à vis de la lampe. Ici, la porte réfléchit donc la lumière pour la propager dans la pièce, et ainsi de suite.

Rendu : 100 frames, 11 heures, soit 7min/frame.

Chaque lampe possède donc ses paramètres d'illumination globale, comme l'énergie émise dans la scène, mais également le nombre de photons qui serviront de "map de lumière" avant la passe finale de GI montecarlo. Vous définissez également ici le nombre de photons pris en compte pour le calcul des caustics. La différenciation des deux est particulièrement intéressantes, puisqu'il n'est pas forcément nécessaire d'utiliser beaucoup de photons pour la GI, alors qu'il en faut énormement pour les caustics. Cela permet donc de préserver le temps de calcul, et de faire des tests avec moins de photons.

La définition de la scène consiste ensuite à définir quel objet va générer de la GI (Global Illumination), et/ou recevoir cette GI. Cela se révèle très important, puisqu'il faudra un minimum d'objets générateurs (ou plutot réflecteurs) de GI pour conserver un temps de rendu faible, mais le réalisme du rendu en dépend directement, puisque dans la réalité, tous les objets renvoient de la lumière. "Prenez un verre (un vrai), placez le dans la lumière, et imaginez la "dose" de calcul temps réel que la nature nous affiche en permanence !"

La prise en compte de la GI lors du rendu se fait en deux étapes : Tout d'abord par l'activation de la GI dans le renderer, et ensuite par l'activation de la passe finale : le final gather, sorte d'algorithme de lissage de la solution de radiosité, apportant le réalisme, mais aussi la lenteur. Désactiver le fg (final gather) lors des tests est un bon moyen de gagner du temps, mais il faut de l'expérience avant de pouvoir le faire car cela ne donne qu'un ensemble de valeurs ponctuelles de l'intensité lumineuse.
Nous avons fais des tests consistants à augmenter le rayon de la global (le rayons des "taches" ci dessous) dans le but de les superposer et de pouvoir se passer du fg, mais les résultats se sont révélés peu convaincants dans 95% des cas.


Golbal illumination sans final gather
40sec de rendu

Final gather activé
20min de rendu
Cette scène possède une seule lampe, à l'extérieur, donnant sur la fenêtre. On voit ici que sans fg, le calcul donne en fait des valeurs ponctuelles de la luminosité.

Avec la GI, on decouvre de nombreuses sources lumineuses dans des scènes pourtant banales. Il faut donc revoir ses matériaux, car les paramètres d'auto-illumination ainsi que les reflect-map deviennent naturellement des sources de lumières ! On se surprend ainsi à penser ... Naturellement, pour l'élaboration de l'éclairage d'une scène ! Plutot inhabituel en image de synthèse.

On regrettera quand même l'absence de lampe standard prenant en compte les propriétés physiques de l'éclairage, comme c'est le cas par exemple sous LighScape. Car MentalRay ouvre grand la porte aux simulations d'éclairages réalistes de par ses modèles de calcul.
La qualité des images est incontestable. Il faut par contre avoir l'habitude de ce moteur pour en tirer parti, sinon les calculs risquent de sembler longs...Un exemple concret, l'animation de la porte plus haut : Après optimisation de la scène et du rendu, le calcul des 100frames s'annonçait de...40heures. Trouvant celaquand même exagéré, j'ai réussi à descendre ce calcul à 7h en conservant la même qualité, et en jouant sur un seul paramètre ! L'aboutissement de MentalRay réside ici. En fait ses paramètres sont des paramètres relatifs, et non absolus. Par exemple, si le paramètres x réglé sur 5 vous amène à une qualité irréprochable, ce même paramètre réglé sur 10 se révélera 2 fois plus lent à calculer, pour la même qualité ! Il faut donc trouver ce seuil sur 4 ou 5 paramètres bien précis pour réussir à sortir des rendus de qualité sans y passer trop de temps vu le réalisme.


Cette image calculée en 4000x3000 a nécessité 52min de calcul sur un bi-celeron 466. En radiosité pure et compte tenu de la taille, on peut dire que le temps de calcul est raisonnable. (200 000 polys)

Une dernière petite chose concernant la GI : Une technique permet de simuler ce type d'éclairages avec le scanline de MAX comme avec tout autre moteur de rendu. Cette technique consiste à positionnner une multitude de lampes le long d'une hélice englobant l'objet. Toutefois, après plusieurs tests réalisés avec des personnes maitrisants cette technique, il c'est avéré que le rendu MentalRay est de meilleure qualité, et qui plus souvent aussi voir plus rapide. De plus, cette technique n'est utilisable que dans certains cas bien precis.

6) Caustics

Les caustics ont également beaucoup fait parler d'eux ces dernières années, notamment lors de la sortie de Twister à l'époque de Sumatra. Twister était d'ailleurs une évolution de...MentalRay.
Les caustics sont en fait les phénomènes de concentration de lumière dus à la réflexion ou réfraction dans un système optique (loupe, verre, vitre) ou un objet réfléchissant qui par sa courbure concentre les rayons lumineux émis par une lampe. Cela est très visible par exemple, dans l'ombre d'un verre. Il apparait généralement une zone dans cette ombre plus éclairée que la lumière ambiante de la pièce.

Comme nous l'avons vu plus haut, les caustics sont issus de la lumière générée par une lampe, sur laquelle on définit un nombre de photons émis qui seront pris en compte lors du calcul. Plusieurs lampes peuvent bien sur émettre des photons.

Une fois l'émission réglée, il faut, comme pour la radiosité, definir des objets qui génèrent des caustics (un verre) et d'autres qui les reçoivent (la table sur laquelle est posé le verre). Il ne reste alors plus qu'à activer le calcul des caustics dans le renderer.

 Mais ce n'est pas si simple...
En effet quatre paramètres sont importants et réagissent entre eux, rendant le paramétrage plus scabreux que celui de la GI.
Un regret d'ailleurs, si le nombre de photons est différencié entre les caustics et la GI, ce n'est pas le cas du paramètre energy des lampes. Hors dans certaines scènes cela se révèlerait fort utile car l'énergie nécessaire aux caustics n'est pas forcément la même pour la radiosité.

L'expérimentation des caustics se révèle par contre plus simple que celle de la radiosité, car les calculs sont très rapides avec un petit nombre de photons, et il suffit généralement d'augmenter le nombre de photons pour accéder au réalisme. Les calculs avec beaucoup de photons sont par contre d'une lenteur incroyable dans le cas des réfractions, surtout que ce n'est pas le rendu lui même mais le calcul de photon tracing map qui prend énormément de temps. Jouer sur le sampling n'y changera donc rien. Toutefois, si cela est vrai pour les caustics réfléchis (voir la bague plus haut), les caustics réfractés (par un verre par exemple) sont plus difficile à dompter.
L'un des prinicpaux problèmes lors de l'élaboration du rendu des caustics vient du fait qu'ils sont issus de réflexions et/ou de réfractions. MentalRay n'y est donc pour rien, puisqu'il reproduit les phénomènes réels. La position de la lumière influe directement sur l'aspect des caustics. Les paramètres hotspot et falloff des spot agissent également sur leur aspect. Ils faut donc tatonner un peu pour avoir l'aspect que l'on cherche.

A noter que MentalRay supporte sur Softimage le calcul de la propagation des caustics dans les éclairages volumétriques. Cela grâce aux shaders Softimage, non supportés par MentalRay MAX.

Une petite paranthèse sur une fonction très astucieuse : MentalRay permet de sauver les photon map et shadows map calculées. Ceci vous permet par exemple de pas calculer à chaque fois les ombres lors de tests, puisqu'il suffit d'enregistrer la shadows-map, et de la loader ensuite à chaque rendu, permettant de ne pas perdre de temps de rendu en conservant les ombres. Idem pour la photon-map. Il est même possible une fois celles-ci sauvegardées de se deplacer dans la pièce sans recalcul de la map de photons, caustics, ou ombres. Cela à condition toutefois que les paramètres des lampes ne changent pas et que les objets dans la pièce ne se déplacent pas.

7) Motion blur et Depth of Field

MentalRay possède également ses propres algorhymtes de calcul de motion blur (flou de mouvement) et de deph of field (profondeur de champ).

Le DoF (Depth of Field) est utilisable dans une vue camera ou perspective, puisque MentalRay ajoute ses paramètres de DoF dans les paramètres de camera, et les propose également dans le renderer pour une vue perspective.
Celui-ci se règle selon un paramètre frame-stop pour la camera, indiquant l'étendue de la zone de netteté autour de la cible de la caméra.
Les vues perspectives possèdent une possibilité supplémentaire : celle de definir les paramètres in-focus selon deux limites near et far (proche et éloignée)
Le DoF est assez simple à regler avec un peu d'habitude. Le calcul s'avère relativement lent (raytracing oblige) par rapport aux filtres de dof apliqués en post prod. Une bonne méthode de test consiste à régler le DoF avec un cylindre ou une boite s'étendant parallèlement à l'axe de la camera pour definir la zone de flou.
La qualité du résultat est encore au rendez-vous, mais il faut augmenter les paramètres de sampling proportionnellement à l'ampleur de l'effet, au risque de voir apparaitre des artefacts. Les temps de calculs sont donc d'autant plus longs.

On aurais par contre aimé un calcul 2D du DoF, de la facon dont le gère Combustion™ par exemple (selon une information Z), car celà se révèle de bonne qualité, et surtout extremement court en temps de calcul.

Le MotionBlur est un autre point fort de MentalRay. Il est de plus très simple à configurer puisqu'il depend directement du mouvement de l'objet, et d'un seul paramètre pour régler le degré d'intervention du motion blur dans le rendu. Tout comme avec le DoF, il faut augmenter les valeurs de sampling si on ne veut pas voir apparaitre d'artefacts, allongeants les temps de calcul.

Precisons que le motion blur de MentalRay est particulièrement puissant, puisqu'il opère non seulement sur l'objet lui-même, mais également sur son ombre, sur les réflections et réfractions de l'objets, et sur le DoF !

Les temps de rendu avec des scènes complexes sont pas contre très longs, et Il faudra pour çà preferer le motion blur standard de max si les fonctionnalités supplémentaires de celui de MentalRay ne sont pas indispensables. C'est dommage, car dieux sait que faire de l'animation sans motion blur, c'est comme...enfin bref.

8) Soft Shadows

MentalRay apporte à MAX une autre fonctions qui lui fait réellement defaut, les soft shadows, ou ombres douces. Grâce à cette fonction, on se surprend à utiliser automatiquement MentalRay quel que soit le type de scène, tellement celà apporte de réalisme. Les softshadows sont de plus assez rapides à calculer. Entre parenthèses, les soft shadows sont également disponibles sous MAX, qui plus est gratuitement, grâce au RayFX shadows de Blur Studio. A tel point qu'on aimerai bien les voir implémantées en standard dans 3ds MAX 4. Celà ne semble malheureusement pas être le cas.

Les soft-shadows interviennent au travers de deux nouveaux types de lampes : les aera-omni, et les aera-spot. Ces lampes sont identiques aux autres, hormis la prise en compte de ces soft shadows, et assez simple à parametrer. Un petit maxscript fourni avec le package permet de changer n'importe qu'elle lampe standard en area light (exepté les direct target et le sunlight).
Ces ombres (voir img de droite) sont bien générées en raytracing, et non pas en shadows map. Ce qui veut dire que vous pouvez les utiliser avec des matières semi transparentes par exemple.

Petite remarque, les aera-lights de MentalRay ne sont pas prises en compte par le light listener. Le light listener est un utilitaire MAX fort utile regroupant l'ensemble des paramètres de toutes les lampes d'une scène, pour un controle beaucoup plus productif.

9) En conclusion

Même sans le support à l'heure actuelle des shaders Softimage, MentalRay apporte à 3ds MAX la qualité de rendu qui lui faisait defaut grâce à des algorhytmes de sampling réellement plus efficaces, surtout au niveau de l'antialiasing et de la souplesse de paramétrage. Les soft-shadows sont également très interessantes, et devraient être depuis longtemps disponible sous MAX en standard.
Pour ce qui est des temps de calcul, les scènes en raytracing pur, d'une qualité de rendu accrus, sont rendus beaucoup plus rapidement. Il faudra par contre garder le scanline en phase de test sur des scènes "normales" (comprenez par là sans les phénomène tels que Illumination globale, reflections, refractions, ou caustics), car la traduction de la scène en .mi2 compréhensible par MentalRay fini par prendre du temps lors de petits calculs répetitifs. C'est l'un des points faible que l'on aimerai voir corrigé dans les futures versions.
Concernant la GI, qui apporte un réalisme saisissant au rendu, il faudra réellement bien maitriser les paramètres de MentalRay pour sortir des temps de rendu corrects sur des machines modestes. Les animations de scènes complexes en radiosités restent par contre du domaine des renderfarms.
Les caustics, eux, sont plus rapides en phase de test, mais se révèle encore très lent en rendu de prodution, et leur paramétrage se révèle plus pointu.

Un moteur très performant donc, mais à conditions d'y passer des heures pour le maitriser si on ne veut pas passer des heures à...attendre.
Le prix est par contre assez cher, surtout si l'on veut constituer une renderfarm, ce qui est souvent le cas avec de tels calculs. La documentation papier, quand à elle, fournit seulement un descriptif théorique et mathématique des algorhymes de calcul, et les fonctions de programmation de shaders. Heureusement qu'une aide en ligne, très bien faite, est disponible avec l'installation.

Une petite remarque en sortant : MentalRay 3.0 est actuellement en beta-tests, et se révèle de 30 à 50% plus rapide dans certaines conditions. A suivre...

Prix :

license fixe 2 processeurs : 20 663 FHT
license fixe 4 processeurs : 38 045 FHT
licenses flottantes (par nb de proc) de 1 à 3 : 17 383FHT
licenses flottantes (par nb de proc) de 4 à 7 : 14103FHT
licenses flottantes (par nb de proc) de 8 à 15 : 12463FHT
licenses flottantes (par nb de proc) de 16 à 31 : 10823FHT

Informations complémentaires :

- Mental Images (les créateurs de Mental Ray)


Connexion
Pseudo/password:
Connection auto



Newsletter
Abonnez-vous

Boutique
Textures-Modèles
Logiciels 3D
Logiciels 2D
Promo


Google

Alapage


WWW.3DVF.COM
| A Propos | Contact | Copyrights | Publicité |
© Copyright 2000-2007 3DVF - Tous droits réservés
Site Meter - tracker