Das Video kann man hier einsehen.
Motion - Daten wurden als Freebie oder Sample von den folgenden Seiten verwendet:
http://www.credo-interactive.com/
http://www.e-motek.com/entertainment/downloads/index.html
http://www.mocapdata.com/
http://www.truebones.com/home/
http://www.animazoo.com/default.aspx
http://media.naturalpoint.com/video/optitrack
Die Bewegungsdaten wurden für einen mittels Poser geriggten Charakter verwendet und auf das Rig im *.Cr2
Format angewendet. Der Charakter im OBJ Format mittel Cinema 4d optimiert und in die einzelnen
Bestandteile wie Kopf, Hals, Hand, Arm, Fuss zerlegt. Die Cr2 - Datei dient für das anschließende
verbinden und beinhaltet die hierarchische Anordnung der Körperteile und deren Bindung (
Bending). Und dient für die Beweglichkeit des Charakters
CR2 Auszug:
(C:\......\Runtime\libraries\Character\Pilot – Retroversiv)
{
version
{
number 4.01
}
figureResFile :Runtime:Geometries:retroversiv.obj | Unsere OBJ Datei zerteilt
in die Körperbereiche Kopf Hals etc...
actor BODY:2
{
}
actor hip:2
{
storageOffset 0 0 0
geomHandlerGeom 13 hip
}
actor abdomen:2
{
storageOffset 0 0 0
geomHandlerGeom 13 abdomen
}
actor chest:2
{
storageOffset 0 0 0
geomHandlerGeom 13 chest
}
http://www.morphography.uk.vu/fileguide_1.html
Hinweise dazu existieren wenige, es gab aber eine inoffizielle Spezifikation. Aber deduktiv findet
man schnell die Lösung für etwaige Probleme. Oder man kopiert einzelne Bereiche anderer
Modelle. Dabei hilft der Cr2 - Editor der bestimmte Bestandteile problemlos kopiert.
http://www.morphography.uk.vu/dlutility.html
Der fertige geriggte Charakter wird nun in Poser geladen und dazu die *.bvh Datei angewendet
und danach kann man via Timeline die einzelnen Punkte feinschleifen und auch ein Python -
Script verwenden das auf die Bewegung angewendet wird um zu starke Ausreisser zu glätten.
Meist aber kann man wenig dagegen tun, ausser man löscht durch einen Reset einzelne
Bewegungen, wie etwa Arme oder man bedenkt manche Glitsches mit bewussten Ausblendung
der störenden Bereiche durch geschickten Kamera – Einsatz falls dies möglich ist. Handarbeit
bleibt einem nicht erspart.
Danach exportiert man die OBJ – Sequenzen oder Ausschnitte. Problem ist hierbei der
Datenumfang bei dem Export der Sequenzen. 1 Model der Grösse 5 MB erzeugt bei 100
exportierten Frames | OBJ der Sequenz 500 MB Speicher und das wird bei grossen Sequenzen
problematisch und man sollte 250 Frames | OBJ nicht überschreiten, da sonst die Performance
extrem leidet und der Arbeitsspeicher zu sehr beansprucht wird.
Falls der Charackter bereits texturiert ist in Poser oder durch vorherige Schritte, nimmt
man die Texturen automatisch mit, durch das Plugin muss nur eine gespeicherte Poser - Datei
mit angegeben werden, die den geladenen Charackter beinhaltet und wichtig ist die Runtime –
Angabe, in C4d im Setting des Plugins, einfach die Poser.exe angeben und den Runtime
Ordner.
Der Charackter liegt nun im ePla - Format vor und Cinema 4d merged die grossen Daten von 2
– 3 GB auf 200 bis 300 MB und man kann nun wie gewohnt in Cinema 4d arbeiten und die
Umgebung gestalten. Oder etwaige Scenarien erstellen. Da ja in der ePla die Anzahl der
Polygone nicht mehr variieren sondern nur noch deren Lage im 3d Raum. Mittels Menue -
Wechsel auf Animation kann man die einzelnen Sequenzen bewegen und auch kürzen oder
andersweitig manipulieren. Bei der anschliessenden Kontrolle muss auch teilweise die Lage im
Raum kontrolliert und geändert werden, da viele sörende Boden - Durchdringungen stattfinden.
Generell eignen sich hervorragend viele BVH - Dateien von Vicon Systemen und auch das neuere
markerlose System ( Organic Motion) von der Siggraph erzeugt sehr gute Bewegungen. Im Anschluss müssen
viele Sequenzen getrimmt werden oder bereits vorher bedacht werden wie die Framerate bei der
jeweiligen Erstellung der BVH Datei war. Das kann unter Poser bereits geschehen, damit man
nach dem Import in C4d sich auf die Umgebung konzentrieren kann und der Charakter Teil als
abgeschlossen gesehen werden kann. Generell wende ich auf den Charakter nach dem Import
vor dem Rendern einen Hyper Nurb Mesh an.