Blender Dokumentation: Composite-Nodes
Diese Seite bezieht sich auf Blender v2.42 |
Ohne Zweifel ist "Compositing" [to compose - zusammensetzen] eines der wichtigsten aktuellen Themen in der 3D Graphik und erlaubt die Nachbearbeitung bereits gerenderter Bilder. Ein typisches 3D Bild kann aus vielen verschiedenen einzelnen Ebenen bestehen, wobei auf jede Ebene ein besonderer Filter oder ein besonderer Effekt angewandt wird - alle dieses Ebenen werden dann zum Schluss zu einem Bild zusammengesetzt. Werden diese Ebenen (zum Teil) vorgerendert, kann man sehr schnell an der endgültigen Zusammenstellung arbeiten.
Bei den einzelnen Nodes [Knoten] handelt es sich um eine «kleine Funktionseinheit», mit denen jeweils eine bestimmte Aufgabe abgearbeitet wird. Aus der Verknüpfung der einzelnen Nodes zu einer Kette ergibt sich dann das errechnete Endergebnis. Die Funktionen der einzelnen Nodes arbeiten in vielen Fällen analog wie «Filtereffekte» in Gimp oder Ps.
Der Compositor ist mit der Render Pipeline eng verbunden, deshalb ist der Compositor auch Teil einer Szene - d.h. es gibt auch nur einen Compositor per Szene. Allerdings kann jede Datei eine unbegrenzte Anzahl von Szenen besitzen.
Die Composite Nodes sind nach bestimmten Inhalten geordnet.
- Input - Anfang der Node Map durch Eingaben wie Render Layers, Bilder, Texturen oder Werte.
- Output - Ausgabe der Resultate z.B. als kleine Vorschaubilder.
- Color - Zuständig für die Bearbeitung von Farben.
- Vector - Ändert die Intensität oder Reflexionen eines Bildes.
- Filter - Bildverzerrende Filter.
- Convertor - Filter für Farbkanäle / Alphakanal bzw. das Umrechnen in andere Farbräume.
- Matte - Erzeugt Masken, um bestimmte Bereiche eines Bildes freizustellen. (Green- Bluescreening)
- Distort - Transformiert, verzerrt Bilder
- Group - Erstellen von benutzerdefinierte Node Gruppen.
Compositing kann auch ohne 3D Objekte nur mit vorgerenderten Bildern arbeiten, die von der Festplatte gelesen werden (auch Videos).
Einführendes Beispiel
[Bearbeiten]Die Funktion «Composite Nodes» aktivieren
[Bearbeiten]- Splitten Sie zunächst das 3D Fenster zweimal wie in Abbildung 2 gezeigt, und wechseln Sie die Fenstertypen. Links öffnen Sie ein Node Editor Fenster, rechts oben ein UV / Image Editor Fenster.
- Folgende Schritte sind notwendig, um Compositing zu benutzen:
- Klicken Sie im Fensterheader des Node Editor Fenster das Icon mit dem Gesicht (Composite Nodes), um von den Material Nodes zu den Composite Nodes zu wechseln.
- Klicken Sie auf Use Nodes. Es wird ein Standard Setup mit drei Nodes eingefügt. Die Nodes werden beim Bearbeiten in Echtzeit neu berechnet.
- Zum Schluss stellen Sie Do Composite auf dem Anim Panel in den Render Buttons (F10) an. Damit weisen Sie den Renderer an, das Nodesetup in die Berechnung einzubeziehen.
- Im UV/Image Editor wird der Node Compositor dargestellt. Falls im Nodesetup vorhanden können Sie auch auf den Node Viewer umstellen (siehe Unterabschnitt Bildausgabe).
- Drücken Sie nun F12, das Ergebnis sollte Abbildung 2 ähneln.
Bildausgabe
[Bearbeiten]Wenn Sie mit Compositing arbeiten, haben Sie zwei Output Nodes zur Auswahl.
- Der Composite Node bestimmt die Bildausgabe, also das Renderergebnis. Typischerweise benutzen Sie nur einen Composite Node in dem Node Tree, wenn mehrere Composite Nodes vorhanden sind, ist nur der zuerst eingefügte aktiv.
- Viewer Nodes ermöglichen die Vorschau auf ein Zwischenergebnis an einem beliebigen Punkt des Nodesetups, je nachdem, wo der Node angedockt ist. Sie können so viele Viewer Nodes einfügen wie Sie wollen. Durch LMT wird der Viewer Node zum aktiven Node.
- Im Fensterheader des UV/Image Editor Fensters wählen Sie die Anzeige zwischen Composite Node und Viewer Node mit dem Pfeilbutton aus (Abb.4 links neben IM:Compositor).
Der aktive Node ist immer durch eine blaue Titelleiste gekennzeichnet (Abbildung 3).
Im UV/Image Editor Fenster gibt es drei zusätzliche Optionen im Fensterheader:
- Die Anzeige von Bildern mit / ohne Alpha Kanal [Transparenz]
- Nur den Alpha Kanal
- Den Z Wert (die Entfernung von der Kamera) anzuzeigen.
Hält man die linke Maustaste über dem Bild gedrückt, kann man sich die entsprechenden Werte anzeigen lassen. Die Anzeige des Z Wertes ist nur dann möglich, wenn der Viewer Node auch einen Z Input hat (Abbildung 4) und auf dem Render Layers Panel im Abschnitt Passes Z aktiviert ist (Render Layer).
Intern benutzt der Compositor Gleitkommazahlen, also eine Farbtiefe von 4x32 Bit, normale 24 (3x8) oder 32 (4x8) Bit Bilder werden vor dem Compositing in die höhere Farbtiefe konvertiert. Werden Bilder gespeichert (z.B. Vorschauen aus einem Viewer Node), wird das Format aus dem Format Panel in den Render Buttons benutzt. Nur OpenEXR und Radiance Bilder können den gesamten Farbumfang speichern. DPX und Cineon Format reduzieren die Farbtiefe auf 16 or 10 Bit pro Komponente, mit einem Umfang von 0.0-1.0. Alle anderen Formate speichern in regulärem 24 oder 32 Bit Format.
Sockets und Links [Schnittstellen und Verbindungen]
[Bearbeiten]Ein- und Ausgabe Schnittstellen [Sockets] gibt es in drei Typen:
- RGBA (4 Kanäle) in gelb. Wenn ein Bild oder das Ergebnis eines Nodes nur RGB Kanäle hat, wird der Alphawert auf 1.0 gesetzt.
- Vektor (3 Kanäle) in Blau.
- Wert (1 Kanal) in Grau.
Da Schnittstellen entweder vollständige Bilder oder einen (konstanten oder variablen) Wert enthalten können, muss Blender entscheiden, wie mit diesen verschiedenen Eingabewerten in verbundenen Nodes umgegangen wird.
- Sind alle Eingaben Bilder, wird die Operation mit den Bildern durchgeführt - jeweils Pixel für Pixel.
- Sind alle Eingaben in einen Node Werte, wird die Operation des Nodes mit den Werten durchgeführt.
- Ist eine Eingabe ein Bild, und die andere ein Wert, wird zunächst versucht die Bildgröße zu bestimmen, und dann die Operation mit dem Wert an jedem Pixel durchgeführt.
Viele Nodes haben eine Fac Eingabeschnittstelle, diese bestimmt die Stärke des jeweiligen Effektes. Fac bestimmt, wie stark eine Operation mit dem zweiten Input Wert durchgeführt wird, dabei bedeutet "0.0" keine Operation. Fac Eingaben können auf drei Arten benutzt werden:
- Als Konstante, von Hand eingestellt.
- Ein (variabler oder konstanter) Wert, der von einem anderen Node geliefert wird (z.B. von einem Time Node).
- Mit einem Bild, wobei die Operation dann per Pixel durchgeführt wird.
Man kann nicht nur Schnittstellen gleichen Typs miteinander verbinden. Verbindet man unterschiedliche Schnittstellentypen, werden folgende Konvertierungen vorgenommen:
- Vektor -> Wert: Mittelwertbildung mit (X+Y+Z)/3.0.
- Farbe -> Wert: Schwarz-Weiß Mittelwertbildung mit (0.35*R + 0.45*G + 0.2*B).
- Wert -> Farbe oder Vektor: der Wert wird in jeden einzelnen Kanal kopiert.
- Farbe -> Vektor: die RGB Werte werden in die XYZ Werte kopiert.
- Vector -> Farbe: die XYZ Werte werden in RGB Werte kopiert, Alpha auf 1.0 gesetzt.
Diese Konvertierungen werden von fast allen Nodes vorgenommen, es gibt allerdings noch Ausnahmen. Der Vector-Blur Node benötigt bspw. noch die passenden Eingabewerte.
Bildgröße
[Bearbeiten]Sie können im Compositor Bilder verschiedener Größen benutzen. Die entsprechenden Operationen werden dann nur an den Stellen durchgeführt, an denen sich die Bilder überlappen. Der Mix Node mischt allerdings mit Schwarz.
Das oberste Bild bestimmt die Ausgabegröße. Die Bilder werden zentriert, um ein Bild zu verschieben können Sie einen Translate Node benutzen (unter Convertors).
Jeder Node kann also mit unterschiedlich großen Bildern arbeiten, so wie sie durch ihre Eingaben bestimmt werden. Nur der Composite Node hat eine feste Größe, die durch die Szene Buttons festgelegt wird. Die Viewer Nodes zeigen immer die Größe ihrer Eingabe. Wenn sie nicht - oder mit einem Wert - verlinkt sind, zeigen Sie ein kleines 320x256 Pixel großes Bild. Es gibt noch keinen Skalierungs- oder Beschneidungs-Node.
Tips zum Arbeiten mit Nodes
[Bearbeiten]- Benutzen Sie ein Preview Panel um die Berechnung des Composites auf einen Bereich zu beschränken. Gehen Sie mit der Maus in den UV/Image Editor und drücken Shift-P um ein Preview Panel zu öffnen. Sie können das Panel mit der Maus bewegen und skalieren (Wussten Sie eigentlich schon, dass Preview Panel ab Version 2.42 auch im 3D Fenster funktionieren?).
- Mit Esc stoppen Sie die Berechnung des Composites, allerdings wird der aktuelle Node immer noch zu Ende berechnet.
- Stellen Sie Use Nodes aus, damit der Composite nicht während des Bearbeitens der Nodes ständig neu berechnet wird. Beim Rendern wird der Composite dann aber auf jeden Fall berechnet (sofern Sie Do Composite auf dem Anim Panel aktiviert haben).
- Benützen Sie die Save Buffers Option auf dem Output Panel in den Render Buttons. Wenn Sie mehrere Renderlayer benützen, werden diese Layer automatisch im OpenEXR Format gespeichert. Sie können die gespeicherten Layer mit R im Node Editor Fenster wieder in die Render Result Nodes laden, z.B. wenn Sie Blender zwischendurch geschlossen und neugestartet haben.
Links
[Bearbeiten]pre Releaselogs zu den Composite Nodes
vorläufige Releasenotes zu den Composite Nodes
Z-Buffer
DOF (Tiefenschärfe)