Der Node-Editor
Inhalte dieser Seite
- Allgemein
- Der Node-Editor
- Navigation im Node-Editor
- Node-Editor Kopfzeile
- Der Navigator
- Der Infobereich
- Die Eingangs- und Ausgangsgruppenbereiche
- Andere Node-Editor-Bestandteile
- Besonderheiten des Szenen-Node-Editor
- Die Modi des Node-Editors
- Mit Nodes arbeiten
Der Node-Editor hat verschiedene Modi – je nachdem, welche Node-Typen verwendet werden – die sich automatisch umschalten. Aktivieren Sie z.B. den Szenen-Manager, wird in den Szenen-Modus (s.a. Szenen-Nodes-Einführung) umgeschaltet. Aktivieren Sie ein Node-Material, in den Material-Modus. Sie werden im folgenden Text hier und da Hinweise darauf finden, dass diese oder jene Funktion nur in bestimmten Modi funktioniert.
Allgemeines
Für den Node-Editor (Modus "Material") gilt:
Der Node-Editor ist die zentrale Instanz beim Erstellen und Bearbeiten von Material-Nodes (im Folgenden einfach "Nodes" genannt). All das, was Sie in der Node-Ansicht sehen, muss mit einem Node-Material (beachten Sie diesen Hinweis) verknüpft sein, d.h. um Nodes erzeugen und bearbeiten zu können, muss ein Node-Material selektiert sein. Der Node-Editor zeigt stets das aktuell selektierte Node-Material an.
Es sei zu Beginn darauf hingewiesen, dass Nodes eine nicht ganz unkomplizierte Materie sind und in ihrer ganzen Breite nur mit einem guten Maß an Wissen über Shading- und Rendertechnik allgemein genutzt werden können. Allerdings sind viele Dinge auch ziemlich simpel, indem Sie z.B. eines der vorgefertigten Materialien, wie z.B. das Übermaterial verwenden, das Sie fast so einfach wie ein herkömmliches Material bedienen können (und trotzdem z.B. einen einzigen Bild-Node in diversen Materialkanälen verwenden).
Der allgemeine Datenfluss ist immer von links nach rechts. Ganz rechts mündet alles immer im Material-Node (ohne Material-Node kein funktionierendes Material; pro Material immer nur 1 Material-Node).
Den Node-Editor öffnen sie z.B.:
- durch Doppelklick auf das Node-Material.
- durch Klick auf den Button Node-Editor eines Node-Materials (Tab "Basis").
Für den Node-Editor (Modus "Szene") gilt:
Der Inhalt des Node-Editors ist nicht einem speziellen Element zugeordnet (wie z.B. der Material-Node-Editor einem Node-Material), sondern ist in der Szene selbst eingebettet. Deshalb muss der letzte, ausgebende Node mit seinem Ausgang "Op Ausgabe" immer mit dem Szene-Node verbunden werden, sonst wird keine Geometrie erzeugt.
Beachten Sie, dass der Szenen-Node-Editor derzeit nur für Fortgeschrittene gedacht ist und in seiner ganzen Breite nur mit einem guten Maß an 3D-Wissen und technischem Verstand genutzt werden kann. Für eine kleine Einführung siehe Szenen-Nodes-Einführung.
Den Szenen-Node-Editor öffnen Sie durch Aufruf des Befehls "Neuer Node-Editor" (Im Hauptmenü unter "Fenster").
Beachten Sie auch einige spezielle Funktionalitäten des Szenen-Node-Editor, die hier weiter unten auf der Seite beschrieben sind.
Wie schon seinerzeit bei den Node-Materialien wurde auch der Szenen-Editor mit vielen zusätzlichen, spezifischen Nodes ausgestattet. Viele Nodes (wie z.B. die Mathe-Nodes) funktionieren sowohl im Material-Node-Editor, als auch dem Szenen-Node-Editor. Sie finden die meisten Nodes beschrieben unter Die einzelnen Assets.
Für die Darstellung vom Szenen-Node-Editor generierte Geometrie gibt es in den Projekt-Voreinstellungen einige spezielle Ansichtseinstellungen (s. Nodes).
Für den Node-Editor (Modus "Kapsel") gilt:
Dieser Modus ist noch etwas spezieller als die vorhergehenden beiden Modi, denn er wird automatisch aktiviert, wenn ein Node aus der Gruppe der Assetkonstruktion-Nodes z. B. in den Objekt-Manager gezogen oder dort ausgewählt wird. Diese Nodes bilden die Grundlage für die Erstellung von Asset-Kapseln, mit denen Sie z. B. eigene Objekte, Selektionsmethoden, Deformatoren oder Modellierbefehle mit Nodes erstellen und u. a. direkt im Objekt-Manager mit klassischen Objekten kombinieren können. Da diese Nodes wie eine Gruppe funktionieren, stellt der Node-Editor automatisch den Inhalt des ausgewählten Assetkonstruktion-Nodes dar. Wurde jedoch bereits eine Konvertierung zu einem Asset durchgeführt, wird der Kapsel-Modus zwar aktiviert, aber der Inhalt des Assets kann nicht länger direkt im Node-Editor angezeigt werden. Dazu muss das Asset z. B. erst wieder zu einer Gruppe umgewandelt werden.
Der Inhalt des Node-Editors ist nicht einem speziellen Element zugeordnet (wie z.B. der Material-Node-Editor einem Node-Material), sondern ist in der Szene selbst eingebettet. Deshalb muss der letzte, ausgebende Node mit seinem Ausgang "Op Ausgabe" immer mit dem Szene-Node verbunden werden, sonst wird keine Geometrie erzeugt.
Die Node-Ansicht
Navigation:
Sie können in der Node-Ansicht wie vom Editor und anderen Managern gewohnt, mit folgenden Hotkeys navigieren (s.a. Befehle im Menü "Ansicht"):
- Verschieben: Eine der folgende Tasten drücken und Maus ziehen: MMT, 1 + LMT, Alt + MMT oder im Navigator Klicken und ziehen. Ist in den Programmvoreinstellungen Touchscreen (Tab "Eingabegeräte") aktiviert, funktioniert zusätzlich: Mausrad hoch/runter (vertikales Verschieben) und Shift + Mausrad (horizontales Verschieben)
- Zoomen: Eine der folgende Tasten drücken und Maus ziehen: Alt + RMT, 2 + LMT, Mausrollrad (ist Touchscreen aktiviert: Ctrl + Mausrollrad)
- Alles bzw. selektierte anzeigen: H bzw. S.
Falls Sie den Navigator-Bereich unten rechts im Node-Editor eingeblendet haben (dieser kann u. a. über "Navigator anzeigen" im "Ansicht"-Menü eingeblendet werden), kann auch dieser für die Navigation verwendet werden. Klicken Sie dazu einfach an die Stelle innerhalb des Navigators, die im Node-Editor zentriert angezeigt werden soll.
Der Node-Editor selbst bietet eine ähnliche Vereinfachung der Node-Darstellung beim Auszoomen aus einer Schaltung an. Dabei werden die Details der Nodes und auch deren Beschriftungen kontinuierlich reduziert und schließlich bei starker Verkleinerung auch ganz ausgeblendet. So lässt sich auch bei verkleinerten Schaltungen noch gut erkennen, welche Nodes verwendet wurden und wie diese miteinander verbunden sind. Die folgende Bildfolge zeigt diesen Effekt.
Nodes erzeugen
Sie können z.B. folgendermaßen Nodes erzeugen (durch Drag&Drop, Doppelklick etc.):
-
grundsätzlich aus dem Asset Browser:
- Ziehen Sie einen Node aus dem Asset-Browser in den Node-Editor.
- Klicken Sie auf den Button Nodes hinzufügen oder
- Doppelklicken Sie auf eine leere Stelle im Node-Editor (Alternative: Taste C), wobei sich jeweils die Asset-Liste des Asset Browser öffnet. - Ziehen Sie einen Node auf einen Eingangs-Port eines bereits vorhandenen Nodes (Ports werden direkt verbunden) oder auf eine Verbindung (funktioniert nur mit passenden Nodes, diese werden dann in die Verbindung eingefügt). Es gilt: wenn Sie dabei einen Node auf einen Eingangsport ziehen und die Maustaste loslassen, öffnet sich bei mehreren möglichen Ausgangs-Ports ein kleines Menü, wo Sie den zu verbindenden Ausgangsport des ersten Nodes auswählen können.
- Im Attribute-Manager finden Sie für annähernd alle Eingänge ein Verbindungs-Icon: . Ein Klick darauf öffnet ein Kontextmenü. Mit Verbinde Node erhalten Sie eine Liste aller Nodes. Wählen Sie einen davon aus, wird der Node erzeugt und gleichzeitig mit dem Eingang verbunden. Gleiches kann mit einem Rechtsklick auf einen Eingangs-Port gemacht werden.
- Nicht unerwähnt sollen an dieser Stelle Bitmaps bleiben. Wenn Sie Bitmap-Dateien von außerhalb Cinema 4D direkt in die Node-Ansicht (oder sogar auf Ports!) ziehen, werden Bild-Nodes mit passend verknüpfter Bitmap erzeugt.
Beachten Sie, dass nicht alle Ausgangs-Ports mit allen Eingangs-Ports verbunden werden können. Zwar werden viele Datentypen automatisch konvertiert, allerdings gibt es hierfür Grenzen (so kann z.B. im Material-Node- Editor kein ShadingContext- mit einem BooleDatentyp verbunden werden). Cinema 4D zeigt Ihnen dann an, ob die Verbindung möglich ist: solange Sie über dem zu verbindenden zweiten Port schweben, wird die potentielle Verbindung entweder hell (möglich) oder dunkel/gepunktet (unmöglich) dargestellt.
Nodes verschieben
Nodes können jederzeit mit der Maus angefasst und verschoben werden. Mehrere selektierte Nodes werden als ganzes verschoben. Nähern Sie sich dabei den Rändern der Node-Ansicht, beginnt die Node-Ansicht zu scrollen.
Nodes verbinden
Damit Daten von einem Node zum nächsten fließen können, müssen diese verbunden werden: Dazu können Node-Ausgänge (rechte Node-Seite) des einen Nodes mit Node-Eingängen (linke Node-Seite) eines anderen Nodes verknüpft werden. Dazu:
- klicken Sie einmal auf den Ausgangsport und einmal auf den Eingangs-Port (oder umgekehrt). Das ist sehr praktisch bei weit auseinander liegenden Nodes.
- ziehen Sie mit gedrückter Maustaste vom ersten zu verbinden Port zum zweiten und lassen die Maustaste los.
- in beiden Fällen können Sie das Verbindungsende auch mitten im Node "fallen" lassen: es öffnet sich dann eine Liste mit allen Eingangs- bzw. Ausgangs-Ports, von denen Sie dann den richtigen auswählen (lassen Sie die Verbindung ins Leere fallen, können bei Gruppen Ein- und Ausgänge/Ports herausgeführt werden).
Es gilt dabei:
- Solange Sie sich im Verbindungsmodus (erster zu verbindender Port angeklickt) befinden, kann dieser mit Esc abgebrochen werden.
- Bestehende Verbindungen können am Port oder der Verbindung selbst mit gedrückter Shift-Taste auf andere Ports (selbst anderer Nodes) "umgebogen" werden.
Verbindungen können zudem automatisch aktualisiert werden, wenn ein Node auf eine bereits bestehende Verbindungslinie gezogen wird. Sobald die Verbindungslinie etwas heller und verdickt dargestellt wird, kann der Node "losgelassen" werden und die ursprüngliche Verbindung teilt sich. Vorausetzung für das Gelingen einer solchen, automatischen Verknüpfung ist die Kompatibilität des in der Verbindung transportierten Datentyps mit den verfügbaren Ein- oder Ausgängen des gezogenen Ports. Zum Datentyp der Verbindungsline kompatible Ein- und Ausgänge des gezogenen Nodes werden dann automatisch verbunden, wie das folgende Beispiel zeigt.
Verbindungen optimieren
Beim Verbinden von Ports kann es vorkommen, dass sich Verbindungslinien schneiden oder durch andere Nodes laufen. Dies kann die Lesbarkeit einer Schaltung negativ beeinflussen. Wir können Verbindungen daher auch über einen Umleitungspunkt laufen lassen. Der Vorteil ist auf den folgenden Bildern zu erkennen.
Um die Lesbarkeit und Übersichtlichkeit der Schaltung zu verbessern, können Verbindungslinien zusätzlich unterteilt werden. Ähnlich wie beim Hinzufügen eines neuen Punkts an einem liniearen Spline kann dadurch der Verlauf der Verbinsungsline individuell verändert werden. Führen Sie dazu einfach einen Ctrl-Linksklick auf die Verbindungslinie aus, die Sie im Verlauf verändern möchten. Auf diese Weise können beliebig viele Umleitungspunkte entlang einer Verbindungslinie erstellt werden. Nicht länger benötigte Umleitungspunkte können durch Anklicken und Betätigen der Entf.-Taste gelöscht werden, ohne die Verbindungslinie zu entfernen.
Ein Umleitungspunkt kann direkt mit der Maus gegriffen und verschoben werden. Der Verlauf der Verbindungsline kann dadurch beliebig verändert werden. Für noch komplexere Verläufe lassen sich weitere Umleitungspunkte auf der gleichen Verbindungslinie ergänzen.
Diese Option macht vor allem horizontal verlaufende Schaltungen übersichtlicher, wie die kommenden Bilder zeigen.
Die Umleitungspunkte können nicht nur zum Formen der Verbindungslinien verwendet werden, sondern stellen selbst auch die Daten zur Verfügung, die über die Verbindungslinie übertragen werden. Sie können daher auch als Verzweigungspunkte einer Verbindung genutzt werden, wie das folgende Beispiel zeigt.
Wenn der Mauszeiger in die Nähe eines Umleitungspunkts bewegt wird, werden an diesem zwei Portpunkte eingeblendet, von denen mit gehaltener linker Maustate eine neue Verbindung herausgezogen werden kann.
Durch Verknüpfung der Ports an einem Umleitungspunkt mit anderen Node-Eingängen kann der Umleitungspunkt wie ein Ausgangsport verwendet werden.
Bereits vorhandene Umleitungspunkte lassen sich zudem per Ctrl Drag&Drop duplizieren und dann auch außerhalb einer bestehenden Verbindungslinie im Node-Editor platzieren. Wird dann von einem solchen unabhängigen Umleitungspunkt eine Verbindungslinie zu einem Eingangsport gezogen, kann der freistehende Umleitungspunkt wie ein Wert-Node verwendet werden. Sie können den Umleitungspunkt dann also durch Anklicken selektieren und über den Attribute-Manager einen Wert eintragen, der dann an die verbundenen Nodes weitergeleitet werden soll.
Auch diese Funktion kann sehr hilfreich sein, um Ordnung in einer Schaltung zu schaffen, denn Umleitungspunkte verfügen auch über "Basis"-Einstellungen im Attribute-Manager, worüber z. B. ein Kommentar zu einem verwendeten Wert hinterlegt oder die Darstellungsfarbe eines Umleitungspunkts zur Hervorhebung verändert werden kann.
Nodes selektieren
Sie können Nodes durch Rechteckselektion (einfach ein Rechteck im Node-Editor beginnend im leeren Raum aufziehen) oder Anklicken selektieren. Es arbeiten wie immer die Tasten Shift (zur Selektion hinzunehmen) und Ctrl (von der Selektion ausnehmen). Im Menü "Bearbeiten" finden Sie noch einige Selektionsbefehle mehr (wie z.B. "Verbundene selektieren).
Selektierte Nodes zeigen ihre Einstellungen im Attribute-Manager und dem Infobereich an. Dies gilt ebenfalls für Umleitungspunkte.
Nodes löschen
Selektierte Node können durch die Rückschritt- bzw. Entf.-Taste gelöscht werden. Dies funktionert auch mit Umleitungspunkten.
Node-Editor Kopfzeile
Sie finden ganz oben in der Node-Ansicht folgende Elemente (von links nach rechts):
- Nodes hinzufügen: Durch einen Klick auf das Plus-Symbol öffnen Sie die Asset-Liste des Asset Browsers. Durch einen Doppelklick in den Node-Editor lässt sich ebenfalls ein Asset-Browser direkt am Mauszeiger öffnen.
- Node-Pfad: Neben dem Lesenzeichen-Icon wird der Hierarchiebaum angezeigt, der aktuell im Node-Editor zu sehen ist. Der Begriff "Szenen-Nodes" steht dabei für die oberste Ebene. Wenn Sie gerade an Material-Nodes arbeiten lesen Sie dort stattdessen den Namen des Materials. Im Kapsel-Modus des Node-Editors ist hier der Name des angezeigten Assetkonstruktion-Nodes zu lesen.
Wenn Sie Nodes in Gruppen zusammenfassen und dann eine dieser Gruppen öffnen, navigieren Sie damit eine Hierarchieebene tiefer. Entsprechend wird der Node-Pfad nun durch den Namen der geöffneten Node-Gruppe erweitert angezeigt. Durch einen Klick auf den entsprechenden Teil des Node-Pfads können Sie sich dann auch wieder auf höher liegende Hierarchieebene navigieren. Das Prinzip entspricht somit dem Pfad, den Sie auch im Objekt-Manager anzeigen und zum Navigieren in Hierarchien nutzen können. Das Lesenzeichen-Icon kann auch direkt angeklickt werden und öffnet dann ein Eingabefeld für einen Suchpfad. Wenn Sie sich in einer komplexeren Hierarchie befinden, also z. B. Gruppen-Nodes in Gruppen-Nodes verwenden, können Sie hier den Namen eines in der Hierarchie höher liegenden Nodes angeben, um dorthin zu springen. In den meisten Fällen wird jedoch das Anklicken der entsprechenden Komponente im angezeigten Pfad einfacher sein. - Hervorheben: Geben Sie hier eine Zeichenfolge an, die auf die gerade angezeigten Nodes wirkt. Nodes, deren Namen diese Zeichenfolge enthält, werden visuell herausgestellt, indem andere halbtransparent dargestellt werden. Eine praktische Sache, um bestimmte Nodes unter Dutzenden schnell zu finden.
Der Navigator
Sie finden den Navigator rechts unten in der Node-Ansicht. Er ist ein verkleinertes Abbild der gesamten, aktuellen Node-Konstellation und dient der Orientierung und schnellen Navigation in komplexen Node-Schaltungen. Das hellgraue Rechteck zeigt den sichtbaren Ausschnitt der Node-Ansicht. Sie können diesen Ausschnitt verschieben, indem Sie in den Navigator klicken und mit gedrückter Maustaste ziehen. So ist schnelle Navigation in andere Bereiche möglich.
Durch einfaches Klicken in den Navigator wird der entsprechende Bereich im Node-Editor zentriert angezeigt.
Es werden folgende Nodes besonders angezeigt:
- Eingefärbte Nodes (Tab "Basis") werden mit identischer Farbe angezeigt.
- Selektierte Nodes sind ebenfalls selektiert.
- Gruppen-Nodes werden mit einer Diagonalen versehen.
Die Eingangs- und Ausgangsgruppenbereiche
Sie finden links ("Eingang") und rechts ("Ausgang") in der Node-Ansicht 2 dunkle Streifen (sofern schon nach außen führende Ports erzeugt wurden). Sie können Verbindungen/Ports herausführen, indem Sie eine neue Verbindung in einem leeren Bereich der Node-Ansicht fallen lassen.
Das macht bei einzelnen Nodes wenig Sinn, aber wenn Sie z.B. Gruppen ineinander verschachteln, können Sie hiermit einen Port erzeugen, der als Gruppenport (wie unten in der Abbildung rechts) angezeigt wird. D.h. Sie können selbst bei einer Gruppe in einer Gruppe einen bestimmten Node-Port auf unterster Ebene von außen füttern (oder auch als Ausgang nach außen führen).
Beim Fallenlassen einer Verbindung im leeren Raum öffnet sich ein kleines Menü (s. Abbildung links unten) mit folgenden Einträgen:
- Neuen Eingang hinzufügen, runder Port: hier kann die Verbindung gelöscht werden, ohne dass der Eingang gelöscht wird. Ein Eingang kann von innen neu verbunden werden.
- Port herausführen, quadratischer Port: löschen Sie hier die Verbindung, wird auch der Port gelöscht. Ports vererben auch ihre Eigenschaften nach außen, was derzeit aber kaum genutzt wird.
- Nodes-Liste: wählen Sie hier einen Node aus, um dessen Eingang mit dem akt. Eingas-Port zu verbinden.
Teile der eben beschriebenen Funktionalität (Eingänge erzeugen) sind auch per Port-Kontextmenü mittels Befehl machbar.
Allgemeines zu Nodes
Der zentrale Bestandteil eines Node-Systems ist – logischerweise – der Node. Ein Node hat Eingänge, in die Daten von anderen Nodes fließen, die vom Node dann spezifisch verarbeitet werden und als Ergebnisse an seinen Ausgängen wieder herausfließen. Ein- und Ausgänge haben Ports, über die Verbindungen zu anderen Nodes geknüpft werden können. Es gilt grundsätzlich: Ein Eingangsport kann nur eine Verbindung haben, ein Ausgangsport dagegen beliebig viele.
Nodes können am linken und rechten Rad angefasst und verbreitert bzw. schmaler gezogen werden.
Ein Node gliedert sich in einen Ober- und Unterbereich:
Oberbereich
Über dem Node befindet sich der Node-Name. Sollten Sie den Node im Tab "Basis" umbenannt haben, wird sowohl Ihr individueller Name, als auch der ursprüngliche Name eingeblendet. Letzteres, damit Sie immer wissen, um welchen spezifischen Node es sich handelt. Unter diesem Namen finden Sie ihn dann auch in der Hilfe. Der weiß gefärbte Name kann auch durch Doppelklick geändert werden.
Im Node-Oberbereich befindet sich – bei Nodes, wo es sinnvoll ist – ganz oben die ständig aktualisierte Node-Vorschau, d.h. wenn sich die Einstellungen fütternder Nodes ändern, wird diese Vorschau ebenfalls aktualisiert. Sie können die Vorschau mit dem kleinen Icon (2. von links) ein- und ausblenden (dafür gibt es auch Befehle s.o.).
Unter der Vorschau befindet sich links der Solo-Modus-Schalter (s. Solo), sofern der Node Vorschauen unterstützt, was z.B. bei Szenen-Nodes nicht der Fall ist. Rechts daneben das oben schon erwähnte Vorschau-Icon.
Auf das 3. Icon – dieses ist nur bei Gruppen-Nodes sichtbar – in Form eines Ordners kann geklickt werden, um den Gruppeninhalt in der Node-Ansicht anzuzeigen (ein Doppelklick auf den Node macht das gleiche).
Mit dem Anzeigemodus-Icon ganz rechts können die verschiedenen Port-Anzeigemodi durchgewechselt werden, wie es auch die 3 Portbefehle machen.
Unter der Icon-Reihe befindet sich ein Farbbalken, dessen Farbe mit Farbe (Tab "Basis") frei definiert werden kann. Sie können dann bestimmte Nodes leichter wiederfinden. Voreinstellungsgemäß sind manche Bode-Typen schon mit einer Farbe versehen, die aber jederzeit geändert werden kann.
Unterbereich
Im Unterbereich finden Sie auf der linken Seite Eingangsports mit ihrem Namen und rechts daneben die Ausgangs-Ports mit ihrem Namen links davor. Ports können ausgeblendet und ihre Reihenfolge kann mittels Verschieben geändert werden. Beachten Sie, dass nicht unbedingt alle Eingangs-Ports im Node selbst aufgelistet werden. Diese können dann per Kontextmenü eingeblendet werden.
Bestimmte Nodes (wie z.B. der Ebenen-Node) haben sogar auf- und zuklappbare Portgruppen für jede Ebene.
Ports haben je nach Datentyp, den sie verarbeiten, eine bestimmte Farbe (s. nächsten Absatz).
Ports können selektiert werden (mit den gewohnten Tasten Shift und Ctrl, um zur Selektion hinzuzufügen bzw. davon auszunehmen), um auf sie bestimmte Befehle (s. Node-Menü bzw. Kontextmenü) wirken zu lassen.
Datentypen und Farben
Ein- und Ausgänge sind farblich markiert. Die dort jeweils erwarteten bzw. ausgegebenen Datentypen werden durch die Einfärbung angezeigt. Die wichtigsten Typen dabei sind:
- Dunkles Grau steht für einen Container aus verschiedenen Datentypen, wie er z.B. zur Übermittlung komplexer Einstellungen zur Schattierung in einem Material oder beim "OP Ausgabe"-Port vorkommt.
- Helles Grau steht für Zahlenwerte. Dabei kann es sich um eine ganze Zahl (Integer), eine Prozentzahl oder eine Zahl mit Nachkommaanteil handeln (Float).
- Gelb ist speziell für Farbwerte (RGB-Vektoren) oder Texturen gedacht
- Blau wird für die Übertragung von Datentypen wie Matrix, String, Bool, Array verwendet.
- Violett markiert Ports, die mit Vektoren hantieren. Diese kommen z.B. bei der "Normale" und beim "Displacement" eines Materials zum Einsatz oder wenn die Position eines Objekts abgefragt werden soll.
- Grün ist speziell für "BSDF"-Ebenen reserviert, über die sich physikalische Schattierungs- und Reflektivitätsinformationen definieren lassen.
Wie von XPresso her bekannt, lassen sich aber auch artfremde Ein- und Ausgänge miteinander verbinden. Es findet dann in der Regel eine sinnvolle Konvertierung der Datentypen statt. So kann z.B. eine Textur auch an einen Eingang für Fließkommawerte geknüpft werden. Die RGB-Werte der Textur werden dann automatisch in Helligkeitswerte umgerechnet. Auf diese Weise können auch Farbtexturen zur Steuerung z.B. der Rauigkeit einer "BSDF"-Ebene verwendet werden. Derartige Umrechnungen von Datentypen werden am empfangenden Node durch einen zusätzlichen Punkt am entsprechenden Eingang angezeigt.
Kontextmenü
Beim Rechtsklick auf einen Node/Port öffnet sich ein umfangreiches Kontextmenü, das überwiegend aus Befehlen des Node-Editor-Menüs besteht. Diese sind an anderer Stelle beschrieben. Dort nicht beschrieben sind diese:
Hiermit können entsprechende Nodes (z.B. Geometriegrundobjekte) von Basis-Node zu OP-Node - und umgekehrt - umgeschaltet werden.
Bei einem Node müssen nicht alle Eingänge, die im Attribute-Manager aufgelistet werden, auch als Port aufgeführt sein. Manchmal sind nur die wichtigsten Eingangs-Ports eingeblendet. Rufen Sie Eingang hinzufügen auf, werden alle ausgeblendeten Ports hier aufgeführt. Wählen Sie einen aus, wird dieser Eingangs-Port wieder eingeblendet (mit Alle werden alle Eingangs-Ports sichtbar gemacht).
Dieser Menüpunkt ist nicht vorhanden, wenn alle Eingangs-Ports eingeblendet sind.
Normalerweise sind alle Ausgänge aufgeführt. Sollten Sie jedoch Ausgänge verborgen haben (z.B. mittels des Befehls Nicht verwendete Ports entfernen), können Sie sie durch Auswahl eines hier gelisteten Ausgangs-Ports wieder sichtbar machen.
Verbinde Node
Hiermit wird eine Liste eingeblendet, aus der Sie einen zu verknüpfenden Node auswählen. Sollten mehrere Ausgangs-Ports pro Node in Frage kommen, so gehen Sie mit der Maus auf den kleinen schwarzen Pfeil, woraufhin dann die auszuwählenden Ausgangs-Ports eingeblendet werden. Neben der kompletten Asset-Liste finden Sie hier als ersten Eintrag "Bestehende Nodes", in der Nodes aufgelistet werden, die in der derzeitigen Node-Ansicht enthalten sind. Außerdem gibt es hier den Eintrag Gruppe Eingang hinzufügen, mit dem Sie einen Port aus einer Gruppe herausführen können (s.a. Eingangs- und Ausgangsgruppenbereiche).
Beachten Sie, dass diese Liste dynamisch erzeugt wird und nur passende Nodes vorschlägt.
Ersetze Node
Hiermit wird für den aktuellen, verbundenen Eingangs-Port der "fütternde" Node durch einen aus einer Liste auswählbaren ersetzt. Beachten Sie, dass hier die komplette Node-Kette am zu ersetzenden Node (die also diesen füttern) gelöscht wird. Das gilt nur für zu fütternde Nodes: Nodes, die an deren Ausgangs-Port hängen, sind davon unbetroffen.
Texturen
Hier werden alle geladenen Texturen aufgelistet, von der Sie eine auswählen, die dann mit einem Bild-Node in den Eingangs-Port eingeleitet wird.
Texturen laden
Dieser Befehl öffnet einen Dateiauswahldialog, mit dem Sie eine Bitmap oder ein Video auswählen, welche dann mit einem Bild-Node in den Eingangs-Port eingeleitet wird.
Portinstanz entfernen
Einige Nodes wie z.B. der Ebenen-Node oder der Farbverlauf bieten Ihnen diesen Befehl an. Sie können damit Elemente wie z.B. Ebenen oder Knoten löschen.
Mittels dieses Befehls blenden Sie selektierte Ports aus. Das funktioniert nur mit unverbundenen Ports. Der ausgeblendete Port erscheint dann in der eben beschriebenen Liste unter Eingang hinzufügen (und kann damit wieder eingeblendet werden).
Beachten Sie auch den Befehl Alle Ports anzeigen und die nächsten beiden dort beschriebenen Befehle. Hierbei handelt es sich um eine andere Funktionalität des Anzeigens oder Nichtanzeigens von Ports.
Details zu diesen beiden Debugging-Werkzeugen finden Sie ebenda.
Die meisten Parameter haben einen voreingestellten Wert, der bei Node-Neuerzeugung vordefiniert ist. Mit diesem Befehl – nur bei unverbundenem Node aufgeführt – setzen Sie evtl. verstellte Werte wieder auf diesen zurück.
Port herausführen
Der Aufruf dieses Befehls (nur sinnvoll, wenn die Node-Ansicht den Inhalt einer Gruppe zeigt) erzeugt eine Verbindung nach außen bzw. zur übergeordneten Hierarchie. S.a. Die Eingangs- und Ausgangsgruppenbereiche.
Hiermit können Sie Werte/Typen einzelner Ports in den Zwischenspeicher kopieren (für einen Port mit Integer-Wert 4 sieht das z.B. so aus: int64:4). Mit Wert einfügen können diese für andere, selektierte Ports eingefügt werden. Soweit möglich werden Datentypen dabei konvertiert.
Mit diesem Befehl wird ein Datentyp kopiert (für einen Port mit Integer-Wert 4, wäre das z.B. int64. Das ist bei solch simplen Datentypen natürlich wenig sinnvoll. Da es aber möglich ist, äußerst komplexe Datentypen zu erstellen (z.B. mit einem Schalter-Node), können Sie hiermit einiges an Zeit sparen, wenn Sie den Datentyp einfach kopieren und an entsprechender Stelle wieder einfügen. Z.B. bei einem Container zusammensetzen-Node, wo Sie ebenfalls Datentypen definieren können, klicken Sie bei Datentyp ganz rechts auf den Button und wählen Edit DataType und kopieren dort den Datentyp hinein.
Sie können für Nodes eine Solo-Funktionalität einschalten. Hat dieser Node mehrere Ausgänge, muss einer davon als Solo-Port definiert werden. Das machen Sie mit dieser Option.
Im Oberbereich eines Nodes finden Sie die Node-Vorschau. Hat ein Node nun mehrere Ausgänge, kann mit dieser Option festgelegt werden, welcher Ausgang dort angezeigt werden soll.
Verbindungen
Um einen Node-Port mit einem anderen zu verbinden, gehen Sie so vor.
Verbindungen können ebenfalls selektiert werden, wobei wie (fast) immer Shift und Ctrl gedrückt werden kann, um zur Selektion hinzuzufügen, bzw. davon auszunehmen (Rechteckselektionen funktioniert ebenfalls). Was kann mit selektierten Verbindungen angefangen werden? Sie können z.B. mit den bekannten Tasten gelöscht werden oder per Kontextmenü mit einigen unten beschriebenen Befehlen bearbeitet werden (hier nur die Befehle, die noch nicht an anderer Stelle beschrieben wurden).
Löscht die selektierten Verbindungen.
Stumm geschaltete Verbindungen werden mit einer gestrichelten Linie dargestellt. Hierbei werden Werte nicht vom zuvor angeordneten Node übernommen, sondern von den im Attribute-Manager definierten. Damit können Verbindungen z.B. aus Testgründen temporär deaktiviert werden.
Andere Node-Editor-Bestandteile
Die rechts oben befindlichen Icons
Oben rechts im Node-Editor finden Sie diese Icons, beschrieben von links nach rechts:
- Hier aktivieren bzw./deaktivieren Sie das automatische Layout. Dieses kommt zum Einsatz, wenn Sie im Szenen-Manager arbeiten, wobei Nodes erzeugt werden. Ist die Option deaktiviert, liegen alle neu erzeugten Nodes übereinander, bei Aktivierung werden sie neu angeordnet und in eine lesbare Form gebracht.
- Node-Ansicht verriegeln (gilt für Node-Materialien): Normalerweise zeigt die Node-Ansicht das aktuell im Material-Manager selektierte Node-Material an. Soll die Ansicht bei Materialneuselektion nicht umspringen, so verriegeln Sie hiermit die Node-Ansicht.
- Neuer Node-Manager: hiermit kann ein neuer Node-Editor geöffnet werden. Das kann z.B. sinnvoll sein, wenn Sie Node-Netzwerke mit hunderten Nodes vorliegen haben und möchten in mehreren Bereichen gleichzeitig arbeiten. Oder Sie wollen die Nodes zweier Node-Materialien gleichzeitig sichtbar haben (siehe dazu auch vorherigen Absatz).
Das Verbindungs-Icon
Die große Neuerung gegenüber dem alten Attribute-Manager sind die Verknüpfungsfelder, die durch das Verbindungs-Icon ersetzt wurden. Node-Eingänge können entweder mit Werten gefüttert werden, indem Sie bei den Parametern einfach Werte eingeben oder – und das ist neu – Node-Eingänge mit den Node-Ausgängen anderer Nodes verbinden, also eine Verknüpfung erzeugen (also das, was Nodes ausmacht).
Klicken Sie auf das Verbindungs-Icon rechts neben dem Parameternamen und wählen Sie aus dem Kontext-Menü "Verbinde Node" einen beliebigen Node aus, um diesen mit dem angeklickten Eingang zu verbinden (Sie können natürlich auch in der Node-Ansicht einfach die Ports verbinden). Dabei wird der ausgewählte Node erzeugt und verknüpft:
Bitmaps können übrigens von außerhalb Cinema 4D stets überall auf eine komplette Parameterzeile (inkl. Parametername, Verbindungs-Icon und GUI-Element) gezogen werden, um den entsprechenden Parameter mittels eines Bild-Nodes zu verknüpfen.
Sobald ein Parameter mit einem anderen Node verbunden ist, gilt:
- es erscheint statt des Animations-Icons ein kleiner Pfeil. Klicken Sie auf diesen, um die Parameter des angedockten Nodes einzublenden.
- der Parameter kann nicht mehr mit dem gewohnten Animations-Icon animiert werden – dieses wird dann ausgeblendet (natürlich können Sie die Parameter des verbundenen Nodes nach wie vor animieren). Ein Parameter kann also nicht gleichzeitig von der Zeitleiste und einem anderen Node gesteuert werden.
Das Animations-Icon zeigt also Abhängigkeiten im Animations- und XPression-Zusammenhang, während das Verbindungs-Icon Abhängigkeiten im Shading- und Renderer-Zusammenhang symbolisiert.
Das Verbindungs-Icon kann diese 3 Zustände annehmen:
- Verbunden: Die Werte fließen vom verknüpften Node in den Node-Eingang, rechts neben dem Verbindungs-Icon wird der verknüpfte Node-Name eingeblendet. Auf diesen kann geklickt werden, um den zugehörigen Node zu selektieren und dessen Einstellungen einzublenden.
- Stumm geschaltet: Es besteht Verbindung zu einem anderen Node, dessen Werte werden aber nicht übernommen (sondern die im Attribute-Manager definierten).
- Unverbunden: die im Attribute-Manager definierten Werte werden verwendet.
Beim Klick auf ein Verbindungs-Icon werden folgende Befehle angeboten, von denen Sie die meisten schon vom Port-Kontextmenü kennen. Das Verbindungs-Icon stellt also auch ähnliche Funktionalität bereit, auf die per Rechtsklick auf einen Port in der Node-Ansicht zugegriffen werden kann.
Im Folgenden beschrieben sind nur die Verbindungs-Icon-eigenen Befehle.
Ebene hinzufügen
Im Ebenen-Node z.B. finden Sie diesen Befehl. Es wird dann der auszuwählende Node mittels einer neuen Ebenen verknüpft.
Kopieren
Hiermit kann der verbundene Ausgangs-Port in den Zwischenspeicher kopiert werden und mit…
Einfügen (Link)
…einem anderen Eingangs-Port verbunden werden. Damit können also mehrere Eingänge mit dem gleichen Ausgang verknüpft werden.
Einfügen (Duplikat)
Dieser Befehl verbindet den in der Zwischenablage befindlichen Ausgangs-Port mit dem angeklickten Eingang. Dabei wird im Gegensatz zum vorhergehenden Befehl ein Duplikat des ganzen – fütternden – Nodes erzeugt.
Entfernen
Hiermit lösen Sie die Verbindung des Eingangs-Ports.
Port stummschalten
Hiermit wird die Verbindung zwar gehalten, es kommt aber nichts mehr durch den "Schlauch" durch. Stattdessen wird der im Attribute-Manager eingestellte Wert als Eingang herangenommen. Rufen Sie den Befehl erneut auf, um den "Hahn" wieder aufzudrehen.
Im Node-Editor anzeigen
Zeigt die entsprechenden Nodes/Ports im Node-Editor an. Alternativ kann mit gedrückter Ctrl-Taste auf das Verbindungs-Icon geklickt werden.
Damit können Sie z.B. schnell mehrere im Attribute-Manager ausgewählte Parameter im Node-Editor mit Nodes verbinden.
Zeige Unterkanäle
Einige Nodes wie z.B. der Ebenen-Node oder der Farbverlauf bieten Ihnen diesen Modus an. Aktivieren Sie diesen, um z.B. die Ebeneneinstellungen als animierbare bzw. ebenfalls durch das Verbindungs-Icon regelbare Parameter anzuzeigen. Darüber hinaus können die Eingangsparameter des fütternden Nodes eingeblendet werden, wenn Sie auf eine der Ebenen aktivieren. In folgendem Beispiel wären das die Eingänge des "Kreis"-Nodes:
Für den Farbverlaufs-Node (einen Greifer anklicken und auf eines der untergeordneten Verbindungs-Icons klicken, um den Befehl aufzurufen) werden die Parameter sämtlicher Knoten aufgelistet.
Rufen Sie den Befehl erneut auf, um wieder in den vorherigen Modus umzuschalten.
Erbe Interface
Einige Nodes wie z.B. der Abstand- oder Wert-Node können für Eingangs-Ports die Einheiten und die Parameterdarstellung des nachfolgenden, verbundenen Nodes übernehmen.
Der Infobereich
Links unten finden Sie den skalierbaren Infobereich, der Ihnen für selektierte Nodes, Verbindungen und Ports einige Infos ausgibt.
Das sind für Nodes:
- Selektion: die Anzahl und Art der selektierten Elemente.
- Name: der Node-Name, so wie er im Tab "Basis" definiert ist.
- Asset: der unveränderliche Asset-Name, wie er intern festgelegt ist. Warum wird zwischen Asset und Name unterschieden? Sie können jederzeit den Namen umbenennen und haben dann diesen neuen Namen, der sich von dem in der Hilfe erwähnten unterscheidet. Seit Cinema 4D R23 werden allerdings beide Namen direkt beim Node angezeigt.
- Version: Wenn Sie Assets erzeugen, können Sie eine Versionsnummer festlegen, die dann hier – inkl. Datum und Uhrzeit – angezeigt wird. So wissen Sie immer, welche Asset-Version Sie gerade verwenden.
- Asset-ID/ID: das sind eindeutige, unverwechselbare IDs. Diese sind für Sie ohne großen Informationswert. Für Asset-Entwickler können diese allerdings interessant sein.
- Fehler: hier können allerlei Fehler angezeigt werden (z.B. wenn eine Autokonvertierung von Datentypen fehlschlägt).
Für Verbindungen sind das zusätzlich:
- Selektion: Anzahl der selektierten Verbindungen.
- Port-Typ: der Datentyp, den der Port als Eingabe erwartet, bzw. als Ausgang ausgibt.
- Verbundener Typ: der Datentyp, der durch die Verbindung "fließt".
Für Ports sind das zusätzlich:
- Port-Wert: sofern der Port verbindungslos ist, wird hier der im Attribute-Manager eingestellte Wert angezeigt.
Material-Node-Beispielszene
Das folgende Material wurde komplett mit Nodes erstellt, wobei keine Bitmap als Textur zum Einsatz kam.
Laden Sie einmal die folgende Szene:
Sie können hier ansatzweise erkennen, was mit Nodes möglich ist. Rechtsklicken Sie auf das Material und wählen Sie Node-Editor, um einen Blick in die Node-Schaltung zu werfen. Beachten Sie den "Plaid"-Gruppen-Node, in diesem verbergen sich weitere Node-Schaltungen.
Besonderheiten des Szenen-Node-Editor
Abweichend von den obigen Beschreibungen, gibt es beim Szenen-Node-Editor einige Besonderheiten:
- Einige Nodes im Szenen-Node-Editor haben eine dick dargestellte "OP Ausgabe"-Verbindung: Bei diesen Verbindungen handelt es sich um ein Bündel von verschiedenen Werten. Klappen Sie es mit dem kleinen Pfeil am Port "OP Ausgabe" auf, um den Wertetyp einblenden zu lassen. Um in der Szene sichtbare Geometrie zu erzeugen, sollte immer ein "OP Ausgabe"-Port mit dem Szenen-Port verbunden werden.
- Nodes im Szenen-Node-Editor müssen meist ohne Vorschau auskommen.
- Nodes im Szenen-Node-Editor haben keinen Solo-Modus.
Wenn Sie im Asset Browser z.B. nach “Öltank” suchen, bekommen Sie im Gegensatz zu älteren Versionen (früher S26) jetzt nur noch 1 Treffer angezeigt. Das liegt daran, dass nicht mehr alle Node-Versionen (Basis-Node, OP-Node) angezeigt werden. Stattdessen ziehen Sie den einen Öltank in den Node-Editor, den Szenen-Manager oder direkt in den Objekt-Manager. Der Öltank wird dann als Basis-Node, Op-Node bzw. Asset-Kapsel ausgewertet. Zwischen Basis- und Op-Node kann im Node-Editor mittels Kontextmenübefehl “Node-Typ umschalten” gewechselt werden.