Dossier/Tutorial n°1 Maya 2009 : Les Pass.

Bonsoir,
Maya 2009 va bientôt pointer son nez, je me disais qu’il était intéressant de faire un petit dossier/tutorial sur ces nouveautés.
Tout le monde connaît ces nouveautés, mais comment ça marche ?
Je vais tenté de vous expliquez comment faire des pass sous Maya 2009, le système, le comprendre, etc etc…
Pour cela, je me sert de la doc de Maya 2009 qui est disponible ainsi que de mes souvenirs lorsque j’ai eu l’occasion de « tâter » la pré-release.

1) Souvenir de la 2008:

Sous Maya 2008, il y a plusieurs méthodes pour faire des pass de rendu :

- les renders layers.

- les buffers (tutorial ici)

Les buffers étant la méthode la plus optimisé. Le problème est qu’avec la 2008, elle est très très longue à mettre en place.

De plus, peut de shaders avaient des outputs de rendu.

Mais ceci est fini ! 2009 arrive.

2) Les materiaux compatibles/les pass disponible :

Voici la liste des matériaux qui gèrent les pass de la 2009 (qui d’après moi, on des buffers intégrés, etc etc…) :

  • Anisotropic
  • Blinn
  • Lambert
  • Phong
  • PhongE
  • Env Fog
  • Fluid Shape
  • Light Fog
  • Particle Cloud
  • Volume Fog
  • Volume Shader
  • Hair Tube Shader
  • Ocean Shader
  • Ramp Shader
  • Hair
  • Fur
  • Image Plane
  • Layered Shader
  • Shading Map
  • Surface Shader
  • Use Background
  • mental ray : mi_metallic_paint_x_passes
  • mental ray : mia_material_x_passes
  • mental ray : misss_fast_shader_x_passes shaders

Oui ! Que demander de plus ?

Le mia_x est la, ainsi que le SSS. Ceci est très intéressant…

Mais qu’elles sont les pass qu’on peut sortir ?

  • 2D Motion Vector
  • 3D Motion Vector
  • Ambient
  • Ambient Irradiance
  • Ambient Occlusion
  • Ambient Material Color
  • Beauty
  • Camera Depth / Camera Depth Remapped
  • Coverage
  • Custom Color / Custom Depth / Custom Label / Custom Vector
  • Diffuse
  • Diffuse Without Shadows
  • Diffuse Material Color
  • Direct Irradiance
  • Direct Irradiance Without Shadows
  • Glow Source
  • Incandescence
  • Incidence (Light/Normal) (rim ?)
  • Indirect
  • Light Volume
  • Material Incidence (Camera/Normal)
  • Material Normal (Camera Space / Object Space / World Space)
  • Matte
  • Normalized 2D Motion Vector
  • Object Incidence (Camera/Normal)
  • Object Normal (Camera Space / Object Space / World Space)
  • Object Volume
  • Opacity
  • Raw Shadow
  • Reflection
  • Reflected Material Color
  • Refraction
  • Refraction Material Color
  • Scatter
  • Scene Volume
  • Shadow
  • Specular
  • Specular Without Shadows
  • Translucence
  • Translucence Without Shadows

Ça en fait des choses !

Je pourrais vous détailler chaque pass mais je préférerai le faire avec des images pour une meilleur compréhension.

En tout cas, il y a de quoi s’amuser en Compositing. Bizarrement, ces pass ressemblent à peut près à  celle de Renderman.

3) Pratique : configurer votre renderLayer :

Pour le cas pratique, j’ai pris exemple sur la scène que utilise la doc de Maya 2009.

powered by WordPress Multibox Plugin v1.3.5

On va commencer par créer un renderLayer.

Par rapport à 2008, ceci n’a pas trop changé :

powered by WordPress Multibox Plugin v1.3.5

Il vous suffit de cliquer sur le petit icone qui a une plaque grise + une lumière, puis faire un clique droit et y insérer vos objects (ou sélectionner vos objets dans votre scène et cliquez directement sur l’icone toute à droite).

Ici on mets tout les objets.

Tout ? Pourquoi tout ?

Parce qu’on pourra séparer nos objets par la suite ! (enfaite Maya 2009 isolera un objet dans un buffer tout seul, etc etc…)

Ce que nous voulons, c’est rendre l’évier et le bol séparement, mais en UN calcule.

Pour cela, on va faire appelle au « Pass Contribution Map » de Maya 2009.

Il suffit de sélectionner notre objet (le bol), faire un clique droit sur notre renderLayer, Pass Contribution Maps —-> Create Pass Contribution Map et Add Selected.

On sélectionne l’évier et on fait pareil.

Sur cette image, le bol s’appelle : Bowl et l’évier : Sink.

powered by WordPress Multibox Plugin v1.3.5

Voilà, notre renderLayer est configuré.

4) Pratique : configurer vos options de rendu :

powered by WordPress Multibox Plugin v1.3.5

Comme on peut le voir, les options de rendu ont été réorganisé.

Ce qui nous intéresse est la section : Passes.

powered by WordPress Multibox Plugin v1.3.5

Le managers de Passes se décompose en 3 partie :

- La première, en haut, permet de gérer/créer vos pass.

- Au milieu, cela affiche les Passes associées à votre renderLayer.

- Le dernier montre les pass associées à l’une de vos « pass contribution map », ce qui permet de séparer les objets ou les lumières au rendu (et oui, on pourra controler chaque lumière en temps réel en compositing, donner plus de spec avec une lumière, etc etc…)

On va créer nos Pass de rendu pour notre évier.

Pour cela, il faut cliquer sur le premier bouton à droite (le carré + petit lumière).

powered by WordPress Multibox Plugin v1.3.5

On sélectionne les pass qu’on veut rendre (ici on prend 4 pass).

Vu que se sont les pass pour notre évier, en préfix, on va mettre : Sink (comme le pass contribution map, pour ne pas se perdre).

On fait de même avec le bol.

Au total, on aura 5 pass (4 pour l’évier, 1 pour le bol).

A partir de la, toute vos pass sont dans la première partie, en haut, le Scene Passes.

On va donc associer toute ces pass a notre renderLayer.

Pour cela, tout en étant sur notre renderLayer, on sélectionne tout nos pass précedement créées et on clique sur le petit flêche qui va vers le bas, pour…les glisser vers le bas (et donc les mettres dans Associted Passes).

powered by WordPress Multibox Plugin v1.3.5

A partir de la, si vous cliquez sur rendu, vous aurez 6 images, mais le bol et l’évier ne seront pas séparés.

Les 6 images :

  • l’image « normal », non découpé
  • la diffuse de votre image qui s’appellera BowlDiffuse.iff
  • la diffuse de votre image sans les shadows qui s’appellera SinkDiffuseNoShadow.iff
  • etc etc..

Bon, c’est déjà bien, comme vous pouvez le voir, on à sortie nos pass en quelques cliques. Ce qui nous prenez des minutes et minutes sous la 2008.

Sauf que nous on veut allez plus loin, et utiliser le pass contribution map pour séparer nos objects. Et la commence la révolution.

Pour cela, dans Associated Passes, selectionner les passes correpondants à votre évier. Puis, dans Associated Pass Contribution Map (dessous), sélectionnez votre Pass Contribution Map (que vous avez créez sur votre renderLayer. Ici on va prendre le Sink, pour notre évier donc).

Puis on clique sur la petite flêche pour faire descendre nos pass dans le Passes Used by Contribution Map

On fait de même pour le bol (bowl).

Voilà, vous avait des pass associés à chaque object.

On fait un rendu et on a donc toujours 6 images, mais la on à tout séparé par object !

powered by WordPress Multibox Plugin v1.3.5

powered by WordPress Multibox Plugin v1.3.5

powered by WordPress Multibox Plugin v1.3.5

powered by WordPress Multibox Plugin v1.3.5

powered by WordPress Multibox Plugin v1.3.5

powered by WordPress Multibox Plugin v1.3.5

Magique, en UN calcul, vous pouvez sortir ce que vous voulez (merci les buffers, merci Autodesk qui a enfin automatisé cela).

Et voilà, vous êtes près à utiliser les pass de la 2009…

5) Optimisation (oui, encore) :

Optimisation, optimisation, oui, on va encore optimiser.

Si on a plein d’object, on risque de ce retrouver avec plein de pass…Et la, c’est pas très pratique.

Pour cela, il existe un outil : les Pass Set.

Le Pass Set permet de grouper vos pass, donc, avoir une meilleur organisation.

Rappellez vous, lorsque vous créez vos pass :

powered by WordPress Multibox Plugin v1.3.5

Sélectionnez vos pass, mettez un prefix si vous voulez (pour reconnaitre vos images calculés), puis, cochez : Create Pass Set.

Appellez votre Pass Set comme vous voulez (ici Illumination. On aurait plus mettre SinkIllumination).

powered by WordPress Multibox Plugin v1.3.5

Et voila, c’est pas mieux ?

A noter que si vous voulez gérer votre Set (groupe de passes), il suffit d’aller dans le Relationship Editor, de vous mettre sur Render Pass Set. A partir de la, vous pourrez vois vos sets ainsi que les pass qui y sont associées.

powered by WordPress Multibox Plugin v1.3.5

FIN

J’espère que vous avez aimé cette article. J’essayerais d’en faire d’autre sur la 2009.

Si vous avez des questions, n’hésitez pas.

Share on TumblrShare via email

Comments

Sho

tip top ce tut comme toujours ;)

admin

Merci

abdelkader

merci pour ce tuto, puis je avoir ton autorisation pour le traduire en arabe pur un site maya(arabe)

admin

Bien sur que tu peux, par contre il est évident que tu dois citer la source ;)

abdelkader

elementaire mon cher bigboss!!

abdelkader

peut tu m’envoyer a mon mail la scene,ou un lien .,impossible de la trouver avec la doc ni meme sur le net.Merci

nurb

pas mal la traduction du tuto de l’aide maya…
mais en testant, y a des trucs qui ne fonctionnent pas (genre on delete layer, contribution map reste ; on disable une contribution map, mais elle est quand même calculé…).
Si vous connaissez un site avec des tricks sur ce qui fonctionne (et fonctionne pas) dans maya …

admin

Je ne pense pas qu’un site qui référence ce qui marche ou marche pas dans Maya existe. Le seul qui fait ça c’est le site d’Autodesk, la ou on peut remonter les bug pour qu’ils sortent les fix.
Mais la il faut payé l’assistance avec la licence, être un membre gold, etc etc…
Ceci est totalement logique. Certains bugs différent d’après les machines utilisées.
Et comme tout le monde le sait, le plus gros bug et l’utilisateur de la machine ;) .

Great site.

trés bien les contributionMap !
comment t’y prends tu pour les pass custom color sans que cela ne modifie (dans le même layer) tes autres pass par ex: ambiant , ou normal ?perso j’ai eu des problèmes par exemples avec ma normal pass alors que j’avais ajouté une pass de customColor via un node mrmiscellaneous/writeToColorBuffer , en fait il modifie mon ambiantPass et ma normalPass , je m’y suis surement mal pris ceci dit …
en tout cas bien ton site! trés sympa le partage d’informations …

JM

admin

Normalement, il ne devrait pas modifier les autres Pass, c’est un buffer. Il serait intéressant de poster une mini scène ou tu vois que ça bug afin d’y voir plus clair ;)

jean marc

http://www.4shared.com/file/88960672/bc7df896/writeToColorBuffer_test.html
voilà une petite scene ou on voit qu’il ne faut pas connecter le writeToColorBuffer n’importe comment. par exemple faites varier la couleur du surfaceShader qui y est connecté dans le layer (lay_surfaceShader_write) et vous verrez que la passe beauty est maodifiée – je n’ai pas réussi a reproduire mon probleme sur les normalPass …

admin

T’as scène marche, c’est juste que j’ai oublié de signaler un truc ;) .
Dans ton surfaceShader rouge, déplies la partie MentalRay, puis en bas, tu auras : Frame Buffer Contribution. Le write operation est sur Add de base, mets le sur No Operation. Ça devrait être bon normalement. Dis moi ;)

jean marc

Je ne sais pas si tu as le temps de jeter un oeil:
http://www.4shared.com/file/90525060/53c0c39/writeToColorBuffer_test_ambiant.html
j’ai toujours une contribution malgré le ‘no operation’
et bien que je plugg dans l’ambiant une texture, il y a un truc que j’ai pas pigé …en plus la contrib finale ne ressemble pas (à part dans la passe customColor) à ce que j’ai mis …. ça rajoute donc une valeur globale qui n’a rien du noise… bizarre …
et comme toujours avec Maya c’est trés mal documenté, il y a bien cet exemple mais il est tellement basique que bon … par exemple dés que tu veux faire un truc avec des transparences ça marche plus du tout, soit tu ne peux pas avoir de transparences du tout comme avec les ‘normal pass’ soit tu te retrouves avec un alpha en sortie qui ne correspond pas à celui des maps en entrée ….
bon, on s’en fout, il reste les renderLayer … et il commence à faire un peu beau dehors … ;-)

jean marc

en fait ça marche … ;-)
il suffit de passer aussi le ‘evaluation mode’ du trigger en ‘pass through only’
‘setAttr writeToColorBuffer3.evaluationMode 1;’
ça lui permet de passer au travers ….

admin

Si je mets en pass through only, je n’ai plus la customPass !
J’ai ouvert un sujet sur Cgtalk avec une petite scène de teste. Regarde la, tu verras qu’en « pass through only », on a plus de pass customColor.
Regarde ici : http://forums.cgsociety.org/showthread.php?f=87&t=737408

admin

Yeah, bon, comme t’as pu le voir sur Cgtalk, la solution étant donc de mettre le shader « buffer » en « no operation », et mettre le scale factor du shader « principal » a 0.5.
Merci à Rachid pour la solution ! ;)

jean marc

c’est bien cool tout ça! on verra à l’usage…
merci en tout cas!

JM

jean marc

Je ne sais pas si c’est normal ou un bug mais si tu fais un deleteUnusedNodes dans ton Hypershade ça detruit les writeToColorBuffer même si utilisés dans la scene… à moins que je ne m’y prenne comme un manche ….héhé

admin

C’est juste un bug normal pour Autodesk =)

jean marc

;-)

bien jouer Deex! Mais comment fessions nous sans rendu par pass avant?! :P

admin

Les renderLayers !

Titizar

Je viens d’essayer les render pass, mais je comprends pas pourquoi mes images n’ont pas d’alpha. J’ai pourtant vérifier les potars standard, normalement c’est bon, mais j’ai toujours pas d’alpha. Il doit surement y avoir un truc à cocher que je connais pas. Deuxième interogation, comment faire pour modifier les paramètres d’une pass, comme par exemple le fallof de l’occlusion ou encore une zdepth qui n’a pas assez de profonfeur?

admin

Salut,
1) Pour avoir l’alpha d’une pass, il faut que tu lui dises dans ces paramètres. Pour cela, doubles clique sur ta pass, et tu auras ces paramètres. Tu mets 4 channels pour avoir 4 cannaux (RGBA). Tu auras donc ton alpha dans ta pass.
2) Pareil pour le Z. Tu doubles clique dessus. Tu as un paramètre : « Remap value » (un truc comme ça). Tu le coches. La tu régles ton near et ton far. Attention, petite astuce : pour avoir un « bon » Z, en valeur max buffer, tu mets 100 à la place de 1. La tu auras un beau Z avec un beau dégradé.
3) Pour l’occlusion, l’occlusion de base en pass est nul. Pour cela, je te conseil de prendre mon outil (deex render tool) et de créer une « custom pass » d’occlusion.
A partir de la, tu auras un mib_ambienOcclusion avec tout les paramètre de control. =)

Titizar

Merci pour les conseilles, je vais tester ça de suite.

RedSolos

Bonjour, :) c’est encore moi :) , j ai une question sur les pass de maya 2009 , est t’il possible d’avoir un seul et même fichier .exr avec toute les passes calculé au lieu d’avoir 500 fichiers différents ? je sais je suis un noob ;) , merci d’avance ^^ (Ps: vous risquez de me voir souvent :) )

admin

Normalement, si dans le : File name prefix (la ou tu mets le nom de tes images) tu ne mets pas : , alors automatiquement, Maya mettra toute les pass dans un seul fichier exr.

Bon ben super ! Plus qu’à tester ça sur ma dernière scène sur maya 2009 :D , Merci beaucoup cela va faire gagner du temps !!!

Post you comment here





Contact Information

BATAILLE Damien

Phone : + 33 6 84 17 36 78

Mail: [email protected]

URL: http://deex.info/

Deex

Le blog de Damien BATAILLE