Charakter-Animation: Ein Rig erstellen – Die Joint-Hierarchie anlegen – Teil 2

Die Arm- und Hand-Joints

Im Prinzip könnten wir die Joint-Objekte der Arme ebenfalls wieder symmetrisch über das Joint-Werkzeug anlegen lassen. Ich möchte Ihnen nach der Erstellung der Joints eines Arms aber ein weiteres Hilfsmittel vorstellen, mit dem sich Joint-Hierarchien auch nachträglich noch spiegeln lassen. Ansonsten ist natürlich der Weg über die direkt angelegte Link-Symmetrie zu bevorzugen. Wir starten also erneut das Joint-Werkzeug und achten darauf, dass kein Objekt im Objekt-Manager selektiert ist. Die neuen Joints würden ansonsten automatisch dem selektierten Objekt untergeordnet. Ich möchte dies lieber im Nachhinein selbst tun.

Wir deaktivieren also aus genannten Gründen die Symmetrie-Option des Werkzeugs und auch jede automatisch erzeugte inverse Kinematik. Was jedoch Sinn machen könnte ist die Aktivierung der Projektion-Option, damit diese Joints automatisch mittig im Arm und vor allem auch in den Fingern liegen. Wir beginnen die Joint-Kette an der Schulter, setzen dann einen Joint in den Ellenbogen und schließlich ein Joint-Objekt in das Handgelenk. Dafür bietet sich die frontale Editoransicht an. Damit später die Hand hart und ohne zu großen Übergang zum Unterarm abgewinkelt werden kann, sollte nun ein kurzer Bone folgen, an dem später die Handfläche gewichtet werden kann. Klicken Sie dafür mit gehaltener Shift-Taste auf den Unterarm-Bone, kurz vor das Handgelenk. Die folgende Abbildung 6.90 weist durch ein Mauszeiger-Symbol auf dieses Joint-Objekt hin. Anschließend führen Sie die Kette mit den Joints des Daumens fort. Stellen Sie dazu sicher, dass wieder der letzte Joint der Hierarchie ausgewählt ist, bevor Sie einen Joint in die Daumenwurzel setzen. Dank der automatischen Projektion bietet sich für diesen und die folgenden Arbeitsschritte die Ansicht von oben auf den Arm und die Hand an. Zwei weitere Klicks setzen das mittlere Daumengelenk und die Daumenspitze fest.

Animation in Cinema 4D - Platzierung der Joints in Arm und Daumen

Abbildung 6.90: Platzierung der Joints in Arm und Daumen

Weiter geht es mit den Joints der Finger. Diese sind jeweils unter dem Hand-Joint eingeordnet. Nachdem Sie die Joints eines Fingers erstellt haben, muss daher immer wieder dieser Hand-Joint selektiert werden, bevor das erste Gelenk des folgenden Fingers gesetzt wird. Daraus ergibt sich dann ein strahlenförmiger Fächer an Bones über dem Handrücken der Figur, so wie es auch die Abbildung 6.91 zeigt.

Animation in Cinema 4D - Die Joints der Finger verzweigen vom Hand-Joint

Abbildung 6.91: Die Joints der Finger verzweigen vom Hand-Joint

Wenn Sie nach Fertigstellung aller Finger einen Blick in den Objekt-Manager werfen, so werden Sie dort eine relativ umfangreiche Hierarchie vorfinden, die es nun erst einmal sinnvoll zu benennen gilt, um nicht den Überblick zu verlieren. Den ersten Joint nenne ich Oberarm links, dann den zweiten Unterarm links und den dritten Hand links. Der nachfolgende Joint, von dem sich alle Finger verzweigen, hat später für die Wichtung keine Bedeutung. Aus diesem Grund könnten wir dessen Bone-Menü auch auf Null stellen und damit optisch etwas auf der Hand aufräumen. Bei den Fingern brauchen wir uns dann nicht ganz so viel Mühe mit den Namen zu geben. Dennoch sollten Sie auch hier eindeutige Namen vergeben. Ich schlage jeweils den Namen des Fingers gefolgt von der Nummer des Gelenks vor. Die Joints am Daumen könnten Sie also z. B. mit Daumen links 1, Daumen links 2 und Daumenspitze links benennen, oder Sie denken sich selbst ein passendes Schema aus. Haben Sie die Joints statt im linken im rechten Arm angelegt, ersetzen Sie natürlich bei den Namen jeweils links durch rechts.

Bitte verstehen Sie diese Joint-Anordnung nur als einfaches Standard-Rig. Natürlich ließen sich noch diverse Joints hinzufügen, um z. B. die Elle/Speiche-Rotation des Unterarms besser umsetzen zu können. In dem Fall würde dann der Bone des Unterarms zusätzlich mittig geteilt, so wie es links in Abbildung 6.92 zu sehen ist. Über eine Schaltung können wir dann später eine Rotation des Unterarms um seine Längsachse nur dem zweiten Abschnitt dieser Strecke zuordnen. Wichtig ist jedoch jetzt erst einmal, dass die Ausrichtungen aller Arm-Joints einheitlich und für die Animation sinnvoll sind. Selektieren Sie dazu im ersten Schritt alle Arm-Joints und klicken Sie auf die Ausrichten-Schaltfläche im Attribute-Manager, wobei Achse Z und Bone Zum Unterobjekt ausgewählt sind. Die Joints entlang des Arms zeigen danach alle einheitlich mit Ihrer Z-Achse zum nachfolgenden Joint und mit ihren Y-Achsen nach oben. Das wäre in diesem Bereich schon ausreichend gut, da dann diese Achse für Rotationen z. B. im Ellenbogen günstig liegt. Achten Sie zudem darauf, dass die lokalen B-Winkel dieser Joints alle 0° betragen, damit nicht jetzt bereits eine Verdrehung um die Längsachse vorliegt. Aktivieren Sie ansonsten den Achse bearbeiten-Modus von Cinema 4D und korrigieren Sie die fehlerhaften Winkel einfach durch direkte Eingabe im Koordinaten-Manager oder in der Koordinaten-Rubrik des jeweiligen Joint-Objekts.

Animation in Cinema 4D - Teilung des Unterarm-Bones und Ausrichtung der Arm-Joints

Abbildung 6.92: Teilung des Unterarm-Bones und Ausrichtung der Arm-Joints

Bei den Finger-Joints sollte eine Achse jeweils so liegen, dass durch Rotation der Joints um diese Richtung die Finger natürlich zu einer Faust gekrümmt werden können. Dies erleichtert uns später die Konfiguration z. B. von Constraint-Tags zum Automatisieren solcher Bewegungen. Zum Ausrichten der Finger-Joints bietet sich die Nutzung eines externen Objekts an, das wir individuell pro Finger rotieren können. Dies könnte dann z. B. für den kleinen Finger wie in Abbildung 6.93 aussehen. Dort habe ich ein Null-Objekt auf dem Knöchel des kleinen Fingers platziert und so gedreht, dass die X-Achse dieses Objekts der gewünschten Drehachse für die Fingergelenke entspricht. Danach wird der erste Joint dieses Fingers selektiert und das Joint-Ausrichten-Werkzeug gestartet. Mit Achse Z und Richtung Bone trägt dies dafür Sorge, dass die Z-Achsen weiterhin auf den jeweils nächsten Joint zeigen. Mit Up-Achse X und Up-Richtung Objekt-Achse können wir unser manuell rotiertes Null-Objekt als Objekt zuweisen und betätigen dann die Ausrichten-Schaltfläche. Ist die Option für die Unterobjekte aktiv, werden automatisch alle Joint-Objekte dieses Fingers entsprechend ausgerichtet. Anschließend verschieben und drehen wir unser Null-Objekt passen zum nächsten Finger und starten den Vorgang erneut, diesmal eben mit der Selektion des ersten Joints an diesem zweiten Finger.

Animation in Cinema 4D - Platzierung eines Hilfsobjekts für die Ausrichtung der Joints am kleinen Finger

Abbildung 6.93: Platzierung eines Hilfsobjekts für die Ausrichtung der Joints am kleinen Finger

Sind Sie auf diese Weise mit allen Fingern durch, beschäftigen wir uns mit der inversen Kinematik von Ober- und Unterarm. Es macht Sinn, diese von der Handbewegung zu trennen, also nur bis zum Handgelenk laufen zu lassen. Da wir nun unseren Unterarm jedoch geteilt haben, gilt es zu vermeiden, dass zwischen diesen Joints ein Winkel entstehen kann. Der Unterarm soll schließlich in sich immer gerade bleiben. Ich modifiziere daher die Hierarchie etwas indem ich den Hand-Joint dupliziere, an dieser Kopie alle untergeordneten Objekte lösche und diese direkt unter dem Unterarm-Joint eingruppiere. Wir erhalten dadurch vom Ellenbogen ausgehend zwei Bones. Einer verläuft direkt zum Handgelenk und der andere zuerst zur Mitte des Unterarms und dann zum Handgelenk. Auf diese Weise können wir den langen Unterarm-Bone für das IK-Tag benutzen und den kurzen Bone später für eine separate Rotation des Unterarms. Fügen Sie also dem Oberarm-Joint ein IK-Tag hinzu und tragen Sie dort den kopierten Handgelenk-Joint als Ende ein. Lassen Sie anschließend ein Ziel dafür erstellen. Im zweiten Schritt wählen Sie eine geeignete Achse für den Polvektor (bei mir war dies die X-Achse) und lassen auch dafür ein Null-Objekt erstellen, das sie entlang der gewählten Achse vor den Körper ziehen (siehe Abbildung 6.94).

Animation in Cinema 4D - Zuweisung der inversen Kinematik und der externen Anfasser

Abbildung 6.94: Zuweisung der inversen Kinematik und der externen Anfasser

Nun geht es daran, die Bewegungen des Unterarms komfortabel steuern zu können. Ich rufe daher einen Kreis-Spline ab und ordne diesen unter dem Unterarm-Joint ein. Setzen Sie die lokale Position und die lokalen Winkel des Kreises auf 0 cm, 0 cm, 0 cm bzw. 0°, 0°, 0°, damit der Kreis erst einmal mittig auf dem Ellenbogen sitzt und dessen Ausrichtung übernimmt. Reduzieren Sie anschließend den Radius am Kreis-Spline auf ein vernünftiges Maß und ergänzen Sie ein Constraint-Tag. Daran wählen Sie den PGW-Modus und lassen in den dazugehörenden Einstellungen nur die Position des Unterarm-Joints auf den Kreis übertragen. Dadurch kann dieses Objekt später nicht aus Versehen verschoben werden. In den Offset-Werten können Sie nun noch den P.Z-Wert anpassen, um den Kreis ungefähr in die Mitte der Unterarmlänge zu verschieben. Ein zweites Constraint-Tag erhält der Joint, den wir mittig für die Drehung des Unterarms eingesetzt hatten. Auch dort wird der PGW-Modus aktiviert, diesmal jedoch um die Winkel des Kreis-Splines zu übernehmen. Dazu aktivieren wir die W lokal-Option, da sich beide Objekte auf der gleichen Hierarchiestufe befinden. Schließlich erhält der Kreis noch ein Interaktions-Tag, in dem wieder unser bekanntes Skript zum Einsatz kommt. Da die Drehung nun jedoch um die Z-Achse umzusetzen ist, sind minimale Anpassungen nötig, die jedoch nur die mouseDrag-Funktion betreffen. Die nachfolgenden Abbildung 6.95 gibt die letzten Arbeitsschritte wieder.

Animation in Cinema 4D - Zuweisung von Constraint- und Interaktions-Tags

Abbildung 6.95: Zuweisung von Constraint- und Interaktions-Tags

Hier noch die beiden Zeilen, die in der mouseDrag-Funktion zu modifizieren sind:
rot_new=rot_old.z+pi*weg/1800.0;
obj->SetAbsRot(vector(0, 0, rot_new));

Fingerbewegungen mit dem Pose Morph-Tag

Auch die Finger wollen später bewegt werden. Natürlich können auch hier wieder Interaktions-Tags und Constraint-Tags verwendet werden, ich möchte jedoch die Gelegenheit nutzen, Ihnen eine weitere Alternative dazu vorzustellen, das Pose Morph-Tag. Sie finden dies wie das Constraint-Tag oder die IK-Tags ebenfalls bei den Charakter-Tags. Wie auf der linken Seite von Abbildung 6.96 zu erkennen, verfügt das Pose Morph-Tag über verschiedene Optionen und ähnelt daher dem Constraint-Tag. Auch hier können durchaus mehrere Optionen kombiniert werden. Der Begriff Morph bzw. Morphing bedeutet, dass hier Eigenschaften überblendet oder gemischt werden können. Im Prinzip könnten wir damit also z. B. zwei Positionen eines Objekts speichern und diese anschließend über einen Schieberegler mischen lassen. Sie erkennen auch hier die Parallelen zum Constraint-Tag, bei dem ebenfalls über Wichtungen verschiedene Zielzustände gemischt werden könnten. Der Unterschied zum Pose Morph liegt jedoch darin, dass wir nicht unbedingt separate Objekte benötigen, um Zielzustände zu definieren. Zudem können wir z. B. auch Punktpositionen morphen, was sich dann eventuell für Mimik-Animationen im Gesicht eignet. In jedem Fall sollten Sie sich also am Anfang überlegen, welche Eigenschaften Sie überhaupt animieren möchten. Handelt es sich wie bei uns um Joints, fällt die Entscheidung leichter, denn hier kommen fast nur Positionen oder noch häufiger Winkel vor.

Animation in Cinema 4D - Optionen und Einstellungen eines Pose Morph-Tags

Abbildung 6.96: Optionen und Einstellungen eines Pose Morph-Tags

Wie Sie sich also bereits gedacht haben, bedeuten die Optionen für Position, Größe und Winkel, dass sich das Tag eben diese Eigenschaften merken und dann auch morphen kann. Dabei bezieht sich das Tag eigentlich nur auf das Objekt, dem es zugewiesen wurde, kann jedoch durch Anschalten von Hierarchie auch alle untergeordneten Objekte mit einbeziehen. So lassen sich dann auch komplexe Posen einer ganzen Hierarchie merken und animieren.

Lassen Sie sich beim Aktivieren einer Option nicht davon verunsichern, dass sich der Dialog automatisch umschaltet. Über den Basis-Reiter im Attribute-Manager kommen Sie jederzeit zu diesen Optionen zurück und können so die gewünschte Kombination zusammenstellen. Da sich das Tag jedoch beim Aktivieren einer Option bereits den zur Option passenden Zustand des Objekts merkt, sollten Sie mit dem Ausschalten von Optionen vorsichtig sein. Es gehen dadurch ggf. bereits vorgenommene Änderungen verloren. Dies kann besonders bei der Option Punkte ärgerlich sein, wenn sich dadurch die Form eines Objekt verändert. Mit Punkte sind nämlich tatsächlich die Oberflächenpunkte von Splines oder Polygon-Objekten gemeint. Handelt es sich um ein parametrisches Objekt können Sie die Parameter-Option benutzen. Alle Einstellungen der Objekt-Einstellungsseite des Objekts werden dann gespeichert und können über das Tag animiert werden. Ähnlich verhält es sich mit der Benutzerdaten-Option, die sich dann die von uns selbst angelegten Benutzerdaten und deren Einstellungen merken kann. Aber auch Maps, damit sind Wichtungs- und Vertex-Maps gemeint, und UVW-Tags (UV-Option) können gespeichert und somit auch in einer Animation verändert werden.

In unserem Fall weisen wir das Pose Morph-Tag dem Joint-Objekt zu, von dem aus alle Finger-Joints verzweigen und aktivieren die Optionen für Hierarchie und Winkel in den Basis-Eigenschaften des Tags. Sie finden dann einen Reiter für den Tag-Dialog im Attribute-Manager. Das Tag befindet sich anfänglich im Bearbeiten-Modus. Dies bedeutet, dass es sich ab sofort alles merkt, was wir an den zugewiesenen Objekten verändern. Alle Veränderungen werden dabei unter dem Begriff Pose.0 gemerkt, den Sie bereits selektiert in der Posen-Auflistung finden können. Dort sehen Sie auch den Eintrag für die Grundpose. Die Grundpose und Pose.0 sind anfänglich noch identisch, enthalten also den gleichen Zustand. Es wird immer die Pose im Editor angezeigt und kann dort editiert werden, die in der Posen-Liste ausgewählt ist. Mit einem Doppelklick auf den Namen einer Pose kann dieser editiert werden. Lassen Sie uns daher Pose.0 in Kleiner Finger umbenennen. Hinter den Posen finden Sie zudem kleine Symbole. Die Grundpose wird mit einem b und die Zielposen werden mit dem Symbol einer Zielscheibe markiert. Das kleine Bügelschloss kann zum Verriegeln benutzt werden. Ist es geschlossen, lassen sich keine Veränderungen mehr an dieser Pose vornehmen. Sie ist dadurch geschützt. Das Optionsfeld am Ende markiert die Zielposen als aktiv oder inaktiv. Nur aktive Posen lassen sich später z. B. auch mit anderen zusammenmischen und animieren. Einige dieser Optionen finden Sie auch in dem Kontextmenü wieder, das sich entweder bei einem Rechtsklick auf eine Pose oder in den leeren Bereich der Posen-Liste öffnet (siehe seitliche Abbildung).

So finden Sie hier z. B. auch eine Option für einen Ordner, in dem Sie dann mehrere Ziele gruppieren können. Je nach Anzahl Ihrer Morph-Ziele kann es für Übersichtlichkeit sorgen, diese thematisch zu sortieren. Zudem werden die Morph-Regler, die später beim Animieren der Posen benutzt werden, dann automatisch in Gruppen angezeigt, je nachdem in welchem Ordner sich die Posen befinden. Sind bereits mehrere Posen definiert worden, so können Sie deren Werte auch Zusammenfassen lassen. Es entsteht dann eine neue Ziel-Pose die alle Eigenschaften der zuvor selektierten Posen enthält. Die Original Posen werden dabei gelöscht. Über X spiegeln, Y spiegeln und Z spiegeln können selektierte Posen auch entlang ihrer lokalen Achsen gespiegelt werden.

Neben den typischen Befehlen zum Kopieren, Einsetzen und Ersetzen finden Sie dort auch Optionen zum Selektieren und Deselektieren oder zum Aktivieren und Deaktivieren einzelner oder aller Posen-Einträge. Wenn Sie die Punkte-Option aktiviert haben, sich also die Punktpositionen der Oberfläche in den Posen-Einträgen merken möchten, enthält dieses Kontextmenü zusätzliche Einträge. Selektion zur Grundpose bedeutet dann, dass Sie damit die Punktpositionen an der selektierten Pose wieder in den Zustand der Grundpose bringen können. Mit Zu Mesh lässt Sie sich von einer Pose ein neues Polygon-Objekt erzeugen. Solche separaten Objekte können dann durchaus auch wieder zu einer Pose werden, wie Sie gleich im Anschluss noch lernen werden.

Um eine neue Pose zu erzeugen, klicken Sie einfach auf die Pose hinzufügen-Schaltfläche. Sie können aber auch eine echte Kopie des Objekts oder der zu morphenden Hierarchie erstellen, deren Form oder Stellung individuell verändern und dann dieses Objekt direkt aus dem Objekt-Manager in die Posen-Liste ziehen. Dabei müssen Sie jedoch etwas aufpassen, besonders wenn es um Positionen, Größen und Winkel geht, denn diese merkt sich das Tag automatisch in Relativkoordinaten, also immer bezogen auf ein direkt übergeordnetes Objekt. Da bereits Position, Größe und Winkel des Objekts mit dem Pose Morph-Tag in dem Tag gespeichert werden, müssen Sie ggf. auch das Objekt darüber mit kopieren, damit die Objektkoordinaten an der Kopie so wie am Original erhalten bleiben. Die Abbildung 6.97 stellt so ein Szenario dar. Dort wurde der Hand links-Joint kopiert, unter dem der Joint mit dem Pose Morph-Tag liegt. Das Pose Morph-Tag wird dann von der kopierten Hierarchie gelöscht. Sie können dann die Finger-Joints in dieser kopierten Hierarchie beliebig neu posen, bevor Sie das zweite Objekt dieser Hierarchie in die Posen-Liste hineinziehen. Es erscheint dann ein Dialog, der ebenfalls in Abbildung 6.97 zu sehen ist und der uns die Optionen eines absoluten oder eines relativen Ziel gibt.

Animation in Cinema 4D - Separate Ziele als Posen benutzen

Abbildung 6.97: Separate Ziele als Posen benutzen

Absolut bedeutet, dass sich die Pose alle Eigenschaften im Rahmen der Basis-Auswahl (Position, Größe, Winkel, Punkte, etc.) merkt, unabhängig davon, ob es Unterschiede zur Grundpose gibt oder nicht. Bei Relativ werden in den Posen nur die Unterschiede gemerkt. Dies ist somit die speicherschonendere Variante und auch die Voreinstellung beim Anlegen neuer Posen.
Es gibt jedoch auch Nachteile. Bei einer absoluten Pose werden Sie immer exakt den darin gespeicherten Zustand wieder abrufen können.

Verändert sich hingegen die Grundpose, kann das Überblenden zu einer relativen Pose ein anderes Ergebnis bringen als ursprünglich in der Pose abgelegt wurde. Haben Sie ein separates Objekt in die Posen-Liste gezogen und dann Absolut gewählt, erscheint neben dem neuen Posen-Eintrag im Dialogbereich Weitergehendes eine Verlinkung zu dem Objekt als Ziel. Dies gibt Ihnen weiterhin die Möglichkeit, Veränderungen an diesem Objekt durchzuführen oder es sogar separat zu animieren oder über ein anderes Pose Morph-Tag zu editieren und damit gleichzeitig die damit zusammenhängende Pose zu verändern. Dies bedeutet aber auch, dass Sie dieses Objekt nun nicht mehr löschen dürfen. Ansonsten geht die Pose ebenfalls verloren.

Ziele für Posen können auch als Dateien gespeichert und wieder geladen werden. Dadurch können Sie den Speicherbedarf bei Projekten mit vielen Pose Morph-Zielen senken. Selektieren Sie herzu die entsprechende Pose in der Liste des Tags und klicken Sie dann auf die Speichern…-Schaltfläche im Weitergehendes-Bereich. Über die Schaltfläche mit den drei Punkten (…) können Sie solche Dateien dann wieder laden und mit der gerade aktiven Pose verknüpfen.

Wie bereits erläutert, bearbeiten Sie immer die Pose, die aktuell in der Posen-Liste aktiv ist. Dies liegt an der Voreinstellung des Bearbeiten-Menüs, das Sie unter der Posen-Liste finden können. Bearbeiten Selektiert bedeutet also, dass immer nur die aktuelle selektierte Pose in den Ansichtsfenstern angezeigt und dann auch editiert werden kann. Bearbeiten Deaktiviert sperrt jede Veränderung an den Posen. Die vorhandenen Posen können jedoch nach wie vor durch Anklicken im Editor angezeigt und auch über den Stärke-Regler interaktiv zur Grundpose gemischt werden. Bearbeiten Kumuliert zeigt alle Posen in ihrem aktuellen Mischungsverhältnis zur Grundpose gleichzeitig an. Sie können dabei also die vorhandenen Posen der Reihe nach selektieren und deren Stärke individuell einstellen. Möchten Sie aus einer derart zusammengemischten Pose eine neue, eigenständige Pose erzeugen, führen Sie einen Shift-Klick auf Pose hinzufügen aus. Bei diesem kumulierten Mischen können Sie auch einzelne Posen ausnehmen lassen, wenn Sie deren Häkchen in der Posen-Liste ausklicken.

Kommen wir nun schließlich zum Mischen-Menü. Hierüber legen Sie fest, wie eine Pose mit der Grundpose zusammengemischt werden soll. Die Einstellungen für Absolut und Relativ kennen Sie bereits. Bei Absolut werden alle Eigenschaften der Grundpose, die den Optionen der Basis-Eigenschaften des Tags entsprechen, durch eine Pose beeinflusst. Bei Relativ werden nur die Eigenschaften gemorpht, die sich von der Grundpose unterscheiden. Wenn Sie sich mit der Mathematik hinter der Überblendung von Daten, also dem Morphing beschäftigen, so wird dies zumeist nur linear interpoliert. Speichert die Grundpose die Position 0, 0, 0, und eine Pose die Position 100, 0, 0 und wird dann diese Pose mit einer Stärke von 50% verwendet ergibt sich daraus eine Position von 50, 0, 0. Stellen Sie sich nun jedoch vor, Sie möchten das Augenlid Ihrer Figur über ein Pose Morph-Tag öffnen oder schließen. Der soeben beschriebenen Logik folgend würden sich die Punkte des Augenlids zwischen den Maximalstellungen (Auge offen, Auge geschlossen) nur auf einer geraden Linie bewegen und so im schlimmsten Fall das Auge durchdringen. Stattdessen wäre es sicher sinnvoller, die Punkte könnten über eine Achse zwischen der Grundpose und der Ziel-Pose gedreht werden. Exakt dafür ist Mischen Drehend gedacht. Die folgende Abbildung 6.98 stellt das Problem bei normalem Morphing noch einmal plastisch dar.

Animation in Cinema 4D - Beim normalen Morphing werden die Werte linear interpoliert

Abbildung 6.98: Beim normalen Morphing werden die Werte linear interpoliert

In der Bildfolge der Abbildung 6.98 sehen Sie eine konvertierte Ebene, die mit einem Pose Morph-Tag versehen wurde an dem die Punkte-Option angeschaltet wurde. Die Grundpose besteht aus dem normalen Zustand der Ebene. In Pose.0 wurde die Ebene dann durch die Verformung mit Magnet- und Pinsel-Werkzeugen so verformt, dass sie die Halbkugel teilweise umhüllt. Verschieben wir nun den Stärke-Regler zwischen 0% und 100% so können wir die Bewegung der Punkte beobachten, die einfach einer geraden Verbindungslinie zwischen der Start- und der Ziel-Position jedes Punkts folgen. Wir verschieben den Stärke-Regler wieder auf 0% um die ursprüngliche Ebene zu sehen und selektieren nun zwei Punkte auf der Ebene dort, wo eine Drehachse für die Punkte liegen könnte.

Die Abbildung 6.99 zeigt Ihnen so eine Selektion, die wahlweise aus zwei Punkten oder einer selektierten Kante bestehen kann. Nach dem Umschalten des Mischen-Menüs im Pose Morph-Tag auf Drehend erscheinen neue Einstellungen in der Drehung-Rubrik.

Animation in Cinema 4D - Definition einer Drehachse für das Morphing

Abbildung 6.99: Definition einer Drehachse für das Morphing

Hier können wir den Startpunkt einer Drehachse über die Pos.X, Pos.Y und Pos.Z-Werte eintragen. Dabei handelt es sich um eine Position im lokalen System des Objekts mit dem Tag. Die Werte für Achse.X, Achse.Y und Achse.Z geben von diesem Punkt aus eine Richtung an, wo der Endpunkt der Drehachse relativ zum Startpunkt liegen soll. Diese Parameter können Sie natürlich manuell ausfüllen, oder aber Sie benutzen die Schaltflächen für Von Kanten bzw. für Von Punkten, sofern Sie vorher eine Selektion von zwei Punkten oder einer Kante erstellt haben. Wenn Sie nun den Stärke-Regler bedienen, können Sie ein Ergebnis wie in Abbildung 6.100 beobachten. Die Punkte werden auf einem Bogen um die definierte Drehachse bewegt und nicht mehr auf einer Geraden.

Animation in Cinema 4D - Drehendes Morphing der Punkte

Abbildung 6.100: Drehendes Morphing der Punkte

Das Pose Morph-Tag wird aber auch gerne zur Korrektur von Punktpositionen eingesetzt, die eventuell durch nachlässiges Wichten von Joints und deren Deformationen an ungünstigen Stellen landen. Auch hier liegt der Haupteinsatz also beim Morphing von Punkten. Stellen Sie sich ein Ergebnis durch Bone-Deformationen wie in Abbildung 6.101 vor. Das Anwinkeln des Unterarm-Joints führt hier dazu, dass es eine unnatürlich harte Kante in der Armbeuge gibt. Wenn wir dem Arm-Modell nun ein Pose Morph-Tag im Punkte-Modus zuweisen und die Pose.0 z. B. mit dem Pinsel-Werkzeug im Glätten-Modus benutzen, können wir die harte Kante glätten, während die verformte Armpose weiterhin sichtbar bleibt. Das Ergebnis ist ganz rechts in Abbildung 6.101 zu sehen und entspricht einer 100% Stärke der Pose.0 mit Mischen Korrigierend. Diese Stärke muss dann natürlich beim Strecken des Arms von Ihnen manuell wieder auf 0% reduziert werden. Dies ließe sich über ein kleine XPresso-Schaltung machen, durch die eine Beziehung zwischen dem eingeschlossenen Winkel der Arm-Bones und der Pose Morph-Stärke hergestellt wird.

Animation in Cinema 4D - Korrektur einer Joint-Deformation

Abbildung 6.101: Korrektur einer Joint-Deformation

Der Hauptunterschied bei Mischen Korrigierend zu den bisher genannten Mischen-Einstellungen liegt darin, dass die Punktbewegungen relativ zur bereits deformierten Form und nicht relativ zur undeformierten Grundpose berechnet werden. Der Modus Mischen Korrigierend (Bereich) macht im Prinzip das gleiche, kann sich jedoch bei einer Größenveränderung der gemorphten Oberfläche in seiner Intensität automatisch anpassen. Eine solche Größenveränderung könnte z. B. durch einen Muskel ausgelöst werden, der die Oberfläche zusätzlich nach außen drückt. Wir kommen noch auf die Muskelsysteme von Cinema 4D zurück.

Immer wenn Sie korrigierend auf ein bereits deformiertes Mesh einwirken möchten, können Sie zusätzlich die Option für Nach Deformern hinzunehmen. Das Morphing wird dann erst nachdem die Deformation z. B. durch Skin-Objekte berechnet wurde auf das Tag tragende Objekt angewendet. Dies dürfte der normalen Funktion einer Korrektur am nächsten kommen und stellt zudem sicher, dass die im Editor dargestellte Form so tatsächlich auch später im Rendering zu sehen ist. Zudem wird nur so die Arbeit am Morph-Ziel möglich, wenn die Option für Deformierte bearbeiten in den Ansichtsvoreinstellungen ausgeschaltet ist.

In diesem Zusammenhang müssen wir noch kurz über die Prioritäten des Tags sprechen. Wie Sie sicherlich schon bemerkt haben, stehen diesmal sogar zwei verschiedene Prioritäten in den Basis-Eistellungen des Tags bereits. Die Grundpriorität legt fest, wann die Grundpose während der Aktualisierung der Szene ausgelesen wird. Diese Grundpose, also z. B. unsere Figur, wird dann eventuell noch von anderen Deformatoren in ihrer Form verändert. Anschließend kommen dann die zusammengemischten Morph-Ziele auf die Figur. Um eine derartige Abfolge von Aktionen definieren zu können. lässt sich mit der Priorität festlegen, wann das Tag sein Ergebnis auf das Objekt übertragen soll. Die Priorität muss daher immer mindestens gleich oder höher sein als die Grundpriorität. In der Praxis ist es so, dass Sie hier wahrscheinlich nichts zu verändern brauchen. Dies liegt unter anderem an der Nach Deformern-Option, die wir ja zusätzlich aktivieren können, um die Berechnung des Tags generell erst nach allen Deformationen ausführen zu lassen. Generell bringt es Geschwindigkeitsvorteile, wenn die Grundpriorität und die Priorität identisch sind, da das Tag dann in einem Berechnungszyklus die Grundpose auslesen und das Morph-Ergebnis übertragen kann. Ansonsten sind zwei Tag-Durchläufe zu unterschiedlichen Zeitpunkten währen der Aktualisierung der Szene nötig. Weitere Informationen zum Thema Prioritäten finden Sie im XPresso-Kapitel.

Die angehängten Optionen für Kameraabhängig zwingen das Tag auch dann schon zu einer Aktualisierung der Grundpose oder des Morphings, wenn nur die Kamera bzw. deren Blickwinkel auf das gemorphte Objekt verändert werden. Dies sollte in der Regel nicht notwendig sein. Abschließend zur Betrachtung der Basis-Eigenschaften des Pose Morph-Tags finden Sie ganz unten noch einen Wert für den aktuell Verwendeten Speicher, der für die Speicherung der Posen benötigt wird. Besonders bei Benutzung der Punkte-, UV-, Maps- und Hierarchie-Optionen kann dieser Wert schnell ansteigen, zumal wenn es um Absolutes Morphing geht, das Tag sich also auch in einer Pose gegenüber der Grundpose unveränderte Eigenschaften merkt.

Schauen wir abschließend zur Besprechung des Pose Morph-Tags noch auf dessen Einschließen-Rubrik. Dazu müssen Sie wissen, dass das Tag nicht zwingend auf dem Objekt liegen muss, dass über Morphing verändert werden soll. Tatsächlich ist dessen Position im Objekt-Manager beliebig wählbar, was später für die Bedienung der Stärke-Regler zum Mischen der Morph-Ziele praktisch sein kann.

Sie ziehen dann also einfach nur das Objekt, welches gemorpht werden soll, in das Ziel-Feld der Einschließen-Rubrik hinein. Haben Sie die Hierarchie-Option des Tags aktiviert, können Sie über die Objekte-Liste darunter beliebige Objekte, die unter dem Ziel-Objekt gruppiert wurden Einschließen oder Ausschließen lassen, je nach Modus-Einstellung. So lassen sich dann auch innerhalb einer Hierarchie mit dem Modus Ausschließen ganze Objekt-Ketten vom Morphing ausnehmen, was natürlich Speicher spart und die Berechnungsgeschwindigkeit steigert. Zudem müssen Sie dann keine ggf. versehentliche Beeinflussung dieser Objekte durch das Morphing befürchten. Ziehen Sie einfach die entsprechenden Objekte aus dem Objekt-Manager in die Objekte-Liste hinein. Sie kennen dieses Prinzip auch von anderen Stellen, wie z. B. den Licht-Objekten von Cinema 4D, wo auf diese Weise die Beleuchtung individuell geregelt werden kann. Hinter den gelisteten Objekten finden Sie zudem ein kleines Hierarchie-Symbol, das sich durch Anklicken aktivieren lässt. In dem Fall werden dann automatisch alle Objekte in der diesem Objekt untergeordneten Hierarchie ebenfalls mit der Modus-Eigenschaft belegt. Sie müssen dann also immer nur noch die obersten Objekte eines Hierarchiezweigs in die Liste ziehen und nicht mehr alle Objekte einzeln. Nach einem Rechtsklick auf Einträge der Objekte-Liste erscheint ein Kontextmenü, über das Sie Einträge auch wieder entfernen können, falls Sie sich vertan haben.

Lassen Sie uns nun also nach diesem Überblick der Pose Morph-Funktion zu unserem Rig und der Fingerbewegung zurückkommen. Wir benutzen das Pose Morph-Tag mit den Modi Winkel mit Hierarchie und haben die Pose.0 bereits in Kleiner Finger umbenannt. Stellen Sie sicher, dass der Stärke-Regler auf 100% steht, Mischen Relativ verwendet wird und bringen Sie nun die Joints des kleinen Fingers über eine Rotation um deren X-Achse (sofern Sie mein Ausrichtungsschema übernommen haben) in eine Pose, die einen komplett eingerollten Finger zeigt, so als würde die Figur eine Faust machen, nur eben singulär für den kleinen Finger betrachtet. Dabei sollten ungefähr 90°-Winkel zwischen den Bones des Fingers herauskommen, so wie es die grün gefärbten Joints in Abbildung 6.102 zeigen. Sind Sie mit der Pose zufrieden, klicken Sie auf die Schaltfläche für Pose hinzufügen, benennen die neue Pose um in z. B. Ringfinger und bringen die Joints des Ringfingers durch Rotation um eine ihrer Achsen in einen vergleichbaren Zustand. Möchten Sie die bislang erstellten Posen miteinander vergleichen, können Sie kurzzeitig Bearbeiten Kumuliert verwenden. Arbeiten Sie sich auf diese Weise Finger für Finger durch die Hierarchie der Hand.

Animation in Cinema 4D - Zielpose der Joints am kleinen Finger

Abbildung 6.102: Zielpose der Joints am kleinen Finger

Sind Sie vorerst mit allen Zielen bzw. Pose zufrieden, wechseln Sie in den Modus Animieren, so wie es auch die Abbildung 6.103 zeigt. Es bleiben dann nur noch Regler für die Intensität unserer Posen übrig, mit denen Sie nun schon sehr viele gängige Fingerbewegungen zusammenmischen können. En globaler Stärke-Regler gibt die Beeinflussung des Objekts oder der Hierarchie insgesamt wieder. Falls Ihnen noch weitere Posen einfallen, können Sie jederzeit wieder in den Bearbeiten-Modus zurückschalten, die vorhandenen Posen editieren oder neue hinzufügen.

Animation in Cinema 4D - Der Animieren-Modus eines Pose Morph-Tags

Abbildung 6.103: Der Animieren-Modus eines Pose Morph-Tags

Wenn Sie nun die Animationsregler des Pose Morph-Tags einzeln bewegen, sollte sich jeweils nur einer der Finger krümmen oder strecken. Dabei sind durchaus auch Werte über 100% oder im negativen Bereich unter 0% möglich, um zu ganz neuen Posen zu gelangen. Gerade bei den Rotationen des ersten Fingergelenks werden Sie jedoch vielleicht feststellen, dass es dort beim Einrollen der Finger zu merkwürdigen Schlenkern kommt, wenn der Regler zwischen 0% und 100% verschoben wird. In den Maximalstellungen 0% und 100% werden die Grundpose und die angelegte Ziel-Pose perfekt erreicht, aber der Weg dazwischen ist natürlich dem Algorithmus des Tags überlassen. Dies ist ein typisches Phänomen bei der Animation von Winkeln, da diese generell linear interpoliert werden. Dies lässt sich auch durch Mischen Drehend nicht verbessern, da diese Option nur mit Punkten funktioniert. Es liegt schlicht daran, dass die Achsen der Hand, also des direkten Überobjekts der ersten Finger-Joints, gegenüber den Fingern anders orientiert sind. Obwohl wir nur um die X-Achse der Finger drehen ergibt sich dadurch eine überlagerte Multiplikation mit einem anders orientierten Drehsystem. Solche Effekte bekommen wir nur in den Griff, wenn wir neutrale Achsensysteme dazwischen schalten. U. a. dafür werden Null-Bones benutzt. Schalten Sie dazu das Pose Morph-Tag wieder in den Bearbeiten-Modus und selektieren Sie dort die Grundpose, damit die neutralen Fingerstellungen angezeigt werden. Erstellen Sie dann fünf neue Joint-Objekte, die Sie einzeln über das Charakter-Menü abrufen können und lassen Sie deren Positionen und Winkel an den jeweils ersten Joint jedes Fingers anpassen. Selektieren Sie dazu eines der neuen Joint-Objekte und wählen Sie Werkzeuge > Objekte anordnen > Übernehmen. Ziehen Sie in den Dialog dieses Werkzeugs den entsprechenden Finger-Joint in das Übernehmen von-Feld und bestätigen Sie mit der Zuweisen-Schaltfläche im Werkzeug-Reiter des Attribute-Managers. Verfahren Sie entsprechend mit den übrigen vier neuen Joints. In den Objekt-Einstellungen dieser Joint-Objekte wählen Sie Bone Null und Darstellung Keine für Joint aus. Dadurch haben diese Joints später keine Wirkung auf das Mesh und dessen Deformation und dienen ausschließlich dem Zweck der Koordinatenbereinigung in der Hierarchie.

Ordnen Sie nun die neuen Joints jeweils als direkte Überobjekte der Finger ein, so wie es auf der rechten Seite von Abbildung 6.104 zu sehen ist. Dadurch verändern sich automatisch die Grundstellungen unserer alten Finger-Joints zu Position 0, 0, 0 und Winkel 0°, 0°, 0°, die perfekte Ausgangslage für das Morphen von Winkeln.

Animation in Cinema 4D - Ergänzung und Einordnung neuer Joint-Objekte vor den Finger-Joints

Abbildung 6.104: Ergänzung und Einordnung neuer Joint-Objekte vor den Finger-Joints

Diese Veränderungen müssen aber auch dem Pose Morph-Tag mitgeteilt werden, das sich aktuell ja noch andere Winkel der Grundpose merkt. Selektieren Sie daher dort die Grundpose und setzen Sie anschließend z. B. im Koordinaten-Manager alle Positionen und Winkel der jeweils ersten Joints unter den neuen Null-Bones auf 0 cm, bzw. 0°. Die Grundpose aktualisiert sich dadurch automatisch. Gleiches muss nun noch für die einzelnen Fingerposen geschehen, ist jedoch schnell erledigt. Es gibt hier schließlich immer nur um das erste Fingergelenk. Selektieren Sie als z. B. die Pose des Zeigefingers und setzen Sie dessen Stärke auf 100%. Setzen Sie dann im Koordinaten-Manager die Winkel für Winkel H und Winkel B auf jeweils 0°. Wir wollen schließlich nur eine Rotation um die Pitch-Achse (vorausgesetzt auch Ihre Gelenke drehen sich um deren lokale X-Achse). Nachdem Sie dies mit allen Fingern durchgeführt haben schalten Sie das Tag in den Animieren-Modus zurück. Nun sollten sich die Finger nur noch innerhalb einer 2D-Ebene animieren lassen, die durch die YZ-Ebene des obersten Finger-Joints definiert wird.

Die Hand-Animation ermöglichen

Nun ist es fast geschafft, nur das Abwinkeln der Hand ist noch nicht durch einen Anfasser möglich. Im Prinzip wäre dies nicht tragisch, da für solche Bewegungen auch die jeweiligen Joints direkt animiert werden könnten, die Arbeit mit tief in einer Hierarchie versteckten Objekten sollte jedoch möglichst minimiert werden, damit der Vorgang der Animation intuitiver und möglichst ausschließlich in den Ansichtsfenstern zu erledigen ist.

Ich verwende wieder einen Kreis-Spline als Form für den Anfasser und ordne dieses Objekt direkt unter dem Joint ein, der die Drehung des zweiten Unterarm-Abschnitts steuern soll. Dieser Kreis erhält ein Constraint-Tag, das ihn an die Position dieses Bones bindet. Über Offset-Werte verschiebe ich die Splineform an eine passende Stelle über dem Handrücken. Die Übertragung der Position und auch die X- und Z-Winkel erfolgt in lokalen Werten. Ein zweites Constraint-Tag erhält der Hand-Joint, der direkt auf den drehenden Unterarm folgt. Damit lasse ich die aktuelle lokale Drehung des neuen Kreis-Anfassers auf den Hand-Joint übertragen. Hier muss also nur der Pitch-Winkel übertragen werden (W.P).

In Abbildung 6.105 können Sie diese Einstellungen und die aktualisierte Hierarchie noch einmal sehen. Dort ist auch schon das Interaktions-Tag zu sehen, das dem Kreis-Spline auf der Hand zusätzlich zugewiesen wird.

Animation in Cinema 4D - Einstellungen der beiden neuen Constraint-Tags

Abbildung 6.105: Einstellungen der beiden neuen Constraint-Tags

Hier können Sie das gleiche Skript wie am Unterarm-Kreis verwenden, nur dass wieder die Drehachse angepasst werden muss. Insgesamt erkennen Sie hieran, dass das Prinzip dieser Bedienungshilfen immer identisch bleibt. Hier finden Sie noch einmal ausführlich die Veränderungen, die an der mouseDrag-Funktion vorzunehmen sind:

mouseDrag(doc, tag)
{
if (obj)
{
var weg=tag#INTERACTIONTAG_XPIXELS;
rot_new=rot_old.y+pi*weg/1800.0;
obj->SetAbsRot(vector(0, rot_new, 0));
}
}

Eine Joint-Hierarchie spiegeln

Wie bereits erwähnt, habe ich absichtlich nur einen Arm erstellt, damit wir nun auch die Möglichkeit haben, ein neues Werkzeug auszuprobieren. Joints und deren Hierarchien lassen sich nämlich auch nachträglich noch spiegeln, mithilfe des Spiegeln-Werkzeugs, das Sie im Charakter-Menü finden können. Dieses Werkzeug erstellt Ihnen automatisch eine Kopie der selektierten Objekte oder Hierarchien und spiegelt diese an einer beliebigen Ebene. Zusätzlich lassen sich auch Tags und sogar bereits für eine Seite einer Figur erstellte Wichtungen damit spiegeln. Wir werden uns hier auf die Spiegelung des Arm-Rigs und dessen Tags beschränken. Das Werkzeug bietet uns verschiedene Reiter im Attribute-Manager an, die wir der Reihe nach besprechen werden. Los geht es mit den Richtung-Einstellungen, die die Symmetrie-Ebene und die Richtung definieren in die gespiegelt werden soll. Das Ursprung-Menü legt dabei die Position, also den Mittelpunkt der Spiegelebene fest. Sie finden hier viele alte Bekannte wieder, die wir bereits bei den Symmetrie-Optionen des Joint-Werkzeugs besprochen haben. Ich denke, ich muss daher nicht bei jedem Menüpunkt in die Tiefe gehen. Welt steht für die Position und Richtung des Welt-Systems, Selektion meint die Position und Richtung des Objektsystems, das aktuell im Objekt-Manager selektiert wurde. Mit Überobjekt kann aber auch dessen direkt übergeordnetes Objekt ausgewertet werden und mit Root das oberste Objekt der Hierarchie, in der sich das selektierte Objekt befindet. Bei Objekt wird unterhalb ein Link-Feld für ein Objekt angezeigt. Hierbei können Sie also ein beliebiges Objekt aus dem Objekt-Manager zuweisen. Ich konnte bei mir Updateprobleme im Attribute-Manager beobachten, wenn Ursprung Objekt ausgewählt wird. Teilweise wurde das Objekt-Feld dann nicht angezeigt. Das Hin- und Herschalten zwischen den Rubriken des Werkzeugs half dann bei mir.

Animation in Cinema 4D - Einstellungen des Spiegeln-Werkzeugs

Abbildung 6.106: Einstellungen des Spiegeln-Werkzeugs

Der Ursprung Drehpunkt wird an Joint-Objekten selbst aktiviert. Das Werkzeug durchsucht dabei die Hierarchie oberhalb des selektierten Objekts nach dem ersten Joint-Objekt, das die Drehpunkt-Option in seinen Symmetrie-Einstellungen aktiviert hat. Angebundenes Mesh hingegen sucht ein Polygon-Objekt mit Wichtungs-Tag. Wie wir bereits am Anfang dieses Kapitels gesehen haben, werden über Wichtungs-Tags Beziehungen zwischen den Joint-Objekten und den zu verformenden Objekten hergestellt. Zudem enthalten die Wichtungs-Tags natürlich die eigentlichen Wichtungen, also die Informationen darüber, wie stark jeder einzelne Punkt an die Bones geknüpft wird. Es wird nach dem ersten Objekt gesucht, dessen Wichtungs-Tag das aktuell selektierte Joint-Objekt enthält. Die Achsen dieses Polygon-Objekts werden dann für die Spiegelung genutzt. Dies ist durchaus recht praktisch, da viele Figuren symmetrisch modelliert sind und ihr Achsensystem genau in der Mitte liegt.

Nachdem nun die Lage des Bezugssystems für das Spiegeln bestimmt ist, geht es in dem Koord.-Menü um das Achsensystem. Mit Koord. Lokal kann direkt das Achsensystem an dem Objekt benutzt werden, das über Ursprung ausgewählt wurde. Bei Koord. Welt werden die Welt-Achsen zum Spiegeln benutzt und bei Ansicht kommt es auf die gerade aktive Editoransicht an. Gespiegelt wird immer entlang der horizontalen Richtung der Ansicht, wobei Sie sich auf die orthogonalen Ansichten beschränken sollten (z. B. die Ansichten Oben, Vorne oder Rechts). Wurde ein Arm seitlich ausgestreckt, entlang der Welt X-Richtung modelliert, könnte er dann also in den Ansichten Oben und Vorne mit Koord. Ansicht und Ursprung Welt zur anderen Seite gespiegelt werden. Wären die Ansichten Rechts oder Links selektiert, würde der Arm parallel zum Original und auf dem gleichen Abschnitt der Welt X-Achse gespiegelt.

Wurde die Richtung der Welt-Achsen oder der lokalen Achsen bei Koord. selektiert, können Sie über das Achse-Menü die gewünschte Richtung auswählen. X (YZ) bedeutet somit, dass entlang der X-Achse gespiegelt wird und somit die Symmetrie-Ebene zwischen den Y-/Z-Achsen liegt. Das Spiegele-Menü ist dann interessant, wenn sich die Objekte Ihrer Hierarchie sowohl im positiven, wie auch im negativen Achsbereich befinden. Bei Spiegele +/- werden Objekte im positiven Bereich auf die negative Achse gespiegelt und Objekte im negativen Bereich auf die positive Seite. Die anderen Menüeinträge + zu – und – zu + spiegeln jeweils nur in eine Richtung.

Die Spiegeln-Optionen

In dieser Rubrik des Werkzeugs geht es darum, was beim Spiegeln überhaupt entstehen soll und wie das Spiegeln berechnet werden soll. Ziel Klone erstellt automatisch eine Kopie des selektierten Objekts und spiegelt diese. Ist in der Werkzeug-Rubrik die Option für Unterobjekte aktiv, werden automatisch auch Kopien aller untergeordneten Objekte erstellt und diese ebenfalls gespiegelt. Bei Ziel Objekt wird rechts im Dialog ein Objekt-Feld freigeschaltet. Hier können Sie ein beliebiges Objekt zuweisen, das als Spiegelung verwendet werden soll. Sie selektieren also z. B. ein Joint-Objekt, wählen Ziel Objekt und ziehen einen Würfel in das Objekt-Feld des Spiegeln-Werkzeugs. Nach dem Auslösen des Werkzeugs liegt dann der Würfel spiegelsymmetrisch zum selektierten Joint-Objekt. Beim Ziel Selbst werden keine Objekte kopiert. Das selektierte Objekt selbst wird nur in eine gespiegelte Lage gebracht.

Die Option für Links einschließen betrifft die Tags, die an den zu spiegelnden Objekten vorhanden sind. Wie beim IK-Tag kann es in diesen Tags Verlinkungen zu separaten Objekten geben, die gar kein Bestandteil der eigentlich gespiegelten Hierarchie sind. Die ist typisch für IK-Anfasser oder andere Objekte, die über Constraint-Tags mit den Joints verknüpft sind. Ist Links einschließen aktiv, werden diese Objekte ebenfalls kopiert und gespiegelt. Haben Sie zudem die Tags-Option in der Untergruppe Klone aktiviert, werden nicht nur die Tags der gespiegelten Objekte ebenfalls dupliziert, sondern dort auch gleich die richtigen Verlinkungen zu den neuen Zielen eingesetzt. Die Option für Joints verbinden stellt eine Link-Symmetrie zwischen den Joint-Objekten her und ist daher natürlich auch nur mit Joint-Objekten zu benutzen. Ansonsten ist das Spiegeln-Werkzeug da nicht wählerisch und kann im Prinzip zum Spiegeln beliebiger Objekte oder Hierarchien benutzt werden! Ist Joints verbinden aktiv, wird eine Link-Symmetrie für die duplizierten Joints aktiviert, so dass sich diese auch nach der Beendigung des Werkzeugs symmetrisch zu den Joints auf der Originalseite verhalten, wenn diese bewegt werden.

Die Einfrieren-Option kopiert die Positionen, Größen und Winkel der Kopien vor dem Spiegeln so in deren Rubrik für Eingefrorene Transformation, dass die Koordinaten identisch zu den Originalen bleiben. Dies kann interessant sein, wenn Sie z. B. XPresso-Schaltungen oder Skripte an den Objekten benutzen, die auf konkrete Winkel oder Positionen programmiert wurden. In dem Fall würden die Schaltungen dann auch auf der gespiegelten Seite ohne Änderungen direkt funktionieren.

In der Untergruppe Eigenschaften geben Sie an, welche Eigenschaften überhaupt gespiegelt werden sollen. Positionen sind für eine Spiegelung natürlich gar kein Problem, aber wie sieht es mit den Achsen z. B. von gespiegelten Joints aus? Wir haben dazu diverse Optionen im Achsen-Menü zur Verfügung. Achsen Keine würde gar keine Änderungen an den Achsen vornehmen. Die Achsen der gespiegelten Seite stehen dann genau so wie bei den Originalen. Bei Achsen Drehen werden die Achsen so gedreht, dass die Hauptachse der Originale (dies ist bei Joint-Objekten oft die Z-Achse) auf dem kürzesten Weg in eine gespiegelte Richtung zeigt. Dabei kann sich das gespiegelte System jedoch um diese Hauptachse verdrehen. Die Richtungen von X- und Y-Achse werden also nicht gespiegelt und können zu den Originalen völlig verdreht liegen. Die Abbildung 6.107 sollte dies deutlicher machen. Die linke Bildhälfte zeigt Achsen Keine, die rechte Abbildungshälfte zeigt Achsen Drehen. In beiden Bildern ist jeweils das reche Achsensystem das Original, das an Ursprung Welt und mit Koord. Welt entlang der Achse X (YZ) gespiegelt wird.

Animation in Cinema 4D - Das rechte Achsensystem wird jeweils gespiegelt

Abbildung 6.107: Das rechte Achsensystem wird jeweils gespiegelt

Bei den übrigen Achsen-Einstellungen werden immer die beiden Achsen gespiegelt, die im Menü ausgewählt werden können. Die Richtung der jeweils dritten Achse ergibt sich dann durch den üblichen Drehsinn und die 90°-Winkel zwischen den Achsen. Die folgende Abbildung 6.108 zeigt diese Optionen im Detail wieder am Beispiel des Achsensystems, das wir bereits in Abbildung 6.107 benutzt haben.

Animation in Cinema 4D - Die übrigen Achsen-Einstellungen beim Spiegeln

Abbildung 6.108: Die übrigen Achsen-Einstellungen beim Spiegeln

Die Option für Wichtungen führt zu einer zusätzlichen Spiegelung der Wichtungsinformationen bei gespiegelten Polygon-Objekten. Dies ist somit beim Spiegeln einer Hierarchie, die nur aus Joint-Objekten besteht, nicht relevant. Die Punkte-Option hat ebenso nur eine Wirkung, wenn die gespiegelten Objekte Punkte enthalten. Es werden dann nur die Punktpositionen entlang der gewählten Achse gespiegelt. Das Achsensystem des gespiegelten Objekts bleibt dabei mit dem des Originals identisch, sowohl bezüglich der Ausrichtung als auch bezüglich der Position im Raum. Es bleibt somit nur noch die Animation-Option, durch die auch die Keyframe-Animationen beim Spiegeln übertragen werden können. Dabei müssen Sie darauf achten, die Einfrieren-Option ausgeschaltet zu lassen. Ansonsten ergibt sich in der Animation ein zusätzlicher Offset!

Wenn wir an unser Arm-Rig denken, dann wird dort die X-Achse für die Polvektoren genutzt. Wie ganz rechts in Abbildung 6.108 zu erkennen, wäre dann Achsen XZ sicher eine gute Wahl. Bevor wir nun endlich zur Auslösung des Werkzeugs kommen, schauen wir uns noch kurz die Benamung-Rubrik an. Diese ist im Prinzip identisch mit einem Teil des Benennungs-Werkzeugs, das wir bereits bei den Beinen benutzt haben.

Die Benamung verändern

Wie in Abbildung 6.109 zu erkennen, bietet uns die Benamung-Einstellungsseite Optionen an, um Prefixe oder Suffixe zu verwenden. Damit können also z. B. beliebige Begriffe den Objektnamen vorangestellt (Prefix) oder hinten angefügt werden (Suffix). In vielen Fällen wird es jedoch so sein, dass Sie an der zu spiegelnden Hierarchie bereits Namen vergeben haben, die sich auf die Seite des Objekts beziehen. Ich habe z. B. allen Namen direkt den Begriff links mitgegeben. In solchen Fällen können Sie Ersetze durch verwenden und dann diesen Begrifft z. B. durch das Wort rechts an der symmetrischen Kopie ersetzen lassen. Dies betrifft automatisch auch die verlinkten Anfasser- und Polvektor-Objekte. Die Namen der Morph-Ziele im Pose Morph-Tag werden jedoch nicht automatisch verändert. Hier müssen Sie selbst Hand anlegen, damit es später beim Animieren nicht zu Verwechslungen kommen kann. Die übrigen Bilder in Abbildung 6.109 fassen noch einmal die Einstellungen zusammen, die ich aktuell für die Spiegelung unserer Arm-Joints für sinnvoll halte.

Animation in Cinema 4D - Aktuelle Einstellungen für die Spiegelung des Arm-Rigs

Abbildung 6.109: Aktuelle Einstellungen für die Spiegelung des Arm-Rigs

Die Wichtungen spiegeln

Wichtungen werden in Wichtung-Tags verwaltet und stellen die Verbindung zwischen den Joint-Objekten und der Geometrie her. Wurde bereits eine Seite der Figur mit Wichtungen für die dort zuständigen Joints versehen, können diese Joints samt passenden Wichtungen auch gespiegelt werden. Dazu müssen die Optionen für Wichtungen und Tags in den Optionen des Spiegeln-Werkzeugs aktiv sein. Da nicht immer alle Figuren perfekt symmetrische Punktpositionen haben, können Sie dann in der Rubrik Suche über das Anpassung-Menü einen Algorithmus wählen, wie die Wichtungen von einer Seite auf die andere gespiegelt werden sollen. Wichtungen werden generell den Punkten der Oberfläche zugewiesen, daher ist natürlich der Idealfall, dass es sich um eine perfekt symmetrische Figur handelt. Gibt es dennoch kleine Unterschiede in den Punktpositionen, können Sie bei Anpassung Abstand eine Toleranz angeben. Dies ist ein Suchradius, der um die theoretisch perfekte symmetrische Position herum nach einem Punkt auf der gespiegelten Seite sucht. Mit Anpassung Nächster lockern Sie diese Beschränkung noch weiter. Es wird einfach der jeweils am nächsten liegende Punkt von der perfekten gespiegelten Position aus gesucht, um die Wichtung zu übertragen. Diese Methoden können natürlich nur dann gut funktionieren, wenn die Anzahl und Anordnung der Punkte auf der Originalseite der Figur und auf der gespiegelten Seite einigermaßen identisch sind. Hat eine Figur z. B. links und rechts identische Joint-Anordnungen, oder die Oberfläche ist völlig unterschiedlich strukturiert, können die folgenden Modi helfen. Bei Anpassung Oberfläche wird die Position einen gewichteten Originalpunkts auf die andere Seite gespiegelt. Dort wird dann nach einem Polygon gesucht, das zumindest teilweise an dieser Position liegt. Die Eckpunkte dieses Polygons erhalten dann gemeinschaftlich die Wichtung des Originalpunkts.

Anpassung Normalen geht ähnlich vor, spiegelt jedoch zusätzlich die Normale des Originalpunkts und sucht entlang dieser gespiegelten Richtung, ausgehend von der gespiegelten Position des Originalpunkts, nach einem Polygon. So können dann auch Polygone, die einen noch größeren Abstand von der gespiegelten Position eines gewichteten Punkts haben, noch Wichtungen abbekommen. Auch hier erhalten dann alle Eckpunkte des gefundenen Polygons die Wichtung des gespiegelten Punkts. Da wir noch keine Wichtungen erzeugt haben, fällt die Benutzung dieser Rubrik für uns flach und wir können nach der Selektion des ersten Arm-Joints und dem Aktivieren von Unterobjekte in der Werkzeug-Rubrik des Spiegeln-Werkzeugs direkt den Vorgang über die Spiegeln-Schaltfläche starten. Die Lage der Joints und Anfasser sollte anschließend bereits perfekt sein (siehe Abbildung 6.110).

Animation in Cinema 4D - Ergebnis nach der Spiegelung der Arm-Joints

Abbildung 6.110: Ergebnis nach der Spiegelung der Arm-Joints

Zu überprüfen sind vor allem die Pose Morph-Ziele. In meinem Fall drehte sich einer der gespiegelten Finger in die falsche Richtung. Dort musste das entsprechende Ziel im Bearbeiten-Modus des Pose Morph-Tags korrigiert werden. Auch die Namen der Morph-Ziele im Pose Morph-Tag werden nicht automatisch durch die Benamung des Spiegeln-Werkzeugs verändert und sollten daher manuell korrigiert werden.

Das Rig fertigstellen

An unserem Rig fehlen nun nur noch Kleinigkeiten, wie z. B. die Joints für den Hals und den Kopf. Zudem sollten wir die Arme sinnvoll in die Hierarchie des Oberkörpers integrieren und eventuell noch einen Anfasser für das Becken ergänzen. Wir beginnen also am Hals, wo Sie mit dem Joint-Werkzeug am Nacken starten und dann von dort zwei weitere Joints auf Höhe des Unterkiefers und schließlich oben auf dem Kopf setzen, so wie es in Abbildung 6.111 zu sehen ist. Den ersten gesetzten Joint am Nacken lassen Sie anschließend per 3D-Snapping auf Achsen am bereits vorhandenen Nacken-Joint einrasten. Diese Position ist somit doppelt belegt. Dies macht es uns später einfach, dieses Rig auf den Charakter-Baukasten von Cinema 4D zu übertragen. Wenn Sie dies nicht wünschten, können Sie den Nacken-Joint bereits vor Auswahl des Joint-Werkzeugs selektieren, damit die neu gesetzten Hals- und Kopf-Joints dort direkt untergeordnet werden. In jedem Fall sollten die neuen Joint-Objekte am Ende ebenfalls unter dem Nacken-Joint gruppiert werden, wie es ebenfalls in Abbildung 6.111 zu sehen ist.

Animation in Cinema 4D - Ergänzen der Hals- und Kopf-Joints

Abbildung 6.111: Ergänzen der Hals- und Kopf-Joints

Um die Hüfte und das Becken bequemer steuern zu können, rufen wir nun zwei Kreis-Splines auf, die mit Ebene XZ parallel zum Boden der Szene ausgerichtet werden. Den Kreis, der gleich das Becken mit den dort untergeordneten Beinen steuern soll, mache ich etwas kleiner als den Kreis, der die Hüfte und die daran anschließende Wirbelsäule kontrollieren soll (siehe Abbildung 6.112). Beide Kreise müssen exakt auf der Position des Beckens bzw. der Hüfte liegen. Unter dem Becken-Kreis ordnen Sie den Anfasser des Rücken-Splines ein, der die untere Wirbelsäule steuert. Der Anfasser der oberen Wirbelsäule wird unter dem Hüfte-Kreis gruppiert. Schließlich wird auch der Becken-Kreis unter dem Hüfte-Kreis hierarchisch einsortiert, so wie es die rechte Seite der Abb. 6.112 zeigt. So steuert später die Drehung und Verschiebung des Hüfte-Kreises die gesamte Figur, die Drehung des Becken-Kreises jedoch nur die untere Figurhälfte.

Animation in Cinema 4D - Anfasser für die Hüfte und das Becken

Abbildung 6.112: Anfasser für die Hüfte und das Becken

Damit diese Kreise überhaupt etwas bewirken können, brauchen wir noch Constraint-Tags am Hüfte- und am Becken-Joint. Der Becken-Joint erhält darüber die Position und den Winkel des Becken-Kreises. Die Hüfte wird nur an die Position des Hüfte-Kreises verlinkt (siehe Abbildung 6.113). Schließlich ordnen Sie noch den Hüfte-Joint unter dem Becken-Joint ein, um eine zusammenhängende Joint-Hierarchie zu erhalten. Alle Anfasser können ebenfalls unter einem neuen Null-Objekt gruppiert werden, was der Übersichtlichkeit dient.

Animation in Cinema 4D - Konfiguration der Constraint-Tags an Hüfte und Becken

Abbildung 6.113: Konfiguration der Constraint-Tags an Hüfte und Becken

Zudem können wir dann mit diesem übergeordneten Null-Objekt alle Anfasser auf einmal verschieben, um die Figur später z. B. an eine andere Position zu stellen oder anders auszurichten, ohne viele einzelne Anfasser dafür neu platzieren zu müssen. Nun fehlt zu unserem Glück nur noch ein Anfasser für den Kopf. Ich möchte dies mit einem Ausrichten-Constraint umsetzen, das die Y- und Z-Achsen des Kopf-Joints steuert. Dazu benötige ich Objekte, die exakt in Richtung dieser Achsen liegen, damit sich die Grundpose der Joints nach der Zuweisung des Constraints nicht schon verändert. Selektieren Sie dazu das Joint-Objekt, das oben auf dem Kopf liegt und wählen Sie Charakter > Konvertieren > Zu Null-Objekten konvertieren. Das Original Joint-Objekt bleibt erhalten. Daneben entsteht ein entsprechend platziertes und ausgerichtetes Null-Objekt. Verfahren Sie nach dem gleichen Prinzip mit dem Kopf-Joint, eine Hierarchiestufe höher.

In dem gleichen Konvertieren-Menü finden Sie auch noch Zu Joints konvertieren, was den umgekehrten Weg anbietet. Sie könnten dann die Positionen und Ausrichtungen beliebiger Objekte auf neue Joint-Objekte übertragen. Halten Sie beim Aufruf von Zu Null-Objekten konvertieren oder Zu Joints konvertieren zusätzlich die Shift-Taste, werden eventuell vorhandene eingefrorene Koordinaten an den Joints oder Objekten auch den neu entstehenden Objekten zugewiesen. Wird stattdessen die Ctrl/Cmd-Taste gehalten, können auch an den Originalen vorhandene Tags mitkopiert werden. Dies könnte zur Übertragung von IK-Tags oder XPresso-Schaltungen hilfreich sein. Der Befehl Auswahl zu Joints funktioniert nur, wenn Sie ein Polygon-Objekt selektiert haben und daran eine Punkt-, Kanten- oder Polygon-Selektion aktiv ist (siehe Abbildung 6.114).

Animation in Cinema 4D - Wirkung von Auswahl zu Joints

Abbildung 6.114: Wirkung von Auswahl zu Joints

Rufen Sie den Befehl ohne zusätzlich gehaltene Taste auf, wir nur ein einzelnes Joint-Objekt in der mathematischen Mitte der selektierten Elemente erzeugt. Halten Sie stattdessen Shift, wird für jede geschlossene Selektion ein einzelnes Joint-Objekt erstellt. In Abbildung 6.114 können Sie so z. B. erkennen, dass durch die drei selektierten Punkt-Loops an einem konvertierten Zylinder drei neue Joints exakt mittig in diesen Kreis-Selektionen erstellt wurden. Der Befehl funktioniert auch bei Splines, erkennt dort jedoch nicht die Lücken zwischen selektierten Punkten als Abgrenzungen und erstellt somit immer nur einen Joint in der Mitte der Punktselektion.

Bei dem Befehl Charakter > Konvertieren > Joints zu Polygon-Objekt konvertieren wird schließlich die Darstellung-Option für das Bone aus den selektierten Joint-Objekten ausgewertet und ein entsprechendes Polygon-Objekt erstellt. Dabei entsteht nur ein Polygon-Objekt, selbst wenn mehrere Joints ausgewählt wurden. Kommen wir nun aber wieder zu unseren zwei neuen Null-Objekten am Kopf der Figur zurück. Ziehen Sie das Null-Objekt, das auf dem Kopf platziert ist, entlang seiner Z-Achse etwas weiter nach oben. Das andere Null-Objekt verschieben Sie seiner Y-Achse folgend hinter den Kopf (sollte die Y-Achse nach vorne zeigen, dann ziehen Sie es vor den Kopf). Anschließend erstellen Sie eine Kopie des Anfassers, der im Nacken die Krümmung des Rücken-Splines steuert und benennen diesen z. B. in Anfasser Kopf um. Diese Kopie wird hierarchisch unter dem Original gruppiert. Die beiden neuen Null-Objekte, die durch Konvertierung der Kopf-Joints entstanden sind, ordnen Sie danach unter diesem Anfasser Kopf ein. Die Abbildung 6.115 zeigt Ihnen links die Anordnung der neuen Null-Objekte und daneben, wo diese in der Hierarchie des Kreis-Hüfte-Anfassers einzuordnen sind. Dem Kopf-Joint geben Sie dann ein Constraint-Tag, an dem Sie die Optionen für Up und Ausrichten aktivieren. In der Up-Vector-Rubrik weisen Sie das Kopf-Null-Objekt als Ziel für den Up-Vector Y+ zu. In der Ausrichten-Rubrik des Tags wird entsprechend das über dem Kopf platzierte Null-Objekt als Ziel zugewiesen. Dies ist auch auf der rechten Seite der Abbildung 6.115 zu erkennen. Haben Sie alles richtig gemacht, verändert sich dadurch nichts an der ursprünglichen Stellung des Kopfes. Durch Rotation des neuen Anfasser Kopf-Objekts kann nun jedoch der Kopf in alle Richtungen gedreht und geneigt werden. Zudem kommen wir über die Winkel 0°, 0°, 0° für dieses Objekt stets in die neutrale Stellung zurück.

Animation in Cinema 4D - Einrichten des Kopf-Constraints

Abbildung 6.115: Einrichten des Kopf-Constraints

Ü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