Inhaltsverzeichnis
Die ShuffleLayers Node
Die ShuffleLayers Node ist eine praktische Hilfe fürs Multi-Pass-Compositing. Wenn ihr Render Passes aus eurem Rendering shufflen wollt, übernimmt sie für euch den gesamten Aufbau im Node Graph. Ihr müsst damit nicht mehr händisch Shuffle Nodes und Merge Nodes erzeugen und verbinden. Wie ihr die Node verwendet und welche Einstellungsmöglichkeiten es gibt, erfahrt ihr in diesem Beitrag. Am Ende der Seite gibt es auch noch ein Erklärvideo.
Hier ist eine Vorschau von einem Node Tree, der mit der ShuffleLayers Node erzeugt wurde:
Die ShuffleLayers Node findet ihr in der Toolbar links in der Kategorie HdM. Ihr könnt sie wie jede andere Node auch über die Tab-Taste aufrufen.
Es wird ebenfalls ein LayerContactSheet erzeugt und im Viewer angezeigt. Das soll euch einen besseren Überblick über alle vorhandenen Render Layer geben.
In der ShuffleLayers Node gibt es die Tabs Shuffle, Color und Info.
Shuffle Tab
Hier gibt es einen Button und eine Checkbox. Die Checkbox ist standardmäßig angewählt und fügt eine Unpremult und eine Premult Node zum Node Tree hinzu (wofür brauche ich die?).
Der Button ist der wichtigste Teil der Node. Klickt auf „get Layers“ und es öffnet sich ein Pop-up-Fenster. Hier werden alle Layer aufgelistet, wie sie euer Bild an dieser Stelle im Nuke Skript beinhaltet. Ihr trefft die Entscheidung, welche Layer ihr in Shuffle Nodes separieren lassen wollt. Mit den zwei Buttons „select all“ und „deselect all“ könnt ihr mit einem Klick alle Layer an- oder abwählen. Ansonsten hakt ihr die Layer über die Checkboxes links vom Namen einzeln an oder ab. Ein paar Abschnitte weiter gibt es Hilfe zur Auswahl der Layer.
Rechts vom Namen ist ein leeres Textfeld, in das ihr bei Bedarf eine Anmerkung zum Layer schreiben könnt. Die Anmerkung wird als StickyNote neben die Shuffle Node in den Node Tree eingebaut. Wenn beispielsweise der Lighting Pass Light_03 das Licht einer Taschenlampe darstellt, wäre eine sinnvolle Anmerkung „Taschenlampe“.
Mit einem Klick auf „OK“ schließt ihr die Auswahl ab und es baut sich der Node Tree auf. Für jeden ausgewählten Layer wird eine Shuffle Node erstellt. Weil der Aufbau dem Top-Down-Workflow folgt, wird jede Shuffle Node einmal mit einer Merge(from) Node abgezogen und danach mit einer Merge(plus) Node wieder addiert. Die Inputpipes der Shuffle Nodes wurden ausgeblendet, um den Node Tree übersichtlicher zu halten. Sie kommen alle vom Dot oben links und somit vom Beauty Rendering.
Die Freifläche zwischen Shuffle Node und Merge(plus) Node in jedem Strang ist der Ort, an dem ihr mit weiteren Nodes eure Anpassungen an den einzelnen Layern vornehmt.
Durch die Subtraktionen, Additionen und allem, was dazwischen mit dem Bild passiert, wird der Alphakanal meistens unbeabsichtigt in Mitleidenschaft gezogen. Deshalb steht am Ende des Node Trees eine Copy Node. Sie ersetzt den an dieser Stelle vorliegenden Alphakanal mit dem ursprünglichen Alphakanal des Renderings.
Color Tab
Zugegebenermaßen ist diese Funktion eher ein Gimmick als eine Notwendigkeit. Immerhin macht sie den Node Tree nicht funktionaler oder technisch besser. Aber liebt nicht jeder Comp Artist einen ästhetisch aussehenden Node Tree?
Ihr könnt hier über die Farbe der Shuffle Nodes entscheiden. Das müsst ihr jedoch einstellen, bevor ihr den Node Tree erzeugen lasst.
Folgende Farbschemata stehen zur Auswahl: shufflelayers_farben_uebersicht.png
- default lässt die Farbe der Shuffle Nodes so, wie sie von Nuke standardmäßig erzeugt werden. Wenn ihr am Farbschema nichts ändert, ist default eingestellt.
- mit unicolor wählt ihr eine Farbe aus, die für alle Shuffle Nodes übernommen wird.
- greyscale erzeugt einen Graustufenverlauf über alle Shuffle Nodes hinweg, von links (schwarz) nach rechts (weiß).
- solid colors färbt alle Shuffle Nodes regenbogenartig.
- und pastel colors gibt euch den Regenbogen in Pastellfarben.
Info Tab
Hier findet ihr einen Button, der den Browser öffnet und euch zu genau dieser Seite im DokuWiki führt.
Außerdem steht hier die Versionsnummer der Node.
Welche Layer muss ich auswählen?
Je nachdem welche Layer gerendert wurden, gibt es verschiedene Kombinationen, um sie zum Beauty Composite zusammenzufügen. Es macht aber Sinn, z.B. nach Shading aufzuteilen (also Diffuse, Specular, Emission und Transmission Pass) oder alle Lighting Passes zu shufflen. Hilfreich ist es auch, die Dokumentation der verwendeten Render Engine zu googlen. Dort finden sich Informationen über die Render Layer, ihre Bezeichnungen und die Zusammensetzung zum Beauty.
Arnold Dokumentation
VRay Dokumentation
Redshift Dokumentation
Blender Dokumentation
Hier noch ein paar Grundregeln (Wright (2017, S.182):
- ein Render Pass der Licht repräsentiert, wird addiert (z.B. Diffuse, Specular, Emission, Transmission, Refraction, und alle Lighting Passes)
- ein Render Pass der andere Licht- oder Farbinformation darstellt, wird multipliziert (z.B. Albedo, Ambient Occlusion)
- Data Passes werden nicht benutzt, weil sie nicht bildgebend sind (Depth Pass, Motion UV Pass, Normals Pass, Position Pass, Cryptomattes, …)
Ich möchte dem noch hinzufügen, dass ihr bestimmte Bildinhalte nicht doppelt abziehen solltet. Wenn es beispielsweise den Render Layer Diffuse gibt, aber auch Diffuse_direct und Diffuse_indirect, dann dürft ihr nicht alle drei verwenden. Der Diffuse Pass ist bereits die Summe aus Diffuse_direct und Diffuse_indirect. Es ist ein Entweder-oder, je nachdem wie viel Kontrolle ihr über das Rendering haben möchtet. Wenn ihr euch unsicher über den Inhalt eines Render Passes seid, dann fragt bei dem 3D Artist, von dem ihr das Rendering bekommen habt, nach oder schaut in die Dokumentation der Render Engine.
Brauche ich Unpremult und Premult Nodes?
Die kurze Antwort lautet: Ja.
Wenn man die Werte in den RGB-Kanälen eines Bildes mit seinem Alphakanal multipliziert, nennt man das Premultiplikation (Lanier, 2012, S. 98). Das ist die Funktion der Premult Node. Analog dazu dividiert die Unpremult Node die RGB-Kanäle durch den Alphakanal.
Das Rendering ist premultiplied, wenn es aus der Render Engine in Nuke importiert wird.
Beim Compositing gibt es zwei wichtige Regeln zu beachten: Farbkorrekturen und Farbraumtransformationen müssen unpremultiplied angewendet werden. Räumliche Transformationen und Filteroperationen (z.B. Blur, Denoise, Glow, ..) müssen premultiplied angewendet werden. Wenn während der Arbeit an eurem Rendering unschöne Artefakte an den Kanten entstehen, habt ihr wahrscheinlich diesen Grundsatz nicht befolgt (Wright, 2017, S. 146).
Der Multi-Pass-Workflow dient im Compositing vor allem dazu, das Rendering besser in die Szene zu integrieren, indem Farben und Intensitäten von Lichtern, Texturen und Reflexionen angepasst werden. Wie eben beschrieben muss das Bild für Farbkorrekturen unpremultiplied sein. Hingegen ist es eher unwahrscheinlich, dass man einzelne Render Layer transformieren oder filtern würde. Deshalb steht am Anfang des Node Trees eine Unpremult Node, und am Ende eine Premult Node.
Falls ihr aus irgendwelchen Gründen die Unpremult und Premult Nodes nicht in eurem Node Tree haben wollt, könnt ihr die Option add Unpremult/Premult bracket im Shuffle Tab deaktivieren.
Über den Aufbau des Node Trees
Die Logik hinter der Node folgt dem sogenannten Top-Down-Workflow (Wright, 2017, S.180-184). Ausgehend vom Beauty Rendering werden die Render Passes erst vom Beauty subtrahiert und im nächsten Schritt wieder addiert. Dazwischen ist dann Platz für Anpassungen der einzelnen Layer.
Vorteil von diesem Ansatz: Ihr müsst nicht alle Render Passes shufflen, wenn ihr das nicht benötigt. Egal wie viele der Passes ihr shufflen lasst, am Ende des Node Trees habt ihr immer das vollständige Beauty. Denn jeder Layer der subtrahiert wird, wird auch wieder addiert. Mit dem Bottom-Up-Workflow hingegen würdet ihr von einem leeren Bild ausgehend aus allen Passes das vollständige Bild zusammenbauen müssen.
Erklärvideo
Quellen
Lanier, L. (2012). Digital Compositing with Nuke. Routledge.
Wright, S. (2017). Digital Compositing for Film and Video: Production Workflows and Techniques (4. Aufl.). Routledge.