Animation-Tags und XPresso: Die Cinema 4D-Tags – XPresso – Teil 01

Ein ganz anderes Kaliber verbirgt sich hinter den XPresso-Tags. Diese können von uns selbst mit Schaltungen und Befehlen gefüllt werden, um ganz individuelle Effekte und Abhängigkeiten zwischen Parametern und Objekten zu erstellen. Das Thema XPresso streift daher etwas stärker den Themenkomplex der Programmierung als das einfache Abrufen vorgefertigter Funktionen. Ich kann gut nachvollziehen, wenn sich der ein oder andere davon nicht sonderlich angezogen fühlt. Wer jedoch über seinen Schatten springt und sich die Zeit der Einarbeitung nimmt, wird mit einem Füllhorn neuer Funktionen belohnt, die oft das Arbeiten an Animationen so viel einfacher machen können. Bedenken Sie zudem, dass z. B. die Thinking Particles-Funktionalität ausschließlich über XPresso gesteuert werden kann. Ich möchte mich daher in den folgenden Abschnitten bemühen, alle XPresso-Funktionen möglichst klar und anhand kleiner Beispiele vorzustellen.

Was ist XPresso?

XPresso ist eine grafische Programmierumgebung. Dies bedeutet, dass Sie in der Regel ohne das Tippen von Befehlen auskommen, sondern die gewünschten Funktionen einfach grafisch, also wie einzelne Bauklötze miteinander verbinden. Diese Bauklötze nennen sich Nodes oder auf Deutsch Funktionsknoten und stellen je eine klar definierte Funktion zur Verfügung. Die Kombination mehrerer dieser Nodes ergibt daher oft erst die gewünschte Funktion.

Alle Nodes stellen in der Regel Ein- und Ausgänge zur Verfügung über die Werte oder Daten in die Nodes geleitet oder Ergebnisse von diesen wieder ausgegeben werden können. Diese Ein- und Ausgänge nennen sich Ports. Zwischen den Ports verschiedener Nodes lassen sich schließlich Verbindungen erzeugen, um z. B. das Ergebnis einer Berechnung zur weiteren Verarbeitung wieder in einen anderen Nodes zu leiten. Sie werden gleich noch lernen, wie all dies in der Praxis verwendet wird.

Die sicherlich einfachste Möglichkeit, eine XPresso-Schaltung zu generieren, bietet die Verknüpfung von Parametern. Auf diese Weise kann z. B. die Z-Position eines Objekts den Rotanteil einer Materialfarbe oder die Drehung eines anderen Objekts um dessen B-Winkel steuern. Es geht hierbei also um Abhängigkeiten zwischen Werten. Diese Art Schaltung lässt sich bereits mit zwei Mausklicks erstellen, ohne dass Sie überhaupt die eigentliche Schaltung oder XPresso zu Gesicht bekommen. Wir spielen dies einmal an einem einfachen Beispiel durch.

Die Anführer/Verfolger-Schaltung

Wie Sie Abbildung 2.10 entnehmen können, starten wir mit zwei beliebigen Objekten, die nebeneinander stehen. Der in der Abbildung rot markierte Würfel soll nun mit seiner X-Position die Z-Position der Kugel neben sich steuern. Ein möglicher Nutzen wäre also, dass die Kugel automatisch in Richtung der Z-Achse ausweicht, wenn der Würfel seitlich auf die Position der Kugel verschoben wird. Aktionen wie diese lassen sich sehr einfach automatisieren. Führen Sie dazu zuerst einen Rechtsklick auf den Parameter aus, der die Aktion steuern soll. In unserem Fall wäre dies also die X-Position des Würfels. Achten Sie dabei darauf, den Rechtsklick nicht auf das Kürzel P (für die Position) auszuführen, sondern auf das nachgestellte X in der Koordinaten-Rubrik des Würfels im Attribute-Manager. Es öffnet sich ein Kontextmenü, wie es auch in Abbildung 2.10 zu sehen ist. Navigieren Sie dort zum Eintrag XPressions > Anführer setzen. Damit ist bereits die halbe Arbeit getan. Selektieren Sie anschließend die Kugel und führen Sie dort diesmal den Rechtsklick auf dem Buchstaben Z beim Parameter P.Z aus. Dieser Wert soll schließlich auf die X-Position des Würfels reagieren.

Animation in Cinema 4D - Parameterverknüpfung über Anführer/Verfolger setzen

Abbildung 2.10: Parameterverknüpfung über Anführer/Verfolger setzen

Im erneut aufspringenden Kontextmenü haben wir unter dem Eintrag für XPressions nun die Wahl zwischen Verfolger setzen (absolut) und Verfolger setzen (relativ). Bei der Wahl von absolut würde die X-Position des Würfels eins zu eins auf die Z-Position der Kugel übertragen. Läge der Würfel auf der Position -100,0,0 würde die Kugel also die Z-Position -100 erhalten. Soll jedoch die aktuelle Position des verfolgenden Objekts beibehalten werden, muss Verfolger setzen (relativ) gewählt werden, was wir in diesem Fall auch tun sollten. Damit sind wir bereits fertig und Sie können einen ersten Test wagen. Verschieben Sie nun den Würfel seitlich entlang der Welt-X-Achse, wird die Kugel simultan dazu entlang der Welt-Z-Achse bewegt. Wie ist dies möglich?

Ein Blick hinter das Kugel-Objekt im Objekt-Manager bringt die Lösung. Dort wurde ein XPresso-Tag erzeugt. Sofern die Einblendung von Hilfetexten über die Programm-Voreinstellungen aktiviert wurde, können Sie deren Nutzen auch direkt ablesen. Die Parameter Position.X und Position.Z wurden verbunden. Wie dies technisch funktioniert stellt sich nach einem Doppelklick auf das XPresso-Tag in einem sich separat öffnenden XPresso-Editor dar. Dies ist der Bereich, in dem Sie die bereits angesprochenen Nodes platzieren und deren Ports miteinander verknüpfen (siehe Abbildung 2.11). Sollte bei Ihnen nur ein einziger Node zu sehen sein, so liegen die drei Nodes einfach nur übereinander, was bei automatisch erstellten Schaltungen passieren kann. Durch Ziehen der Titelzeilen der Nodes lassen sich diese frei im Raster des XPresso-Editors verschieben und z. B. wie in Abbildung 2.11 anordnen.

Animation in Cinema 4D - Eine automatisch erstellte XPresso-Schaltung

Abbildung 2.11: Eine automatisch erstellte XPresso-Schaltung

Dort erkennen Sie auch, wie doch recht übersichtlich der Aufbau eigentlich ist. Über schwarze Verbindungslinien läuft der Position.X-Wert aus dem Würfel-Node in einen sogenannten Bereichswandler. Von dort wiederum wird der Wert in den Port für Position.Z am Kugel-Node geleitet. Ohne zum jetzigen Zeitpunkt zu wissen, was in dem Bereichswandler-Node passiert, so wird doch bereits klar, dass es zwei verschiedene Seiten an den Nodes zu geben scheint. So finden Sie den Position.X-Port an der rechten Seite des Würfel-Nodes und den Position.Z-Port an der linken Seite des Kugel-Nodes. Die linke und die rechte Seiten stehen nämlich stellvertretend für die Ein- und Ausgänge. Die Ports unterhalb der roten Fläche in der Titelzeile eines Nodes sind immer Ausgänge, also zu Abfragen von Parametern gedacht. Entsprechend befinden sich unter der blauen Fläche auf der linken Seite eines Nodes immer die Eingänge, über die Sie Werte an den Node übergeben können.

Lassen Sie uns dies doch gleich einmal nutzen, indem wir auf die rote Fläche am Würfel-Node klicken. Es öffnet sich eine Liste mit den Ausgang-Ports, die uns dieser Node zur Verfügung stellen kann. Wie Sie in Abbildung 2.12 erkennen können, treffen wir dort unter dem Eintrag Koordinaten > Position auch die bereits genutzten X-, Y- und Z-Bestandteile der lokalen Position des Objekts wieder. Ebenso könnten wir aber auch unter Koordinaten > Globale Position auf die entsprechenden Werte im Welt-Koordinatensystem zurückgreifen. An diese wären wir z. B. über die genutzte Anführer setzen/Verfolger setzen-Funktionen gar nicht herangekommen, da diese Parameter am Objekt selbst über den Attribute-Manager nicht abgerufen werden können. Dort sind alle Koordinaten immer nur im lokalen System angegeben.

Animation in Cinema 4D - Einstellen des Speicherplatzes

Abbildung 2.12: Aufrufen eines neuen Ausgang-Ports

Rufen Sie auf diesem Wege doch einmal den Ausgang-Port für Position.Y am Würfel-Node ab und selektieren Sie anschließend den Kugel-Node. Durch einen Klick auf dessen blaue Farbfläche klappt erneut eine Liste auf, die diesmal jedoch nur die möglichen Eingang-Ports anzeigt. Wählen dort doch einmal ebenfalls den Port für die lokale Position.Y. Würden wir beide neue Ports direkt verbinden, ließe sich also die aktuelle Y-Position des Würfels laufend auf die Kugel übertragen. Nichts leichter als das. Halten Sie dazu die linke Maustaste gedrückt, während Sie den Mauszeiger vom Position.Y-Ausgang-Port des Würfel-Nodes zum Position.Y-Port der Kugel ziehen. Nach dem Lösen der Maustaste sollten Sie eine schwarze Linie zwischen beiden Ports erkennen können. Damit ist die Verknüpfung dieser beiden Parameter abgeschlossen und Sie können das Resultat in den Ansichtsfenstern überprüfen. Wenn Sie den Würfel entlang der Y-Richtung nach oben verschieben folgt die Kugel direkt nach. Anders herum funktioniert dies jedoch nicht. Der Versuch die Kugel individuell nach oben oder unter zu verschieben misslingt. Sie bekommt schließlich durch unsere Schaltung diese Information direkt vom Würfel.

Damit haben Sie bereits das Grundprinzip der Nodes, des Anlegens individueller Ports und deren Verknüpfung kennengelernt. War doch nicht so schwer, oder? Schauen Sie sich in Ruhe noch einmal die möglichen Ports der Ein- und Ausgänge an den beiden Objekt-Nodes an, um ein Gefühl dafür zu bekommen, welche Möglichkeiten sich mit XPresso eröffnen.

Nodes und Ports bedienen

Werfen wir dennoch einen kurzen Blick auf die anfänglich vielleicht etwas versteckten Optionen beim Umgang mit Ports und Nodes. Sie haben bereits gelernt, dass sich Nodes über deren Kopfzeile per Drag&Drop im XPresso-Editor verschieben lassen. Zusätzlich kann diese Kopfzeile aber auch noch individuell gefärbt oder beschriftet werden. Werfen Sie dazu einen Blick in den Attribute-Manager (siehe Abbildung 2.13).

Animation in Cinema 4D - Basis-Eigenschaften eines Objekt-Nodes

Abbildung 2.13: Basis-Eigenschaften eines Objekt-Nodes

In der Basis-Rubrik können wir dort bei selektiertem Würfel- oder Kugel-Node ablesen, dass es sich dabei um einen Objekt-Operator handelt, also umgangssprachlich einen Objekt-Node. Objekt-Nodes repräsentieren ein bestimmtes Objekt in der Szene und lassen sich z. B. auch durch das direkte Ziehen eines Objekts aus dem Objekt-Manager in den XPresso-Editor erstellen. Man spricht in solchen Fällen von einer Absoluten Referenz. Wir kommen gleich noch darauf zurück.

Wie von Objekten gewohnt, kann auch für ein Node ein individueller Name vergeben werden, falls uns das für die Übersichtlichkeit hilft. In der Praxis ist eine individuelle Umbenennung der Nodes jedoch weitaus weniger hilfreich, als z. B. bei Objekten oder Materialien. Die nächste Option nennt sich Aktivieren und schaltet den Node einfach nur ein oder aus. Ein ausgeschalteter Node kann weder Berechnungen durchführen noch über Ports Daten empfangen oder ausgeben. Die über angelegte Verbindungen nachfolgenden Nodes werden dadurch in der Regel also ebenfalls lahmgelegt.

Die Titel-Farbe kann individuell eingestellt werden und verändert die farbige Hinterlegung in der Mitte der Titelzeile. Dies kann nützlich sein, um bei komplexeren Schaltungen z. B. zusammengehörende Elemente deutlicher hervorzuheben. Nach einer Multi-Selektion mehrerer Nodes kann dieser Farbwert dann natürlich auch gleichzeitig für mehrere Nodes vergeben werden. Hierfür können mehrere Nodes nacheinander mit gehaltener Shift-Taste angeklickt oder durch Halten der linken Maustaste mit einem Selektionsrahmen ausgewählt werden.

Schließlich können eigene Kommentare in einem Textfeld hinterlassen werden, um z. B. die Bedeutung diese Nodes für die Funktion der Gesamtschaltung noch einmal niederzuschreiben. Dies kann bei komplexeren Schaltungen das Zurechtfinden erleichtern. Wir werden jedoch später auch noch separate Kommentar-Nodes kennenlernen, die in der Regel noch praktischer zu verwenden sind, da darüber Kommentare direkt in den XPresso-Editor eingeblendet werden können und die Nodes nicht extra selektiert werden müssen, um Kommentare dazu angezeigt zu bekommen.

Auf dem Node-Reiter im Attribute-Manager finden wir zuerst das Referenz-Linkfeld. Hier ist also in der Regel das Objekt angegeben, dessen Daten über den Objekt-Node ausgelesen oder gesetzt werden sollen. Dies ist die voreingestellte Arbeitsweise im Referenz-Modus Absolute Referenz. Es gibt jedoch auch Konstellationen, bei denen nicht das Objekt selbst direkt verlinkt werden kann. Dies kommt z. B. vor, wenn Sie die Schaltung flexibel halten wollen und die benutzten Objekte eventuell öfter tauschen möchten. In solchen Fällen käme z. B. der Relative Referenz-Modus infrage (siehe auch Abbildung 2.14).

Animation in Cinema 4D - Referenz-Einstellungen eines Objekt-Nodes

Abbildung 2.14: Referenz-Einstellungen eines Objekt-Nodes

Dabei wird das Pfad-Textfeld freigeschaltet, über das Sie nun über Buchstabenkürzel zu dem tatsächlich gewünschten Objekt navigieren können. Die Basis für diese Art der Navigation ist immer das Objekt in Ihrer Szene, welches das XPresso-Tag im Objekt-Manager trägt. Der Eintrag bei Referenz verliert in diesem Modus also seine Bedeutung!

Stellen Sie sich z. B. vor, Sie möchten generell das dritte Objekt unterhalb eines Null-Objekts in der Schaltung ansprechen, welches die XPresso-Schaltung trägt. Dafür ist der Pfad gedacht. Die folgenden Abkürzungen stehen Ihnen dafür als Pfadangabe in beliebiger Kombination und Anzahl zur Verfügung:

  • U für das englische „Up“, verschiebt die Referenz eine Hierarchiestufe höher
  • D für das englische „Down“, verschiebt die Referenz in die nächste Untergruppe
  • N für das englische „Next“, springt zum nächsten Element auf der gleichen Hierarchiestufe
  • P für das englische „Previous“, geht zum vorherigen Element auf der gleichen Hierarchiestufe

Die Pfadangabe DNN findet also das dritte Objekt unter dem Objekt, welches das XPresso-Tag trägt. Wem dies zu kompliziert ist, der kann sich auch einer Hilfestellung bedienen, denn der Pfad lässt sich auch automatisch ausfüllen, wenn ein Objekt von der gewünschten hierarchischen Position direkt in das Referenz-Feld gezogen wird. Die nächsten Abbildungen machen dies deutlicher.
Wie in Abbildung 2.15 zu sehen, wurden hier exemplarisch drei Würfel unter einem Null-Objekt gruppiert. Das Null-Objekt trägt ein XPresso-Tag, das sich ja einfach nach einem Rechtsklick auf den Namen des Objekts im Objekt-Manager aus den CINEMA 4D Tags zuweisen lässt. Sollte sich der XPresso-Editor nicht selbständig öffnen, recht ein dazu ein Doppelklick auf das XPresso-Tag aus. Dort ist, anders als bei unserer ersten, automatisch erstellten Schaltung nun natürlich noch alles leer. Das Ziehen des Null-Objekt-Eintrags aus dem Objekt-Manager direkt in den XPresso-Editor hinein ändert dies jedoch schnell. Es erscheint der Objekt-Node des gezogenen Null-Objekts (siehe Abbildung 2.15). Diese Art der Objekt-Node-Erzeugung können Sie immer dann nutzen, wenn nur eine absolute Referenz in der Schaltung benötigt wird.

Der dritte Würfel unter dem Null-Objekt soll über die Schaltung angesprochen werden.

Abbildung 2.15: Der dritte Würfel unter dem Null-Objekt soll über die Schaltung angesprochen werden.

Wir möchten jedoch eine relative Referenz mitsamt eines Pfads anlegen und müssen uns daher mit den Node-Einstellungen beschäftigen. Selektieren Sie daher den Node durch Anklicken der Kopfzeile und wechseln Sie im Attribute-Manager auf den Node-Tabulator. Dort tauschen Sie nun per Drag&Drop die Referenz gegen den dritten Würfel unter dem Null-Objekt aus (siehe Abbildung 2.16).

Umwandeln einer absoluten in eine relative Referenz

Abbildung 2.16: Umwandeln einer absoluten in eine relative Referenz

Damit dieses Objekt nicht erneut absolut benutzt wird, schalten Sie den Referenz-Modus um auf eine Relative Referenz. Der passende Pfad wird dadurch automatisch eingetragen und bezieht sich auf das Objekt, das die XPresso-Schaltung trägt. Auf diese Weise wird das Kopieren des XPresso-Tags z. B. in ein anderes Projekt viel einfacher, da sich die Referenzen jeweils automatisch anpassen. Ansonsten müssten die Objekt-Nodes jedes Mal erneut per Drag&Drop mit den aktuellen absoluten Referenzen aktualisiert werden.

Alternativer Referenz-Modus Startposition benutzen

Abbildung 2.17: Alternativer Referenz-Modus Startposition benutzen

Der dritte Referenz-Modus funktioniert ganz ähnlich. Auch in der Einstellung Startposition benutzen wird das Objekt mit dem XPresso-Tag als Basis für die Suche nach der Referenz benutzt. der Pfad kann jedoch nicht länger manuell angegeben werden. Stattdessen werden verschiedene Standardpfade unter dem Eintrag für Startposition angeboten. In der Regel ist dieser Modus also weniger flexibel, obwohl einige spezielle Startposition-Einstellungen auch sehr nützlich sein können. So kann dort z. B. über Erstes in Projekt bzw. Letztes in Projekt das jeweils oberste oder hierarchisch letzte Objekt aus dem Objekt-Manager ausgelesen werden. Dies sind auch die einzigen Einstellungen, bei denen die Platzierung des XPresso-Tags in der Hierarchie gar keine Rolle spielt. Erstes der Ebene und Letztes der Ebene holt sich das erste bzw. letzte Element auf der gleichen Hierarchieebene des Objekts, welches das XPresso-Tag dieser Schaltung trägt.

Nächstes Objekt bzw. Vorheriges Objekt navigieren zu den entsprechenden Objekten über oder unter dem Eintrag, der die Schaltung im Objekt-Manager trägt. Die gesuchte Referenz muss dabei also auf der gleichen Hierarchiestufe liegen. Hierarchie hoch und Hierarchie runter entsprechen den U und D Pfadangaben und steigen vom XPresso-Tag-Objekt aus eine Hierarchiestufe nach oben oder unten. Schließlich bezieht sich die Startposition Dieses Objekt exakt auf das Objekt, welches das XPresso-Tag trägt. Bei einigen dieser Startpositionen kann es aber natürlich auch dazu kommen, dass gar kein Objekt gefunden wird. Wenn z. B. unter dem Objekt, das das XPresso-Tag trägt keine anderen Objekte gruppiert wurden, wird Hierarchie runter zu keinem Ergebnis kommen können.

Immer dann, wenn ein Node aufgrund derartiger Vorgaben seine Aufgabe nicht erfüllen kann, erkennen Sie dies an einer Gelbfärbung seiner Titelzeile (siehe seitliche Abbildung). Dieser Effekt ist keinesfalls nur auf Objekt-Nodes beschränkt, sondern kann z. B. auch bei mathematischen Berechnungen in Schaltungen vorkommen, wenn dafür benötigte Ports nicht mit Werten bestück werden oder ungültige Eingaben gemacht wurden.

Bei einigen dieser Startposition-Einstellungen besteht zusätzlich die Möglichkeit, mehrere Stufen auf einmal zu überspringen. Sie nutzen dafür den Start-Distanz-Wert. Dieser macht jedoch nur mit den Startpositionen Hierarchie runter/Hierarchie hoch bzw. Nächstes Objekt/Vorheriges Objekt Sinn. Betrachten Sie dazu das Beispiel in Abbildung 2.18. Dort habe ich die Schaltung auf den ersten Würfel unterhalb des Null-Objekts verschoben und die Startposition mit Nächstes Objekt angegeben. Normalerweise würde dadurch also der Würfel mit dem Namen Würfel.1 angesprochen. Durch die Erhöhung der Start-Distanz auf den Wert 2 kommt jedoch der letzte Würfel der Gruppe zum Zuge.

Nutzen der Start-Distanz

Abbildung 2.18: Nutzen der Start-Distanz

Damit haben wir im Prinzip alles abgehandelt, was die Optik und die Referenzierung eines Objekt-Nodes ausmachen. Bleibt nur der Parameter für die Speichertiefe übrig. Dieser hat es jedoch in sich, denn damit legen wir fest, wie viele vergangene Zustände sich dieser Node während einer Animation merken soll. Es geht dabei hauptsächlich um Positionen, die Größe und die Drehwinkel. Auf diese Weise könnten Sie z. B. auf die Position eines Objekts zugreifen, die es drei Bilder zuvor in der ablaufenden Animation eingenommen hatte. Überträgt man derartige „alte“ Daten auf andere Objekte, lassen sich schicke Nachzieheffekte realisieren. Dafür muss jedoch noch eine weitere Vorgabe gemacht werden, nämlich auf welchen gespeicherten Zustand Sie zugreifen möchten. Speichertiefe gibt nur die maximale Anzahl der gespeicherten Zustände wieder.

Sie erreichen dies, indem Sie an Objekt-Nodes einen zusätzlichen Eingang-Port für den Speicherplatz anlegen. Sie klicken also auf die blaue Farbfläche in der Titelzeile des Objekt-Nodes und wählen aus dem Kontextmenü den Speicherplatz-Port aus. Dieser neue Eingang könnte jetzt mit einem passenden Ausgang-Port eines anderen Nodes verknüpft werden. Wenn es jedoch wie auch in diesem Fall nur darum geht, einen fixen Wert in den Node zu leiten, kann dies generell auch über den Attribute-Manager geschehen. Nach dem Hinzufügen des Eingang-Ports sollten Sie dort nämlich einen neuen Tabulator für Parameter sehen können, wo brav unser Speicherplatz-Wert aufgeführt wird. Über den Speicherplatz legen Sie jetzt also fest, welcher vergangene Zustand innerhalb der über die Speichertiefe festgelegten Bandbreite auszugeben ist. Soll immer nur der gleiche, alte Zustand abgefragt werden, können Speichertiefe und Speicherplatz auf den gleichen Wert eingestellt werden. Denkbar wären aber auch Schaltungen, bei denen z. B. automatisch mehrere Objekte nacheinander auf den vergangenen Positionen eines animierten Objekts platziert werden. Daher können beide Werte auch unterschiedlich sein.

Der Speicherplatz ist jedoch generell kleiner oder höchstens gleich groß im Vergleich zur Speichertiefe. Die Abbildung 2.19 zeigt noch einmal, wie der Speicherplatz-Port ausgewählt und über den Attribute-Manager mit Werten gefüllt werden kann.

Animation in Cinema 4D - Einstellen des Speicherplatzes

Abbildung 2.19: Einstellen des Speicherplatzes

Wie kommen wir nun aber an die vergangenen Zustände eines Objekts wirklich heran? Dafür sind die diversen Ausgang-Ports gedacht, die den Begriff Vorherige im Namen tragen. Dies wären also konkret Vorherige globale Matrix bzw. Vorherige lokale Matrix, Vorherige Größe, Vorherige Position und Vorherige Rotation. Am besten wir spielen dies an einem einfachen Beispiel einmal durch.

Über den Autor

Dieses Tutorial ist ein Auszug aus dem CINEMA 4D-Kompendium zur Animation von Arndt von Koenigsmarck. Das komplette C4D-Kompendium mit über 950 Seiten Know-how als Download (PDF) gibt es hier: CINEMA 4D-Kompendium – Die Animation.

Wir empfehlen:
Maxon BodyPaint 3D-Video-Training

Unsere Empfehlung für dich

Cinema 4D für Einsteiger – für R16/R17/R18

Cinema 4D für Einsteiger – für R16/R17/R18

Überschreite mit unserem neuen und sagenhaften Standardwerk für Cinema 4D die Grenzen der Wahrnehmung. Das Release 16 ist das beste Update, das Maxon je herausgebracht hat!

  • Neue Funktionen von R16, R17 und R18 im Detail erklärt
  • In über 15,5 Stunden Video-Training Cinema 4D von A bis Z ergründen
  • PLUS 850 PDF-Seiten und Arbeitsmaterialien
  • Maximales Kreativtraining: Nachbau des Covermotivs

Zum Training