Seite 1 von 1

Multipassrendering in Maya

Verfasst: 03.01.2007, 15:55
von Sascha
Simon bat mich vor kurzem meine Erfahrungen zum Thema Multipassrendering zum besten zu geben. Somit folgt nun ein Tutorial welches sich hauptsächlich auf einen Artikel aus einer Digital Production Ausgabe stützt. Viel Spaß

Multipassrendering in Maya

Multipassrendering hat den Zweck, besonders in der Filmproduktion, die einzelnen Bildelemente herrauszurendern um später in der Postproduktion möglichst flexibel das Bild verändern zu können ohne jedes Mal die scene neu rendern zu müssen.

Passtypes:

-Beauty Pass/ Diffuse- oder Color-Pass
-SHADOW, SPECULAR UND REFLECTION PASS
-DEPTH, AMBIENT OCCLUSION UND GLOW PASS
-RIM LIGHT UND WEITERE PASSES


Beauty Pass:

Der BP enthält ausschließlich Farbwerte des Bildes jedoch KEINE Schatten, Reflexionen etc.
Es ist generell sehr sinnvoll seine Szene in Vordergrund und Hintergrundobjekt aufzuteilen und auch diese einzeln herrauszurendern.

BP aufsetzen:

Selektiert eure Vodergrundobjekte und blendet die Hintergrundobjekte aus.
Über den Attribute Editor sollte zunächst in allen Shadern der Input für die Reflexionen getrennt werden, damit diese nicht innerhalb des Beauty Passes sichtbar sind. Klickt hierfür mit der rechten Maustaste auf das Attribut „Reflectivity“ und wählt die Option „Break Connection“. Setzt anschließend den Wert auf 0. Ihr könnt alternativ auch in den Mental Ray Globals den Wert für „Max. Reflection Rays“ auf 0 setzen.
In den Lichtquellen müssen die Optionen „Emit Specular“ und der Schattenwurf deaktiviert werden.
Rendern...
Die gerenderte Szene speichern inklusive Alpha-Kanal und eindeutig benennen. Danach die oben erwähnten Schritte ebenfalls für alle Objekte des Hintergrunds ausführen. (nicht vergessen den Vordergrund auszublenden)

Wenn man nun in PS die beiden Renderings übereinander legt merkt man das das Bild sehr flach wirkt und die Vordergrundobjekte sich nicht richtig auf dem Hintergrund integrieren.
Daher -> SHADOW, SPECULAR UND REFLECTION PASS



SHADOW, SPECULAR UND REFLECTION PASS

Ich glaube der Name des Passes ist selbsterklärend.

Um den Shadow Pass einzurichten, laden wir zunächst die Ursprungsszene. Der Geometrie wird nun ein „Use Background“-Shader zugewiesen. Im Rendering verbirgt sich die Schatteninformation im Alpha-Kanal, welcher sich im Compositing als Maske benutzen lässt, um die Schattenregionen abzudunkeln.
Rendern...

Wiederholt den Schritt für die Hintergrundobjekte, blendet in diesem Fall jedoch die Vordergrundgeometrie nicht aus, sondern setzt im „Attribute Spread Sheet“ die Werte für „Receive Shadows“ und „Primary Visibility“ auf off. So wird die Vordegrundgeometrie nicht mit gerendert, wirft jedoch Schatten auf seine Umgebung.
Rendern...

Im Specular oder Highlight Pass werden nur die Highlights gerendert, die auf den Materialien auftauchen. Deaktiviert hierzu in allen Lichtern der Szene die Option „Emit Diffuse“.
Rendern...
Der Specular Pass wird im Compositing mithilfe des Transfer-Modus „Screen“ über den Beauty Pass gelegt. Auf diese Weise kann auch noch in der Post die Intensität von Highlights gesteuert werden. Zudem lässt sich der Pass auch ein weiteres Mal leicht geblurrt über die Komposition legen: Auf diese Weise erzielt man einen schönen Halo-Effekt um die Highlights herum.

Im Reflection Pass werden nur die Reflexionen innerhalb einer Szene gerendert. Falls die Reflektionen nur schemenhaft und geblurrt zu sehen sein sollen, hat man hier zum Beispiel die Möglichkeit, die Anti-Aliasing-Einstellungen herabzusetzen und somit Renderzeit zu sparen. Ein guter Effekt lässt sich auch erzielen, wenn man die Intensität des Blurs der Reflexionen mit zunehmender Entfernung zum Objekt in der Post verstärkt.
Wenn sich nun zum Beispiel die Umgebung im Vordergrundobjekt spiegeln soll erstellen wir einen Phong Shader und weisen ihn über den Hypershade jenen Objekt zu. In den Attributeinstellungen muss die Farbe auf schwarz und die Reflectivity auf den Wert 1 gesetzt werden. Für alle anderen Objekte deaktivieren wir über das Attribute Spread Sheet die „Primary Visibility“.
Rendern...

DEPTH, AMBIENT OCCLUSION UND GLOW PASS

Tiefenunschärfe trägt viel zur Glaubwürdigkeit und Stimmung eines Bildes bei. In unserem Fall werden wir den Fokuspunkt natürlich auf das Vordergrundobjekt legen und den Hintergrund blurren. Man kann die Depth of Field zwar sicherlich auch direkt auf das Bild rendern, verliert aber somit Flexibilität. Sinnvoller ist es, einen separaten Depth Pass zu berechnen und die Tiefenunschärfe in der Post mit Hilfe eines Filters umzusetzen. Beim Depth Channel (oder Z-Kanal) handelt es sich um ein Bild, in dem die Tiefeninformation in Graustufen abgespeichert wird. In diesem Fall werden wir den Z-Kanal mit Hilfe eines speziellen Depth Shaders rendern.

Da Maya meines Wissens nach keinen passenden Shader mitliefert empfehle ich euch den von highend3d runter zu laden (http://highend3d.com/maya/downloads/sha ... -3501.html ).

Selektiert via „Edit – Select All by Type – Geometry“ die komplette Geometrie der Szene und weist ihr den Depth Shader zu.
In den „Extra Attributes“ des Shaders legen wir noch manuell die Tiefe der Szene fest. Diesen Wert findet ihr am einfachsten heraus, indem ihr die entsprechende Kamera auswählt. Passt euch die Clipping Planes der Szenengröße an, so dass sich die Geometrie innerhalb des gerenderten Bereichs befindet.
Rendern...

Der Ambient Occlusion Pass simuliert prinzipiell eine indirekte Lichtverteilung des ambienten Lichts, so dass sich sehr schöne Schattierungen erzielen lassen. Um den Pass zu berechnen, müsst ihr zunächst das „Dirtmap“-Plug-In herunterladen und installieren. (http://animus.brinkster.net)

Fortan findet ihr im Hypershade bei den Mental Ray Nodes unter dem Reiter „Miscellaneous“ die Dirtmap Node. Diese Node verknüpfen wir mit der Out Color eines Surface Shaders.
Im Attribute Editor bestimmt ihr folgende Werte, da diese von Szene zu Szene variieren solltet ihr ein wenig rumprobieren (folgende Werte haben sich bei mir praktikabel erwiesen):
Base Color: Weiß,
Probe Geom: aktiviert,
Ray Spread: 88 (der Wert bestimmt die Ausbreitung des Schattens in den Ecken eines Objekts),
Ray Min Count: 32,
Ray Max Count: 32,
Near Clip Plane: siehe Kamera attr.,
Far Clip Plane: siehe Kamera attr..
Die Plane-Werte wurden den Kameraeinstellungen beim Einrichten des Depth Pass entnommen und variieren natürlich von Szene zu Szene.
Rendern...

Wir kommen nun zum Glow Pass. Da es sich beim Glow-Effekt sowieso um einen Post-Effekt handelt, hat es Sinn, diesen nicht in Maya selbst auf die finalen Bilder zu rendern, sondern dafür auch einen separaten Pass einzurichten. Weist hierzu allen Objekten – außer denen, auf die ein Glow-Effekt angewendet werden soll – einen schwarzen Surface Shader zu.
Weist den Shadern der Glow-Objekte ebenfalls Surface Shader zu und gebt diesen die gewünschte Farbe des Glows.
Der Glow Pass lässt sich im Compositing nach Belieben blurren und mittels des Transfermodus „Screen“ auf das finale Bild rechnen.
Rendern...


Compositing

Glow Pass, Transfermodus: Screen
Reflection Pass, Transfermodus: Screen
Ambient Occlusion Pass, Transfermodus: Multiply
Specular Pass, Transfermodus: Screen
Beauty Pass: Transfermodus: Normal.
Der Alpha-Kanal des Shadow Pass wird dazu benutzt, über einen Brightness Operator die Schattenregionen der jeweiligen Unterkomposition abzudunkeln. Die gesamte Komposition erhält mithilfe des Depth Channels Tiefenunschärfe. Über die Intensität der Opacity der einzelnen Layer könnt ihr nun schließlich die einzelnen Bildelemente sehr gezielt manipulieren.

Verfasst: 04.01.2007, 11:49
von Simon
Wow Sascha, ich habs mir noch nicht durchgelesen aber vielen Dank schonmal für die ganze Mühe!

Verfasst: 05.02.2007, 04:44
von Squirrelsquid
respekt! hab nur mal ein bischen rein gelesen, aber auf jeden fall wichtige materie!

Verfasst: 19.02.2007, 16:15
von Simon
Hab mir das mal mit dem SchattenKanal angeschaut. Hier ist das Stichwort dazu in der Maya Hilfe:

"Catch shadows for an alpha channel"

Wer kommt schon darauf dass sowas Shadow Catching heißt :)

Verfasst: 09.03.2007, 02:26
von Katy
...ohne Worte....danke!!