
Ein Review von nutriman
Einleitung
Für alle die sich bereits mit Character Animation in Cinema4D befasst haben, wird der Name Cactus Dan bereits ein Begriff sein. Seine benutzerfreundlichen Character Rigging PlugIns CD IK Tools, CD Morph und CD Constraints haben schon so manchem User Zeit und graue Haare bei der Erstellung eines Rigs erspart. Das neueste dieser Tools: CD Joints & Skin. Alle bisherigen PlugIns wurden geupdated um mit dem neuen Joints&Skin und Cinema R10 zusammenzuarbeiten.
Damit erhält der Cinema User eine komplettes Rigging und Weighting Werkzeug als Alternative zum Mocca Modul (oder gar R10 Update für manche), wobei das PlugIn sowohl mit MOCCA als auch mit R10 harmoniert (später mehr dazu).
Inzwischen ist die lang ersehnte Dokumentation da, auch sind Video Tutorials und ein Workshop (s.u.) angekündigt; ich hoffe hier einen kleine Übersicht geben zu können.
Das PlugIn beinhaltet ein komplettes Rigging Toolset zum

Bones vs. Joints
Zunächst stellt sich die Frage: Wozu überhaupt Joints, wenn Cinema Bones hat, was sind Joints überhaupt? Nun, Joints (Gelenke) sitzen an den Endpunkten der Bones (Knochen), das kennt man aus dem Biounterricht.
Welche Vorteile bringt das: Möchte man eine Bones Kette per IK bewegen, braucht man in ihrem Ende einen Tip Effektor. Das ist bei den Joints nicht mehr zwingend nötig, da hier das letzte Joint Objekt als Tipeffektor dienen kann.

Okay minimal komfortabler, aber es gibt ja noch mehr Vorteile:
Innerhalb eines Rigs möchte man häufig Rotationen ausnullen, um nachvollziehbar und einfach deren Winkel von einem definierten Nullpunkt an zu verändern. Hat man dafür bei den Bones ein übergeordnetes Nullbone verwendet, kann man bei CD Joints das Ausnullen bequemer im Attribute Manager per Knopfdruck ausführen. Der dafür vorgesehene Joint Transformation Tab sieht eigentlich aus wie das Cinema übliche Koordinatentab plus der Ausnullen Funktion.

Kommen wir jetzt aber mal zu den größten Krachern:
Joints sind im Gegenteil zu Bones keine Deformerobjekte. Das heißt, Joints müssen nicht zwingender weise hierarchisch dem Polyobjekt untergeordnet werden, das beeinflusst werden soll. Zuständig für die Verformung ist lediglich das Skin Tag, also die Zuweisung der Weightmap. Das heißt auch, dass man zur Verformung nicht mal zwingender Weise die Joints benutzen muss – man könnte sich theoretisch auch an Zylindergrundobjekte o.ä. bedienen. So könnte man z.B. ein LowPoly Mesh mit einzelnen Körperteilen dazu benutzen, erst die Animation flüssig zu erstellen, um danach ein HighPoly Mesh daran zu binden.
Erstellen und Bearbeiten von Joints
Das Erstellen von Joints ist schnell erledigt - Joint Tool aufgerufen und los geklickt. Mittels gedrückter Shift-Taste kann man dabei die Winkel in 45° Schritten quantisieren, mit gedrückter Strg-Taste lassen sich die Joints teilen, beide Tasten funktionieren auch in Kombination.



Die Joints lassen sich als Proxyobjekte darstellen, einerseits um die Form des Characters nachzuempfinden als auch den Wirkungsbereich der Joints beim Wichten grob festlegen zu können. Das Spiegeln der Joints funktioniert in einem mocca-ähnlichem Dialog.

Wichtig für eine funktionierendes IK Setup ist eine korrekte Ausrichtung der Joints.
Oft verschiebt man die Joints nach dem Setzen nochmal um sie ans Mesh von einer anderen Ansicht anzupassen, dann geht die Ausrichtung verloren. Die lässt sich nach dem Editieren der Joints aber bequem per „Orient Joints“ Funktion wieder herstellen.
Erstellen und Bearbeiten von Skins bzw. Skin Cluster
Hat man ein Joint Skelett erstellt, geht’s an das Binden der Joints an das Mesh.
Zwei Sorten von Skinning kann man in CD Joints&Skin unterschieden:[INDENT]1. Skin
2. Skin Cluster
[/INDENT]Skin funktioniert mit einer Hierarchie von Objekten, meistens also ein Joint Skelett, das an ein Mesh gebunden wird. Die Vorgehensweise des Skinning ist einfach: Das zu skinnende Mesh wird ausgewählt und der Bind Skin Dialog aufgerufen.

Hier wählt man nun das oberste Joint in der Hierarchie an und kann auch bestimmte Falloffs für weichere Weighting-Übergänge einstellen.
Skinnen lassen sich alle Punktobjekte, also Polygone, Splines und sogar FFDs!

Nach dem Weighten erhalten sowohl Mesh als auch oberster Joint je einen Tag, die die Weightings und Ausgangspose beinhalten, sowie Funktionen zum Zurücksetzen, um nachträgliches Editieren von Geometrie bzw. Jointskelettstrukur problemlos zu ermöglichen.

Mit Hilfe des Weight Painting Tools kann man die Wichtungen noch feintunen ähnlich wie man es von Claude Bonet kennt. Sehr nützlich finde ich die Möglichkeit, den Kontrast erhöhen zu können, um auch schwach gewichtete Bereiche erkennen zu können. Daneben bietet das Tool das Malen mit weichen Rändern an.

Im Gegensatz zu Skins funktioniert Skin Cluster dagegen nur mit einem Objekt anstatt mit einer Objekthierarchie. Wozu soll das gut sein? Z.B. kann man damit Gesichter animieren, anstatt Morphshapes mit Slidern zu steuern kann man per Nullobjekte bestimmte Gesichtsbereiche verschieben. Eine andere Einsatzmöglichkeit wäre secondary animation/ overlapping action von Körperteilen....oder verständlicher: Schwabbeln oder wer's sportlicher mag auch einfache Muskelanimation.


Die Vorgehensweise ist auch hier einfach: Ausgehend von einem bestehenden Mesh ruft man ein weiteres Objekt, zB ein Null Objekt auf, welchem man ein Skin Cluster Tag verpasst. Dort wird das zu beeinflussende Mesh bestimmt, die Wichtungen aufgemalt
und schon kann man durch Verschieben des Null Objekts die gewichteten Bereiche des Meshs beeinflussen. Wird ein Mesh von mehreren Skin Clustern oder Joints beeinflußt, lassen sich die Einflüsse mischen. Auch können SkinCluster-Controller an die Bewegungen/ Rotationen von Joints gekoppelt werden und damit so ähnlich wie Bone Driven Morphtargets benutzt werden (Morphing in Abhängigkeit von Bonebewegungen).
Wichtungen können per Weight Mirror gespiegelt werden.

Konvertierungsmöglichkeiten
Scheinbar anfänglich nicht vorgesehen, ist Cactus Dan auf die zahlreichen Wünsche in den Foren eingegangen und hat dem PlugIn noch einige Konvertierungstools mitgegeben. So lassen sich Joints in Bones und Skins in ClaudeBonet Wichtungen umwandeln und umgekehrt. Somit steht einem dann auch die ganze Welt der Mocap Daten oder der Zusammenarbeit mit Animationsprogrammen wie Motionbuilder offen.


Zugegeben habe ich das Konvertieren nur anhand einer kurzen Kette probiert, das hat wunderbar geklappt. Doch bereitet das Konvertieren von Joints zu Bones bei kompletten Rigs vielen Usern Kopfschmerzen. Kurz gesagt: Es funktioniert, doch durch die unterschiedliche Funktionsweise von Joints und Bones muss auf die Verzweigungen bei Rigs geachtet werden! Genaueres dazu hier:
Performance/ Kompatibilität
Wer jetzt denkt, Komfortabilität durch Leistungseinbußen erkaufen zu müssen, der irrt gewaltig: In direkten Vergleichen hat sich gezeigt, dass Joints&Skin schneller arbeitet als Cinema's eigenes Bone Tool! Konkret: Eine animierte Beispielszene verlief mit CD Joints&Skin fast 2,5 mal schneller, als Cinema's R9 Bones/ MOCCA. Wie anfänglich angedeutet, arbeiten die CD Joints auch wunderbar mit SoftIk (also MOCCA IK) zusammen.

Edit/ Update: R10
Die PlugIns sind unter R10 lauffähig, getestet habe ich aber noch unter R9.6. Falls Interesse besteht, werde ich noch einen Vergleich zwischen CDs Joints&Skin zu Cinema R10s neuen Joint- und Weightingwerkzeugen aufstellen. Es sei aber kurz gesagt, dass Cactus Dan's PlugIns durch die neuen R10 Features keinesfalls überflüssig werden.
Fazit
CD Joints&Skin sind eine durchdachte und wohl integrierte Erweiterung für die anderen CD PlugIns bzw. für Cinema allgemein. Wer sich eingearbeitet hat, möchte das Tool nicht mehr missen. Den Preis finde ich angemessen und CactusDans hervorragender Support rundet die Sache ab.
Bei Interesse guckt euch die Demoversion an (Link s.u.), man benötigt dazu Cinema4D in der Demoversion und genießt dann den vollen Funktionsumfang des PlugIns.
Bezugsquelle und Links
www.cactus3d.com
*beinhaltet CD IK Tools, CD Joints&Skin, CD Morph und CD Constraints!
Support Hier bietet Cactus Dan hervorragenden Support für seine Plugins.
Tutorials:
Joints.zip Erklärung des Joint Werkzeugs, Joints Attribute und Mirroring.
Rig Ein komplettes menschliches Rig wird erstellt.
Rig 2 Ein vierbeiniges Rig wird erstellt und an ein simples Mesh geskinnt.
Skalierung Nachträgliches Skalieren eines geriggten Characters, oft ein Problem.
Skin Command Erklärung des Bind Skin Commands.
[URL="http://www.c4dportal.com/forum/showthread.php?t=210&page=15"]Tutorial mit CD’s Tools[/URL] Thread zu einem kommenden, heiß erwartetem Tutorial von Kiteman, in dem CDs Tools verwendet werden.
Viel Spaß beim Experimentieren, bei Fragen – ab in's Forum! Vielen Dank an CactusDan für die Beantwortung zahlreicher Fragen und für die Erlaubnis, die im Review verwendeten Clips zu veröffentlichen.
Euer nutriman