Der Node-Editor

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

Beispiel hier: Modus Material.

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.:

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.

Die neuen Nodes des Szenen-Node-Editor finden Sie dort primär in den Kategorien Geometrie, Array, Effektoren, Felder, Flusskontrolle, Operatoren und Verteilung.

Für die Darstellung vom Szenen-Node-Editor generierte Geometrie gibt es in den Projekt-Voreinstellungen einige spezielle Ansichtseinstellungen (s. Nodes).

Hinweis:Beachten Sie auch das Node-Layout (rechts oben im Programmfenster unter Layouts), das eine für das Arbeiten mit Nodes optimierte Programmoberfläche bietet.

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"):

Nodes erzeugen

Sie können z.B. folgendermaßen Nodes erzeugen (durch Drag&Drop, Doppelklick etc.):

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:

Es gilt dabei:

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.

Nodes löschen

Selektierte Node können durch die Rückschritt- bzw. Entf.-Taste gelöscht werden.

Node-Ansicht-Titel

Sie finden ganz oben in der Node-Ansicht folgende Elemente (von links nach rechts):

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.

Es werden folgende Nodes besonders angezeigt:

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).

Node-Ports in Gruppen können nach außen geführt werden.

Beim Fallenlassen einer Verbindung im leeren Raum öffnet sich ein kleines Menü (s. Abbildung links unten) mit folgenden Einträgen:

Teile der eben beschriebenen Funktionalität (Eingänge erzeugen) sind auch per Port-Kontextmenü mittels Befehl machbar.

Allgemeines zu Nodes

Nodeaufbau und -darstellungsarten (es ist auch möglich, nur verbundene Ports anzuzeigen).

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:

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:

Eingang hinzufügen

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.

Ausgang hinzufügen

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.

Port entfernen

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.

Port-Inspektor / Daten-Inspektor

Details zu diesen beiden Debugging-Werkzeugen finden Sie ebenda.

Auf Voreinstellung zurücksetzen

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.

Wert kopieren

Wert einfügen

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.

Typ kopieren

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.

Solo-Port (nur Ausgang)

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.

Als Vorschau-Port festlegen (nur Ausgang)

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).

Konverter einfügen

Bei bereits verbundenen Ports kann dieser Befehl aufgerufen werden. Er setzt in die Verbindung einen auszuwählenden Konverter-Node, d.h. dessen Ein- und Ausgang sind bereits sinnvoll verbunden.

Verbindung entfernen

Löscht die selektierten Verbindungen.

Port stummschalten

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:

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:

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:

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.

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

Es ist auch Mehrfach-Port-Selektion möglich, um die Werte zu vergleichen.

Links unten finden Sie den Infobereich, der Ihnen für selektierte Nodes, Verbindungen und Ports einige Infos ausgibt.

Das sind für Nodes:

Für Verbindungen sind das zusätzlich:

Für Ports sind das zusätzlich:

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: