In diesem Tutorial sehen wir, wie man die Render Passes unserer Renderings in einer EXR-Datei speichert und diese Dateien anschließend öffnet und im Compositing bearbeitet.
Die Videoversion dieses Tutorials ist derzeit in dieser Sprache nicht verfügbar, steht jedoch in englischer Sprache zur Verfügung und kann oben auf der Seite ausgewählt werden.
Videotranskript
Hallo zusammen! In diesem Tutorial sehen wir, wie man die Render Passes unserer Renderings in einer EXR-Datei speichert und diese Dateien anschließend öffnet und im Compositing bearbeitet.
In diesem Beispiel sehen wir insbesondere, wie man die Maske eines Objekts aus einem gerenderten Bild über den Informationskanal IndexOB abruft, um einige seiner Eigenschaften im Compositing zu verändern.
Das Tutorial wurde mit Blender 3.6 erstellt, aber die beschriebenen Funktionen sind mindestens seit Version 2.49 verfügbar.
Gut, legen wir los! Sehen wir uns an, wie man die Render Passes unserer Szene in einer EXR-Datei speichert.
Ich habe ein Blender-Projekt geöffnet, in dem sich mehrere Objekte befinden, die bereit zum Rendern sind.

Ich stelle den Ausgabedateityp für das Rendering im Output-Tab des Properties Editor auf OpenEXR Multilayer ein. Achte darauf, die Multilayer-Variante dieses Dateiformats auszuwählen.

Bevor ich das Rendering der Szene starte, muss ich im Bereich Passes des View Layer-Tabs im Properties Editor die Render Passes auswählen, die ich in der Datei speichern möchte.

In meinem Fall wähle ich nur Object Index, weil ich bestimmte Objekte anhand einer numerischen Kennung isolieren möchte, die ich ihnen gleich zuweise.
Im Render Layers-Node erscheint dann das Feld IndexOB, so wird der Object Index Pass hier bezeichnet. Beachte, dass es nicht notwendig ist, diese Information in irgendeiner Weise mit dem Composite-Node zu verbinden.

Nun vergebe ich unterschiedliche numerische Indizes für einige Objekte in der Szene, zum Beispiel für den Schreibtisch, den Stuhl oder die Fensterscheiben. Die numerischen Indizes werden für jedes ausgewählte Objekt im Pass Index-Tab im Abschnitt Relations im Object-Tab des Properties Editor festgelegt.

Jetzt kann ich das Rendering der Szene starten. Sobald das Rendering abgeschlossen ist, speichere ich es auf der Festplatte in einer Datei mit der Endung EXR.

Der erste Teil der Arbeit ist erledigt: Ich habe den gewünschten Informationskanal in der EXR-Datei gespeichert!
Ab hier kannst du meine Schritte mit der im kostenlosen Paket enthaltenen EXR-Datei nachvollziehen!
Öffnen wir nun ein neues Blender-Projekt, um zu sehen, wie man das Erscheinungsbild eines Elements aus dem im File gespeicherten Render verändert.
Öffnen wir zunächst ein Compositing Nodes-Fenster und aktivieren die Verwendung von Nodes.

Löschen wir den Render Layer-Node und fügen stattdessen einen Input Image-Node hinzu.
Fügen wir außerdem einen Viewer-Node und einen Reroute-Node hinzu und verbinden sie so, dass der Image-Ausgang des Image-Node zum Reroute geht und von dort sowohl zum Composite- als auch zum Viewer-Node.
Auf diese Weise können wir in diesem Fenster eine Vorschau unserer Arbeit sehen.

Im Image-Node laden wir natürlich das EXR-Bild, das wir im ersten Teil dieses Tutorials gespeichert haben. Alternativ können wir die EXR-Datei auch per Drag-and-Drop direkt von der Festplatte in das Compositing-Fenster ziehen.

Verbinden wir den Combined-Ausgang des Image-Node mit dem Reroute-Node.
Wenn die Backdrop-Option aktiv ist, siehst du das Bild als Hintergrund des Fensters. Drücke die Taste V, um diese Vorschau zu verkleinern, oder die Tastenkombination ALT + V, um sie zu vergrößern.

Wenn wir die EXR-Datei per Drag-and-Drop in den Compositor Editor ziehen, sehen wir IndexOB und andere Kanäle im Node.
Das passiert nicht, wenn wir die EXR-Datei über einen Image-Node öffnen.
In diesem Fall stellen wir im Transform-Panel des Image-Node unter Node - Properties - Composite diesen Menüeintrag auf View Layer um.
Danach erscheint ein zweites Menü, in dem wir auch IndexOB auswählen können, was zeigt, dass die Information geladen wurde, aber im Compositing-Fenster noch nicht zugänglich ist.

Öffnen wir einen Image Editor.
Im Image Editor laden wir das EXR-Bild, das wir in das Projekt importiert haben.

Die in der EXR-Datei gespeicherten Felder sollten nun im Image-Node im Compositing-Fenster erscheinen. Frag mich nicht warum, aber es scheint, dass das Bild im Image Editor geöffnet werden muss, damit seine Komponenten im Compositing verfügbar werden.

Perfekt: Auf diese Weise haben wir die im OpenEXR Multilayer-File gespeicherten Informationen abgerufen, darunter in unserem Fall das Feld IndexOB. Im ersten Teil des Tutorials habe ich einigen Objekten numerische Werte in den Pass Index-Feldern zugewiesen. Um diese abzurufen, verbinden wir einen Converter ID Mask-Node zwischen dem IndexOB-Ausgang des Image-Node und dem Reroute-Node.

Anschließend passen wir den Wert im Feld Index an, bis wir den Schreibtisch identifizieren, der in der Backdrop-Vorschau weiß angezeigt wird, während der Rest des Bildes schwarz wird.

Wir können dann eine Maske für einige Objekte extrahieren, um sie direkt im gerenderten Bild zu verändern. Versuchen wir zum Beispiel, einen Color Balance-Node auf den Schreibtisch anzuwenden.
Um nur die ursprünglichen Farben des Schreibtischs zu erhalten, multiplizieren wir den Mask-Ausgang des ID Mask mit dem Combined-Ausgang des Image-Node.
Das lässt sich mit einem Color Mix-Node im Modus Multiply umsetzen, wobei Combined mit dem ersten Image-Eingang von Mix und der Ausgang des ID Mask mit dem zweiten Image-Eingang von Mix verbunden wird.

Anschließend können wir den Ausgang von Multiply mit einem Color Balance-Node oder einem anderen Farbkorrektur-Node oder Effekt-Node verbinden, je nach Bedarf.

Um die Bearbeitung im vollständigen Bild zu sehen, fügen wir außerdem einen Color Alpha Over-Node in die Szene ein.
Verbinden wir dann Combined mit dem ersten Image-Eingang dieses neuen Alpha Over-Node und den Ausgang des Color Balance-Node mit dem zweiten Image-Eingang.
Verbinden wir anschließend den Image-Ausgang des Alpha Over-Node mit dem Reroute-Node.

Der Alpha Over-Node funktioniert noch nicht korrekt, weil sein Factor für das gesamte Bild auf 1 gesetzt ist, was bedeutet, dass nur der zweite Image-Eingang verwendet wird, also das Ergebnis des Color Balance.
Um die Überlagerung des zweiten Bildes nur auf den Schreibtisch zu beschränken, benötigen wir eine Maske, die überall schwarz ist, außer in den Bereichen des Schreibtischs.
Diese wird als Factor für den Alpha Over-Node verwendet...
… und genau diese Maske erhalten wir vom ID Mask!

Stellen wir diese Verbindung her und betrachten das Ergebnis, wobei wir den Color Balance-Node oder andere Postproduktions-Nodes je nach Bedarf weiter anpassen können.

Wir können die durch den Color Balance-Node eingeführten Unterschiede beurteilen, indem wir ihn auswählen und wiederholt die Taste M drücken, die als Shortcut für Mute dient, um den Node ein- oder auszuschalten.
Mit weiteren ID Mask-Nodes, die mit unterschiedlichen Werten im Feld Index eingestellt sind, können wir andere Bildelemente isolieren und mit weiteren Node-Setups bearbeiten.
In diesem Beispiel habe ich vor dem Rendering und dem Speichern in der OpenEXR Multilayer-Datei nur den Object Index aktiviert, aber natürlich kannst du auch andere Passes speichern, um unterschiedliche Effekte zu erzielen.
Ich hoffe, dieses Tutorial war hilfreich! Bis bald!