Blender Dokumentation: Material Nodes Anwendungsbeispiele

Das in Abb. 2 dargestellte Nodesetup bildet ein Material nach, wie es auch mit den normalen Materialeinstellungen erzielt werden könnte. Allerdings funktionieren die Materialnodes noch nicht völlig unabhängig von den Materialeinstellungen. So kann eine Textur nur im Zusammenhang mit einem bereits bestehenden Material angelegt werden und alle Einstellungen für Spec, die über die Farbwahl hinausgehen, müssen weiterhin im Panel Shaders vorgenommen werden. Der Mapping Node hingegen verfügt über Einstellungen, die im Panel Map Input nicht vorhanden sind.

  • Geometry: Am Beginn der Kette steht die Anweisung, die ORCO Koordinaten der Kugel zu verwenden. Dies entspricht den Einstellungen auf dem Map Input Panel.
  • Die Texturkoordinaten werden mit einem Mapping Node anpasst(unter Vector Ops).
  • Texture: Hier wird die Textur aufgerufen, die auf die Kugel gemappt wird.
  • Material: Diese Informationen werden in den Col-Eingang des Materialnodes eingespeist.
  • RGB: Dieser Node erzeugt einen Farbwert, der hier für den Specwert verwendet wird. Alle weiteren Spec-Einstellungen erfolgen im Panel Shaders.
  • Das Ergebnis wird an den Ausgabenode übergeben und dargestellt.
Abbildung 2: Beispiel für ein Nodematerial


Texturen und Ramp Shader (Material Stencil)

Bearbeiten

Im bisherigen Materialsystem war es nicht möglich, ein Material mit einem Ramp Shader durch eine teilweise transparente Textur zu überlagern, die nicht vom Ramp Shader beeinflusst wurde. Dieses Beispiel dient insbesondere auch der Demonstration des Material "Stenciling".

 
Abbildung 6: Ausahl eines Node Tree ohne Benutzer (N0, das ist eine Null, kein O.)
  • Wenn Sie unser Beispiel von bisher weiter verfolgen wollen, löschen Sie den Würfel und ersetzen ihn durch eine UV-Sphere, die Sie etwas glätten sollten (Set Smooth). Wählen Sie auf dem Links and Pipeline Panel das Material mit dem N vor dem Namen aus, dies deutet an, dass es sich dabei um einen Node Tree handelt (Abbildung 6).
  • Erzeugen oder importieren Sie ein Material mit einem Ramp Shader, zum Beispiel "BestCarPaintRampMat" aus Sonix Car Material Library.
  • Wählen Sie den linken Material Node aus Abbildung 5 aus (RMT). Ersetzen Sie das Material MA:MatNode durch das importierte Material. Dazu wählen Sie es auf dem Links and Pipeline Panel unter Active Material Node aus.
 
Abbildung 7: Teiltransparente Textur.
  • Laden Sie in dem anderen Material eine teiltransparente Textur, z.B. die aus Abbildung 7. Stellen Sie den Map Input auf Sphere und SizeX/Y/Z auf 10.0. Aktivieren Sie für die Image-Textur Use Alpha. Benennen Sie den Material Node in "Textur" um. Wenn Sie nun rendern, können Sie zwei Dinge beobachten:
    1. Die Image Textur wird mit dem Ramp Shader Material gemischt.
    2. Das Material mit dem Rampshader wird mit dem grauen Standardmaterial von Blender gemischt an den Stellen, wo die Textur den Alphawert von 0 hat.

Der Fac-Wert muss so gesteuert werden, dass er den Wert 1 hat an den Stellen, die nur die Image Textur zeigen sollen, und 0 an den Stellen, die nur die Ramp Shader Textur zeigen sollen.

Wir könnten einen Textur Node als Eingabe für Fac benutzen, wenn wir nicht den Map Input auf Sphere gestellt hätten, da sich eine solche Geometrie mit den bisherigen Nodes noch nicht direkt abbilden lässt.

Stattdessen setzen wir einen dritten Material Node als Stencil ein.

  • Duplizieren Sie den Material Node mit der Textur (Shift-D). Damit stellen wir sicher, dass alle Gemoetriedaten gleich sind.
 
Abbildung 8: Erzeugen eines Single User Material Nodes.
  • Klicken Sie auf die kleine "2" neben dem Namen des Material Nodes, um eine Single User Kopie zu erzeugen (Abbildung 8). Benennen Sie den Material Node in Stencil um.
  • Verbinden Sie den Alpha Output des Stencil Nodes mit dem Fac Input des Mix Nodes.
  • Stellen Sie auf dem Map To Panel des Stencil Nodes Col aus, Alpha invertiert (in gelb) und DVar auf 0. Das entspricht genau unserem gesuchten Mapping (Abbildung 9).
 
Abbildung 9: 2 Material Nodes plus Stencil Node.
 
Abbildung 10: Ein Material mit Ramp Shader, überlagert von einem Material mit Textur. Die Textur wird nicht von dem Ramp Shader beeinflusst.

Das Ergebnis (Abbildung 10) ist nicht sonderlich spektakulär, aber Ihnen fallen bestimmt schnell viele Anwendungsbereiche ein. Von dieser Technik gibt es viele Variationsmöglichkeiten, einige davon wären:

  • Man mappt mit UV Koordinaten, dann kann man den Stencil Effekt direkt mit einer Textur erreichen.
  • Man könnte die Materialien nicht per Stencil kombinieren, sondern sie wechselseitig über eine Textur transparent machen.

Die gezeigte Lösung mit einem Stencil Material ist aber die allgemeinste und flexibelste.