Bonsoir,
Après une longue absence, voici un petit article sur mon expérience sur Maya 2009, les choses à faire, à éviter, à découvrir.
Le rendu dans Maya 2009 :
Comme vous le savez, on peut créer des pass dans Maya 2009. Mais comme vous le savez (la aussi), Autodesk nous réserve de bonnes surprises sur son utilisation.
1) Les pass ne marchent pas avec tout les shaders/materiaux. Les shaders de “base” Maya (lambert, blinn, phong, etc etc) prennent toute les pass.
Les shaders MentalRay : seuls quelques un prennent les pass ! De plus ils ne prennent pas toute les pass (le piège, on se retrouve avec des objets tout noir sur certaines pass…) !
Ici les shaders MentalRay avec leurs pass supportées :
Le mia_material_x_passes : Beauty, Diffuse, Direct Irradiance, Indirect, Reflection, Refraction, Specular, Translucence
Le mi_metallic_paint_x_passes : Ambient Material Color, Beauty, Diffuse, Direct Irradiance, Indirect, Reflection, Specular
Le misss_fast_shader_x_passes : Beauty, Diffuse, Direct Irradiance, Specular
Comme vous le voyez, ça peut devenir ingérable… Si dans votre scène, vous voulez en rendu une pass de Diffuse Material Color (cette pass rend les couleurs “bruts” (comme un surface shader mis partout) de vos couleur, texture, etc etc de votre scène), et que vous avez dans votre scène des shaders Maya (lambert, blinn, etc etc) et des shaders MentalRay (mia_material_x_passes, etc etc), eh ben….c’est mort. Vous vous retrouverez avec de magnifiques “objets noirs” dans votre pass, la ou il y a vos materiaux MentalRay. Car les matériaux MentalRay ne gérent pas cette pass.
Résultat :
- soit vous vous faites une scène avec que des shaders Maya (vive l’évolution, ou la régression…)
- soit vous vous faites une scène avec tout les matériaux que vous voulez (du moins les shaders MentalRay qui finissent par “passes”), et vous ne sortez que les pass : Beauty, Diffuse, Indirect, Reflection, Refraction, Specular, Translucence (super !).
A noté que pour le compositing : beauty = Diffuse + Indirect + Reflection + Refraction + Specular + Translucence
Addition = add = plus.
Pour que vos pass aient un alpha, il suffit de mettre 4 channels dans les propriétés de la pass (en double cliquant dessus).
2) La transparence est les pass. C’est simple, j’ai jamais réussi à compositer une zone qui à de la transparence avec les pass. Je retombe jamais sur la beauty. Il y a toujours un écart de couleur.
Solution : rendre les objects qui ont de la transparence “à part”, avec les renderLayers.
3) Le Zdeph. Pour sortir une pass de Z, on utilise la pass : Camera Depth / Camera Depth Remapped.
Sauf qu’il y a une astuce : généralement, la 1ère fois, vous avez une image blanche. Que faut il faire ?
Dans les propriétés de la pass (en double cliquant dessus), vous devez coché “remap value”.
Le near clipping plane étant la distance de l’objet le plus prêt. Pour la mesurer, utiliser le “mesure tool” (dans le menu create). Faites de même pour le far, qui représente la distance de l’objet le plus loin.
Le minimum buffer value, laissez le à 0. Le maximum buffer value, mettez le à 100 ! Et oui, je ne sais pas pourquoi, mais si vous voulez une belle pass de Z, il faut mettre 100. Voilà l’astuce.
4) Les lens shaders (pour mettre vos gamma à 2.2 par exemple) : toute les pass que vous sortez ne prennent pas en compte le lens shaders. Résultat : c’est ingérable. Franchement, si vous avez mis un Physical Sky par exemple, un mia_exposure_simple est connecté à votre caméra (c’est un lens shader). A partir de la, oubliez les pass.
Il y a une “mini astuce” qui ne marche qu’avec un mia_exposure_simple. Le truc est de mettre :
- le pedestal à 0
- le gain à 1
- le knee à 0.5
- la compression à 0
- le gamma à 2.2
Résultat, le lens ne fera qu’appliquer un gamma 2.2 à votre image. Du coup, au compositing, il suffit de prendre vos pass et de mettre un node de correction de gamma à 2.2 au bout de votre compo pour retomber sur vos pattes =).
Mais, mettre un lens pour monter juste le gamma de l’image à 2.2 : c’est nul.
5) La coverage et la labelID pass. Le but d’une pass est de pouvoir avoir des “couches de l’images” en 1 calcule.
Actuellement, je crois que personne à trouver comment utiliser ces pass en même temps que les autres pass. La seul solution pour les utiliser est de créer un renderLayer, et de mettre votre primary buffer en coverage ou label. Du coup, vu qu’il y a render layer, il y a 2ème calcul. Question : utilité de ces pass ?
Solution pour avoir vos pass labelID et coverage en 1 calcul : utiliser des outputs shaders dans votre caméra.
Allez dans votre caméra, mentalRay, outputShader. Cliquez sur create, réglez votre framebuffer type en coverage ou labelID. Cochez filemode, choisissez le format et mettez un prefix. Voilà.
Attention, n’oubliez de mettre un attribut miLabel sur chacun de vos objets pour que ça marche (vive les manipulations pas chiantes…). Si vous n’avez pas le courage de faire tout cela (ce que je comprends), utilisez mon outil “Deex Render Tool“. Vous creez un preset de pass en cochant labelId et coverage, et vous appliquez votre preset. Tout ce fait automatiquement (
).
6) MentalRay n’arrive pas à sortir vos pass en 16bit tiff ( ? ).
7) Dans l’hypershade, si vous avez créez des writeToColorBuffer et que vous faites “delete unused nodes”, Maya efface tout vos writeToColorBuffer, même si ils sont utilisés (ah ah).
Solution : “locker” vos nodes pour pas que Maya les efface.
Pour cela, un script : sélectionnez vos nodes, et lancer le script :
string $selections[] = `ls -sl`; string $selection; for ($currentPas in $selections){ lockNode -lock 1 $currentPas; }
Quand vous mettez 1 dans le script, cela “lock” les nodes, quand vous mettez 0, cela les débloques.
8 ) Les Nparticules instancer (et les particules instancer, à vérifier), les materiaux qui ont de la réfraction et l’accelaration method en bsp2 : c’est simple, ça marche pas. Soit les instances n’apparaissent pas, soit elles ne prennent pas en compte la réfraction.
Solution : ben ne pas utiliser le bsp2 quand on a des particules instancer (de plus il n’y a pas qu’avec la réfraction que ça déconne).
Voilà, j’espère que cela vous à aider un peu. Si vous repérez d’autre “bug” avec des solutions, des astuces, n’hésitez pas.





















