Leitfaden zum Motion Capturing
Transcription
Leitfaden zum Motion Capturing
Leitfaden zum Motion Capturing Inhaltsübersicht 1. Workflow........................................................................................................................ 1 2. User-Interface von Vicon iQ ........................................................................................... 3 3. Aufbau und Kalibrierung des Vicon-Systems ................................................................. 4 3.1 Kameras und Setup der Hardware............................................................................................ 4 3.2 Einrichten der Datenbank .......................................................................................................... 8 3.3 Kamera-Kalibrierung.................................................................................................................. 9 3.4 Kalibrierung des Capture Volume ........................................................................................... 11 4. Marker Placement.........................................................................................................13 5. Range of Motion ...........................................................................................................15 6. Labeling ........................................................................................................................18 7. Subjekt-Kalibrierung......................................................................................................19 8. Capturing der Bewegungen ..........................................................................................20 9. Post-Processing mit Vicon iQ Batch-Pipeline ................................................................21 10. Erstellen eines Skeletons in Maya ..............................................................................25 11. Data-Processing mit MotionBuilder .............................................................................30 11.1 User-Interface........................................................................................................................ 30 11.2 Mappen der Bewegungsdaten auf den Actor ........................................................................ 31 11.2 Skeleton charakterisieren und mit Actor verbinden............................................................... 38 11.4 Plotting und Weiterverwendung ............................................................................................ 41 11.5 Fehlerkorrektur ...................................................................................................................... 42 11.6 Loops herstellen .................................................................................................................... 43 11.7 Kombination von Motion Tracks (Blending) .......................................................................... 46 11.8 Tipps und Tricks .................................................................................................................... 48 Leitfaden zum Motion Capturing - 1. Workflow 1. Workflow Wie bereits im theoretischen Teil vorgestellt, sieht der Workflow einer MoCap-Produktion wie folgt aus: Seite 1 von 48 Leitfaden zum Motion Capturing - 1. Workflow Technischer Workflow Nachstehend folgt eine detaillierte Übersicht, die nur die technischen Ebenen betrachtet: Seite 2 von 48 Leitfaden zum Motion Capturing - 2. User-Interface von Vicon iQ 2. User-Interface von Vicon iQ (1) Title Bar (2) Menu Bar (3) Operating Mode Diese Leiste ermöglicht die Wahl der Operating Mode: Data Management, Setup, Calibrate, Capture, Post Processing, Modeling. (4) Activity Bars Diese Leiste enthält verschiedene Tabs, die Tools und Funktionen beinhalten, um spezifische Aufgaben mit Vicon iQ auszuführen. (5) Control Bars Die Tabs am linken Fensterrand stellen Optionen bereit, mit denen die Datendarstellung im Workspace angepasst werden kann. (6) Real Time Engine Control Bar Optionen zur Steuerung der Realtime-Engine Tarsus. (7) View Pane Menu Bar Verschiedene Menüs, bei denen der Ansichtstyp für den Workspace gewählt werden kann. Der Inhalt dieser Leiste hängt ab von der Operating Mode. (8) View Pane Toolbar Diese Leiste enthält Buttons, um die Ansichtstypen zu verwalten. (9) Live 3D Workspace Dieses Fenster zeigt die aufgenommenen Daten in der 3D-Perspektive. (10) Log Window Dieser Bereich zeigt die aktuellen Aktivitäten von Vicon iQ auf. Seite 3 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 3. Aufbau und Kalibrierung des Vicon-Systems Für eine detaillierte Beschreibung zu den Geräten schauen Sie bitte in den theoretischen Teil, nachstehend ein Überblick zum System: Abbildung 1 - Vicon MX Architecture mit 6 Kameras 3.1 Kameras und Setup der Hardware 1 Ziel des Kamera-Setups ist, dass alle Kameras die Marker im Capture Volume sehen, damit 2 saubere Aufnahmen erstellt werden können. Der Aufbau des Vicon-Systems (Positionieren der Stative, Aufsetzen der Kameras, Setup des Laptops und der MX Ultranet Unit, Verbinden 3 aller Komponenten, Vorbereiten des Performers , Aktivierung der Software) benötigt ungefähr zwei Stunden. Im Folgenden ist eine Anleitung gegeben, die die notwendigen Einstellungen und den Ablauf chronologisch aufzeigt und mit Fotos dokumentiert. Sie ermöglicht Ihnen, das System selbstständig aufzubauen: 1. 1 Wir beginnen damit, alle Stative aus den Verpackungen zu nehmen und im Kreis aufzustellen, bei möglichst gleichem Abstand zueinander. Die Stative so weit wie möglich vom Kreismittelpunkt entfernt positionieren, damit das Capture Volume voll ausgeschöpft wird. Capture Volume bezeichnet den Raum im Studio, in dem die Marker von den Kameras gesehen und die Bewegungen des Performers aufgenommen werden können. 2 MoCap-Aufnahmen werden im Englischen als Takes bezeichnet. 3 Die Person, deren Bewegungen aufgezeichnet werden, wird Performer genannt. Seite 4 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 2. Die Kamerahalter aus den Stativköpfen entnehmen (kleinen Hebel gedrückt halten und den großen herausklappen) und an die Kameras unten heranschrauben. 3. Danach die Kameras in die Kamerahalterung des Stativs einsetzen, dazu vorne beim Stativ aufsetzen und nach hinten kippen (Kameras bei offener Hebelstellung einklinken). 4. Nehmen Sie die Kameras und stellen Sie die Kamerablende auf einen Blendenbereich von etwa 2,8 mm. 5. Den Front-Aufsatz zur Kamera (sogenannter Infrared Strobe) mit etwas Abstand vor der Linse justieren (die Linse sollte in etwa bündig mit dem schwarzen Scheibenabschluss des Strobe-Aufsatzes sein): Seite 5 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 6. Einstecken der Kabel in die Kameras sowie deren Kabelenden in das MX Ultranet, dabei ist die Reihenfolge beliebig: 7. Als nächstes die Beine der Stative voll ausfahren. Es sollte versucht werden, die Kameras so hoch wie möglich zu positionieren, damit das Capture Volume voll ausgeschöpft wird. Bitte auch die Kurbel für das Ausfahren des Stativ-Halses benutzen, dazu den Ring „Push“ drücken, Kurbel ausklappen und drehen. Hinweis: Kamera-Höhen müssen nicht exakt übereinstimmen. 8. Host Computer und MX Ultranet nebeneinander aufbauen und via LAN-Kabel verbinden. Ebenfalls die Netzstecker für die Stromzufuhr verbinden (optional kann man eine externe Festplatte für die MoCap-Daten an den PC anschließen): Seite 6 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 9. Computer und MX Ultranet anschalten ("Power"-Schalter befindet sich auf der Rückseite). Nachdem der Computer bereit ist, muss ihm eine feste IP-Adresse zugewiesen werden. Dazu in der >Systemsteuerung >Netzwerkverbindungen wählen. Dann unter LANVerbindung per rechter Maustaste die Eigenschaften wählen. Dort bei Internetprotokoll (TCP/IP) auf Eigenschaften klicken und unter "Folgende IP-Adresse verwenden" eingeben: IP-Adresse 192.168.10.1 - Subnetzmaske: 255.255.255.0 Danach auf OK klicken und die Einstellungen schließen. Hinweis: MX Ultranet fungiert als Master, nimmt alle Daten der Kameras (Slaves) auf, synchronisiert sie und gibt sie an den Computer weiter. Nach der Verbindung des MX Ultranet mit den Kameras und dem Computer werden diese Einstellungen automatisch vorgenommen. 10. Das System ist nun aktiv und die LEDs der Kameras sollten grün aufleuchten. Vicon-System komplett aufgebaut und einsatzbereit Seite 7 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 3.2 Einrichten der Datenbank 1. Vor dem Programmstart von Vicon iQ ist ein Projektordner auf der Festplatte zu erstellen, in dem die MoCap-Daten gespeichert werden können. 2. Bevor die Software Vicon iQ gestartet werden kann, muss der USB-Dongle (Kopierschutz) in einen USB-Port des Computers eingesteckt werden. Nach der Initialisierung kann Vicon iQ aufgerufen werden. 3. Nachdem das Programm vollständig hochgefahren ist, folgt als erstes das Setup der Datenbank: 1. Im Menü >Eclipse >New Database wählen. Dort unter "Location" den Pfad zum zuvor erstellten Ordner auf der Festplatte angeben, bei "Name" eine Bezeichnung für die Datenbank vergeben und optional eine Beschreibung in "Description" hinterlassen. Mit dem "Animation Template.eni" aktiviert, bitte den Button "Create" klicken. Anschließend im sich neu öffnenden Dialogfenster "Open" wählen. 2. Als nächstes auf das in der oberen Menüleiste klicken. Eine Zeile mit "Project 1" wird erstellt, hier bitte den Projektnamen vergeben (so z. B. "capture_myName"). 3. Nun auf klicken und eine Zeile mit "Capture Day 1" wird erstellt. Eine Umbenennung in z. B. "2007-03-31" ist möglich. Hinweis: Das Format "year-month-day" sollte aufgrund von Sortierungskriterien eingehalten werden. 4. Auf klicken und eine Zeile mit "Session 1" wird erstellt. Hier kann gegebenenfalls umbenannt werden. Hinweis: Das Session-Verzeichnis beinhaltet Kalibrierungsdateien und alle Dateien, die während der Session erstellt werden. 5. Abschließend sollte folgende Struktur zu sehen sein, damit ist das Datenbank-Setup abgeschlossen: Seite 8 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 3.3 Kamera-Kalibrierung 1. Drei Marker in die Mitte des Capture-Volumes legen: 2. Ein Marker je Kamera etwa 3 Schritte (zur Kreismitte) weg von der jeweiligen Kamera auf dem Boden positionieren: 3. Nun liegen 3 Marker in der Mitte und 6 Marker kreisförmig um das Capture Volume. 1. Die „Tarsus“ Real Time Engine starten, dazu rechts unten im Bildschirm das Connect-Icon betätigen. Danach kann Tarsus beendet werden, wenn erneut auf dieses Icon, das nun so aussieht , geklickt wird. 2. Das Command-Line-Fenster öffnet sich und zeigt das Processing ("Starting Tracker…") an. In Vicons 3D Workspace werden nun die Marker sichtbar. 3. Das Processing im Command-Line-Fenster stellt die Real Time Engine dar, daher das Fenster bitte nicht schließen, sondern nur minimieren, damit es im Hintergrund aktiv bleibt. 4. Hinweis: Falls eine Kamera in Vicon iQ nicht angezeigt wird oder die LED einer Kamera gelb leuchtet, ist diese Kamera nicht aktiv. Dann bitte sämtliche Kabel-Verbindungen sowie die Real-Time-Engine überprüfen. Seite 9 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 5. Den Tab "Camera" aktivieren, dort kann man durch alle 6 Kameras durchschalten und sich die einzelnen Bilder anzeigen lassen. 6. Als nächstes den Tab "Cameras" (auf der rechten Fensterseite) wählen. Dort können "Strobe Intensity" und "Camera Threshold" für jede Kamera separat eingestellt werden. Folgene Ersteinstellung wählen: Strobe: 100, Threshold: 20, Gain: 1, Quality: 20. Bitte versuchen, Störungen der Umgebung zu unterdrücken bzw. zu beseitigen, indem die vorgenannten Parameter verändert werden. Strobe Intensity stellt die Lichtintensität ein. Das Erhöhen der Intensität stoppt das Flackern der Marker. Ein Vermindern kann zum Reflektieren von Licht und sogenannten Ghost Markern führen. Threshold ist ein Grenzwert, der die Marker vom Hintergrund hervorhebt. Pixel, die die KameraThreshold übersteigen, werden isoliert. Sollten Marker unsichtbar sein oder flackern, so muss der Threshold erhöht werden. Gain (Verstärkung) gibt an, wie stark die Videosignale verstärkt werden. Circle Quality bestimmt, welche Gruppen von Pixeln in kreisartiger Form als Marker identifiziert 4 werden. Circle Quality 100 steht für perfekte Kreise, niedrigere Werte erlauben Abweichungen. Ausrichten der Kameras 1. Im Workspace eine Kamera-Nummer wählen (die LED der aktiven Kamera leuchtet dann zur besseren Erkennung blau). 2. Die Kameras auf den Stativen so ausrichten/drehen/neigen, dass sich die in der Mitte des Capture Volumes befindlichen 3 Marker annähernd in der Mitte des Workspaces (einzelne Kameraansicht in Vicon iQ) befinden. 3. Darüber hinaus müssen für jede Kamera alle das Capture Volume abgrenzenden 6 Marker sichtbar sein. Falls nicht, sollte die Position des jeweiligen Markers geändert werden (Verschieben zur Kreismitte). 4. Die vorigen Schritte sind für jede der 6 Kameras zu wiederholen. 5. Abschließend bei den Kameras auf "All" klicken, um alle Bilder der Kameras nebeneinander angeordnet zu sehen und nochmals zu kontrollieren, ob je Kamera 6 Marker angezeigt werden. 6. Danach bei "Manage Camera Settings" (rechts oben im Bildschirm) auf "Save" klicken 5 und die Kamera-Settings in einer Datei (im hsf-Format ) speichern 4 Informationen entnommen aus: http://atec.utdallas.edu/~midori/Handouts/mocap_calibration.htm (Zugriff vom 2007-05-27). 5 Hardware Settings File, Konfigurationseinstellung für die Vicon MX Kameras. Seite 10 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems Capture Volume markieren 1. Da die Kameras nun kalibriert sind, können alle Marker auf dem Boden entfernt werden (6 Marker im Kreis und 3 Marker in der Mitte). An den Stellen der äußeren Marker sollte Klebeband befestigt werden, da diese die Grenzen des Capture Volumes darstellen. Somit weiß der Performer bis zu welchen Bereichen er sich bewegen darf. Kamerafokus Die Marker müssen klar und deutlich auf den Bildern der Vicon iQ Software zu sehen sein. Falls dies nicht der Fall ist, kann versucht werden, den vorderen Fokus (Ringaufsatz) oder den hinteren Fokus (Position der Linse zum Kamerasensor verändern) einzustellen. Weitere Informationen hierzu bitte direkt aus der Bedienungsanleitung Vicon MX Hardware System Reference Revision 1.3 (Seiten 112 ff.) entnehmen. 3.4 Kalibrierung des Capture Volume Ein Wand (engl. Stab) wird benutzt, um die Kameras zu kalibrieren, das heißt das System ermittelt aufgrund der gewonnenen Daten, wo welche Kamera positioniert ist und welche Orientierung sie im globalen Koordinatensystem hat. Dadurch ist es später möglich, die Position eines Markers zu ermitteln, sobald er von 2 Kameras erfasst wird. Ein L-Frame (engl. L-Rahmen) dient dazu, den Koordinatenursprung für das Capture Volume und dessen Achsen zu setzen. Durch den L-Frame wird die Position und die Orientierung des Bodens getrackt. 1. Bei "1. Calibrate Cameras" den gewählten Kalibrierer einstellen (wir nutzen den "240_mm_Wand"). Anschließend "Start Wand Wave" betätigen. 2. Prozess startet und es wird "Frames Recorded: ..." angezeigt. Seite 11 von 48 Leitfaden zum Motion Capturing - 3. Aufbau und Kalibrierung des Vicon-Systems 3. Nun muss eine Person mit dem Kalibrierer (24 mm) im Kreis des Capture Volumes herumlaufen und den Kalibrierer in einer kreisenden Bewegung schwingen (bevorzugt als kreisende Acht), damit wird das Capture Volume "ausgewinkt". Metapher: Wände des Capture Volume streichen. 4. Die Aufzeichnungen in Vicon iQ sehen je Kamera wie folgt aus: 5. Den Kreis mindestens einmal durchlaufen. Es sollten mehr als 10.000 Frames aufgezeichnet worden sein. 6. Danach "Stop Wand Wave" klicken und die Berechnungen der Software abwarten. Dabei sollte der Status für jede Kamera am Ende der "Performing Calibration" das Wort "Awesome" (ausgezeichnet) anzeigen. 7. Nun zum Tab "Live 3D Workspace" wechseln. Dort erkennt man, dass die Kameras schräg positioniert sind. Daher wird es notwendig, das System mit dem L-Frame (siehe folgendes Foto) auszurichten. Dazu bitte den L-Frame in die Mitte des Capture-Volumes legen. Seite 12 von 48 Leitfaden zum Motion Capturing - 4. Marker Placement 8. Nun in Vicon iQ "LFrame: Ergo_14mm_LFrame" in der Pulldown-Leiste auswählen und dann den Button "Track L-Frame" auf der rechten Fensterseite drücken. Anschließend den Button "Set Origin" betätigen und das System ist ausgerichtet. Die KameraEinstellungen an dieser Stelle speichern. 9. Da die Kalibrierung beendet ist, kann mit den Aufnahmen begonnen werden. Ab jetzt dürfen die Stative nicht mehr berührt oder verändert werden, ansonsten muss die Kalibrierung erneut vorgenommen werden. 4. Marker Placement Die Person, deren Bewegungen aufgezeichnet werden, wird im Englischen als „Trial Subject" aber auch als „Performer“ bezeichnet. Wir verwenden wie schon erwähnt den Begriff „Performer“. Es ist möglich, jedes beliebige Objekt (so auch Tiere und Maschinen) zu capturen. Der Einfachheit halber und da am häufigsten benutzt, orientieren wir uns in diesem Leitfaden jedoch an einem menschlichen Objekt. Die Marker sind entsprechend der folgenden Abbildungen auf den schwarzen, nichtreflektierenden Anzug des Performers zu setzen: Seite 13 von 48 Leitfaden zum Motion Capturing - 4. Marker Placement Seite 14 von 48 Leitfaden zum Motion Capturing - 5. Range of Motion Klett-Klebeband wird oft benötigt, um die Marker zu befestigen. Sobald der Performer mit den Markern ausgestattet ist, ist es ratsam, Referenzfotos von ihm aufzunehmen. Diese zusätzliche Hilfe erleichtert das spätere Post-Processing in MotionBuilder außerordentlich. 5. Range of Motion Eine Range-of-Motion-Aufnahme wird benutzt, um die Proportionen des generischen Vicon Skeleton Templates (VST) entsprechend der physischen Dimensionen des Performers zu verändern und die Markerpositionen anzupassen. 1. Performer stellt sich in T-Pose-Stellung in das Zentrum des Capture-Volumes: Hinweise zur T-Pose: Der Performer sollte versuchen, in einer Haltung zu stehen, die so symmetrisch wie möglich ist. Die Füße des Performers sollten entsprechend Schulterbreite auseinanderstehen, und zwar parallel nach vorne zeigend. Der Performer sollte seine Knie und Ellbogen leicht einbeugen. 2. Klicke auf den Tab "Live 3D Workspace" und wähle bei "2. Provide Trial Information" Folgendes: "Name: rom001" und "Type: R.O.M.". Seite 15 von 48 Leitfaden zum Motion Capturing - 5. Range of Motion 3. Der Performer dreht sich vor dem Start der Aufnahme in Richtung positiver Z-Achse, siehe 3D Workspace in Vicon iQ. 4. Mit Betätigen des Buttons "Start", der sich bei "4. Capture !" befindet, wird die Aufnahme gestartet. 5. Für die Range of Motion ist eine lange Aufnahme nötig, die alle Marker deutlich zeigt und in der der Performer unterschiedliche Bewegungen ausführt (Beine abspreizen, Arme rotieren, Hüfte rotieren, Hinhocken, etc.). 6. Nachdem der Performer diese Bewegungen über mehr als 10.000 Frames ausgeführt hat, muss er in die T-Pose zurückkehren. 7. Dann ist die Aufnahme mit dem Button "Stop" zu beenden. Es erscheint ein Dialogfenster mit "Enter a Threshold Table filename", hier einfach auf OK klicken. Dann bei "Enter a Calibration filename" ebenfalls OK betätigen. 8. Anschließend ist unter "5. Review Last Capture" der Button "Load Into Post" zu betätigen. Rekonstruktion der Bewegungsdaten aus den gewonnenen 2D-Kameradaten Nun erfolgt die Bereinigung des Range-of-Motion-Aufnahme. Hierbei werden Methoden zur Beseitigung des Rauschens (Noise) angewendet, um die Marker vom Hintergrund zu separieren, die Koordinaten der Marker werden ermittelt und Bewegungsbahnen jedes 6 einzelnen Markers im dreidimensionalen globalen Koordinatensystem errechnet. 1. Gehe zum Tab „Pipeline“ und wähle dort aus dem Pulldown-Menü „AutoLabelROM“. 2. Die Operation „Circle Fit, Reconstruct, Trajectory Fit Frame Range“ muss als erstes ausgeführt werden. Circle Fit ist der Prozess, bei dem Algorithmen angewendet werden, um für den Marker eine 7 zentrale Koordinate zu errechnen. Beim Reconstruct werden aus 2D-Daten 3D-Daten erzeugt und die Bewegungsbahnen der Marker im 3D Raum bestimmt. Trajectory Fit Frame Range passt die Bewegungsbahnen der Marker der Frame-Rate an. 3. Um eine bestmögliche 3D-Rekonstruktion zu erzielen, sind nachfolgende geänderte Einstellungen notwendig. Dazu Doppel-Mausklick auf die Operation „Circle Fit, Reconstruct, Trajectory Fit Frame Range“ und die Standard-Werte wie nachstehend beschrieben editieren: 6 Vgl. University of Texas and Dallas: atec.utdallas.edu/~midori/Handouts/mocap_calibration.htm (Zugriff vom 2007-05-27). 7 Vgl. Vicon Product Glossary for Vicon MX and V-series systems, 2006. Seite 16 von 48 Leitfaden zum Motion Capturing - 5. Range of Motion Veränderte Werte in Operation „Circle Fit, Reconstruct, Trajectory Fit Frame Range“: 1. „Minimum cameras to start trajectory“ Default: 3 - Neuer Wert: 2 Die Bewegungsbahn eines Markers muss von mindestens 2 Kameras gesehen werden, um erfasst und rekonstruiert zu werden. 2. „Minimum cameras to reconstruct“ Default: 3 - Neuer Wert: 2 Ein Marker muss von mindestens 2 Kameras gesehen werden, damit seine Position erfasst und rekonstruiert wird. 3. „Reconstruction Volume Min. / Max.” Default: 4000 - Neuer Wert: 10.000 Die minimalen/maximalen Dimensionen des Rekonstruktionsvolumens (Einheit in Millimeter). Sämtliche Daten außerhalb dieses Volumens werden bei der Rekonstruktion ignoriert. Neuen Werte definieren ein Volumen von 10 m x 10 m x 7 m (positive Achsen) bzw. -10 m x -10 m x -0,4 m (in den negativen Bereich). 4. „Circle fitting error“ Default: 2 - Neuer Wert: 1,5 Gibt an, wie groß die Abweichung beim Circle Fit (Ermittlung der zentralen Koordinate des Markers) sein dürfen. 5. „Minimum/Maximum circle diameter“ Default: 0 und 100 - Neue Werte: 1 und 30 Werte für den Diameter (Durchmesser des Kreises), bei dem der Marker im 3D Workspace visualisiert wird (Einheit in Millimeter). 6. „Minimum reconstruction separation (mm)“ Default: 0 - Neuer Wert: 25 Verwirft alle eventuellen Markern, deren Werte am Ende des Processings als unwahrscheinlich gelten. Diese Marker stehen dann nicht mehr für andere Rekonstruktionsoptionen zur Verfügung. Hinweis: Alle Parameter können in der Vicon iQ 2.5 System Reference Volume I nachgelesen werden, siehe dort im Kapitel 7-28 (Seiten 282 ff.). 4. Dialog mittels OK-Button schließen, rechter Mausklick erneut auf die Operation und „Run Selected Op“ auswählen. Seite 17 von 48 Leitfaden zum Motion Capturing - 6. Labeling 5. Als nächstes den Tab "Subjects" (auf der rechten Bildschirmseite) wählen und dort auf "Create Vicon Skeleton Templates (VST)" klicken. 6. Wähle nun in der Pulldown-Leiste "Template: 'iQ_ProductionExample_V5' " und vergib bei "Subject Name:“ einen Namen. 7. Klicke dann auf „3D Workspace“, um die 3D-Rekonstruktion anzusehen. 6. Labeling Beim Labeling (engl. Beschriftung, Kennzeichnung) werden die Marker im 3D-Workspace den vordefinierten Markern des Vicon Skeleton Templates (VST) zugeordnet. Jeder Marker ist Teil des Körpers und erhält durch das Labeling seine eigene Identität. T-Pose wählen 1. Eine Stellung des Performers im 3D-Workspace suchen (mit Hilfe der Time Bar), in der er sich in der T-Pose befindet. Dann bei "Events" (unten rechts im Bildschirm) auf "G" 8 (General Event) drücken, danach wird "T" (T-Pose) aktivierbar, auch hierauf klicken. 2. Tab Labeling auswählen, darin "Modes: Sequence", "Rules: Whole", "Tools: Auto Vel. Label" wählen. 3. Dem Skeleton die Label-Punkte (beginnend mit „ROOT“) zuordnen. Vergleiche hierzu die Bezeichnungen und Abkürzungen mit den Abbildungen aus Kapitel 4. 4. Zum Labeln jeweils eine Markerbezeichnung rechts auswählen und im 3D Workspace auf den entsprechenden weißen Marker klicken. 5. Nach und nach entsteht ein farbiges Skelett, dabei stehen die roten Verbindungen für die linke Skeletonseite und grüne für die rechte Seite (Orientierung gemäß Ich-Perspektive des Skeletons). 6. Jetzt zum Tab „Pipeline“ wechseln und in der Pull-Down-Leiste „Autolabel Range Of Motion“ wählen. 7. Rechter Mausklick auf die Operation „Autolabel Range Of Motion“ und „Run Selected OP“. Autolabel Range Of Motion: Da das gelabelte Skeleton beim Abspielen der Animation oft aufgrund fehlender Marker nicht vollständig ist und da beim erneuten Erscheinen dieser Marker diese von Vicon iQ als neu eingestuft und somit ungelabelt sind, wird diese Operation notwendig, die automatisch versucht, die wieder auftretenden Marker erneut zuzuordnen, und zwar auf Grundlage des Labelings vom ersten Frame. 8 Alle Events können in der Vicon iQ 2.5 System Reference Volume I auf Seiten 291 ff. nachgelesen werden. Seite 18 von 48 Leitfaden zum Motion Capturing - 7. Subjekt-Kalibrierung 8. Danach gleichermaßen den „Trajecotry Labeler“ ausführen und dann den „Kinematic Fit“. Trajectory Labeler: Labelt die Marker automatisch. Kinematic Fit: Rekonstruktion der Marker, indem sich für die Markerpositionen an einem Skeleton Template orientiert wird. Hinweis: Es kann geprüft werden, ob die Daten der Range of Motion durchgängig sind oder Lücken aufweisen, indem der Tab „Continuity Chart“ angeklickt wird. Schwarze Bereiche stehen für Lücken. Durchgehende Bewegungsdaten je Marker, ohne Lücken. 7. Subjekt-Kalibrierung Die Subjekt-Kalibrierung erstellt ein Skeleton, das den physischen Dimensionen des Performers entspricht (VSK), indem es die Proportionen des generischen Modells (VST) verändert. Mit dem fertigen VSK lassen sich alle Operationen in der Pipeline automatisch ausführen. 1. Zum Tab "Subjects" wechseln (an der rechte Bildschirmseite). Dort bei "Calibration" auf "Calibrate Subject" klicken, dann starten Model Calibration und Collecting Statistics. Durch die Kalibrierung werden nicht-gelabelte unbekannte Marker beim Export der Bewegungsdaten nicht berücksichtigt. 2. In der Konsole werden verschiedene Daten angezeigt, wichtig ist hierbei die Fehlerrate, welche angibt, wie groß die Abweichung der Marker zueinander ist. Diese Fehlerrate („Error“) sollte unter 15 mm liegen. Ist dies nicht der Fall, so ist die Wiederholung der Kalibrierung ab Kapitel 5 ratsam. Seite 19 von 48 Leitfaden zum Motion Capturing - 8. Capturing der Bewegungen 3. Nach dem Ende des Kalibrierungsprozesses (siehe Konsole: „Subject Calibration Succeeded“) kann das Vicon Skeleton als VSK-Datei gespeichert werden, dazu den Button „Export Vicon Skeleton (VSK)“ nutzen. Subjekt aktivieren 1. Zum Tab „Capture“ wechseln und rechts das Registerblatt „Active Objects“ wählen. 2. Bei „Available Objects (check box to make active)“ einen Haken beim kalibrierten Objekt setzen, um das Skelett zuzuweisen bzw. benutzen zu können. 8. Capturing der Bewegungen 1. Bei "Provide Trial Information" (auf der rechten Bildschirmseite) als "Type: Walk" (nicht mehr R.O.M.) wählen und bei "Name:" einen neuen Namen verbunden mit einer IDNummer eintragen (z. B. "myName_walk01"). 2. Anschließend bei "4. Capture !" auf "Start" klicken und das Capturen beginnt. Das Capturen ist aus der T-Pose heraus zu starten. Es ist ratsam, bei jeder Aufnahme den Performer in Richtung positiver Z-Achse schauen zu lassen, da sich in der Bearbeitungssoftware meist in diese Richtung orientiert wird. Ansonsten können die MoCap-Daten später bei der Anwendung in MotionBuilder auch rotiert werden. 3. Performer unternimmt einen Bewegungsablauf, danach das Capturen mittels Button "Stop" beenden. 4. Die Aufnahme wird automatisch in der Datenbank gespeichert. 5. Die Nummer beim Namen wird automatisch inkrementiert, aus z. B. "myName_walk01" wird "myName_walk02". Seite 20 von 48 Leitfaden zum Motion Capturing - 9. Post-Processing mit Vicon iQ Batch-Pipeline 9. Post-Processing mit Vicon iQ Batch-Pipeline Ziel des Post-Processing ist es, die Rohbewegungsdaten der angefertigten Aufnahmen brauchbar und zügig umzuwandeln und in das C3D-Format zu exportieren. Zur Bearbeitung der Bewegungsdaten gehören Datenbereinigung und Fehlerbeseitigung sowie SubjektKalibrierung anhand der VSK-Datei. Voraussetzung für das Post-Processing ist das Vorliegen der VSK-Datei (Vicon Skeleton Template). 1. Starte Vicon iQ und öffne die zu bearbeitende Datenbank. 2. Ein Doppelklick auf die Aufnahme (auch Trial genannt) öffnet diese. Eine andere Möglichkeit ist das Laden mittels rechten Mausklick auf die Aufnahme: >Open >Raw capture data. 3. Nun ist die VSK-Datei zu laden. Dazu auf den Tab "Subjects" wechseln und den Button "Import Vicon Skeleton (VSK)" wählen. Dann die richtige VSK-Datei öffnen. Anschließend zurück zum Tab "Pipeline". Um die MoCap-Daten zu rekonstruieren und automatisch zu bearbeiten, können verschiedene Pipelines erstellt werden. Nachfolgend ist die von Vicon vorgegebene, hier jedoch geringfügig modifizierte Pipeline beschrieben: Batch-Pipeline von Vicon iQ Diese Pipeline ist in Vicon iQ vordefiniert und in der Pulldown-Leiste unter dem Namen „General_Pipeline_Example“ zu finden. In der Pipeline sollten folgende Modifikationen vorgenommen werden (rechte Maustaste auf Operation und >Remove Operation wählen): Seite 21 von 48 Leitfaden zum Motion Capturing - 9. Post-Processing mit Vicon iQ Batch-Pipeline Es ist äußerst wichtig, die Parameter der 1. Operation „Circle Fit, Reconstruct, Trajectory…“ so einzustellen, wie bereits in Kapitel 5 „Range of Motion“ unter „Rekonstruktion der Bewegungsdaten aus den gewonnenen 2D-Kameradaten“ beschrieben. Nachstehend nochmals ein Screenshot: Tipp: Um die Pipeline nicht jedes Mal neu definieren zu müssen, kann sie mit ihren Einstellungen gespeichert werden. Dazu einen neuen Namen eintragen und danach zum Speichern auf das Disketten-Icon klicken: Erklärung der einzelnen Pipeline-Operationen 1. „Circle Fit, Reconstruct, Trajectory Fit Frame Range”: Diese Operation enthält alle notwendigen Prozesse zur Umwandlung aller 2D-Bilder in eine 3D-Rekonstruktion mit Bewegungsbahnen. 2. Mit „Camera Health Check“ wird die Kamera-Kalibrierung überprüft, was jedoch in dieser Stufe der Bearbeitung nicht notwendig ist, da eine Kalibrierungsdatei bereits korrekt vorliegt. 3. „Load Subject(s)“ lädt die VSK-Datei. Es ist notwendig, die Operation zu editieren (Doppelklick). Unter „Input File Name(s)” muss die VSK-Datei ausgewählt werden, die zu dieser Session angefertigt wurde. Manuell kann man die Datei über den Tab „Subjects“ bei „Import Vicon Skeleton (VSK)“ laden. 4. „Trajectory Labeler“ labelt die Marker automatisch anhand der VSK-Daten. 5. „Trim Tails“ beseitigt Marker, die sich unnatürlich weit vom eigentlichen Objekt wegbewegen. Diese Fehler können durch eine fehlerhafte Rekonstruktion aufgrund von Ghost Markern, verdeckten oder überlagerten Markern auftreten. Der Filter versucht, Ungenauigkeiten in Bewegungsbahnen zu entfernen, indem er Frames vor oder nach Lücken entfernt und wieder rekonstruiert. Seite 22 von 48 Leitfaden zum Motion Capturing - 9. Post-Processing mit Vicon iQ Batch-Pipeline 6. „Filter Using a Butterworth Function”: Dieser Filter beseitigt sprunghafte, schwankende Frequenzen, die inkonsistent mit den Markern sind. 7. „Filter Using Weighted Point Average” wendet einen Filter an, der Bewegungsbahnen in einer gewissen Spanne an Frames auswählt und analysiert, um Rauschen zu entfernen und die Bewegungsbahnen zu glätten. Hierbei werden Durchschnitte gebildet, indem NachbarDatenpunkte in die Berechnungen einbezogen werden. 8. „Fill Gaps using Splines” führt eine kubische Spline-Interpolation aus, um die Lücken der Bewegungsbahnen zu schließen. 9. „Fill Gaps Rigid Body”: Als Rigid Body wird ein vorgegebenes Skeleton-Gerüst (Rigid Body Clean Up Template, RBT-Datei) bezeichnet, welches verwendet wird, um fehlende Punkte zu ermitteln. In den Einstellungen dieser Operation muss das ursprüngliche VST-Template angegeben werden. 10. „Fill Gaps using Virtual Points”: Virtuelle Punkte werden gesetzt, um fehlende Marker zu ersetzen. 11. „Kinematic Fit” benutzt die VSK-Datei, um das aus den Markern rekonstruierte Skeleton an das kinematische Skeleton anzupassen. 12. Die vorige Operation erlaubt nun die Ausführung von „Fill Gaps Using Kinematic Model“, welches fehlende Daten aufgrund von verdeckten Markern nunmehr besser wiederherstellen kann. 13. „Delete Unlabelled Trajectories” ist eine Operation, die nicht-gelabelte Bewegungsbahnen löscht. 14. „Export C3D file“ ist der abschließende Schritt zum Export der MoCap-Daten für die Weiterverwendung in MotionBuilder oder anderen Programmen. Manuell können die Daten über das Menü >File >Export exportiert werden. Nachdem alle Operationen der Batch-Pipeline ausgeführt worden sind, kann die fertige Animation im 3D Workspace abgespielt werden. Das Ergebnis ist meist sehr gut und zufrieden stellend. Manuelle Nachbearbeitung der MoCap-Daten Probleme, die die Batch-Pipeline nicht behebt, können eventuell manuell nachgebessert werden. Für das manuelle Editieren der Daten bieten sich verschiedene Füll-Werkzeuge an, die in der Vicon iQ 2.5 System Reference Volume I auf den Seiten 262 ff. erläutert sind. Nachfolgend ein kurzer Überblick: Linear: Lineare Interpolation zwischen zwei Marker-Positionen, um eine Lücke zu füllen. Spline: Eine kubsiche Spline Interpolation, um in der selektierten Bewegungsbahn Lücken zu füllen. Kinematic Model: Kann angewendet werden, nachdem die Kinematik zugewiesen wurde. Die Operation basiert auf dem Vicon Skeleton (VSK). Sie wird gegenüber der Spline-Interpolation bevorzugt, wenn es sich um große Lücken handelt. Seite 23 von 48 Leitfaden zum Motion Capturing - 9. Post-Processing mit Vicon iQ Batch-Pipeline Associated: Selektiere mit gedrückter Strg-Taste die Secondary Marker in der Nähe des fehlenden Markers und klicke auf Associated (nahe stehend). Die Operation versucht anhand der Positionen der anderen Marker die Position des fehlenden zu ermitteln. Ordered: Diese Operation nutzt temporär virtuelle Marker, die aufgrund von drei assoziierten sekundären Markern berechnet werden. Virtual Points: Zum Füllen der Lücken werden virtuelle Punkte verwendet, die vom Nutzer selbst zu erstellen sind (virtual point clean up template, siehe hierzu Vicon iQ Reference auf Seiten 308 ff.). Rigid Body: Entsprechend des definierten Skeletons werden der fehlende Punkt ermittelt und Diskontinuitäten beseitigt. Seite 24 von 48 Leitfaden zum Motion Capturing - 10. Erstellen eines Skeletons in Maya 10. Erstellen eines Skeletons in Maya Achtung: 3D-Figur sollte in Richtung positiver Z-Achse schauen (Standard für 3D-Modelling). Als Bearbeitungsmodus muss „Animation“ gewählt sein. Namenskonventionen von MotionBuilder 1. Starte Maya, öffne eine 3D-Figur und blende das Grid aus zur besseren Übersicht (>Display >Grid). 2. Wähle die gesamte 3D-Figur aus. Erstelle dann einen Layer und klicke mit rechter Maustaste auf diesen, wähle im Kontextmenü „Add Selected Objects“. Anschließend auf das Feld neben „V“ (visible) klicken, ein „T“ (template) erscheint und die 3D-Figur existiert nun als Ghost. 3. Als Nächstes im Tab „Animation“ das Joint-Tool wählen: Tipp: Mit gedrücktem Shift kann der Joint beim Setzen verschoben werden. 4. Wähle jetzt den Front View. 5. Setze den ersten Joint etwa in Hüfthöhe (in der Mitte des Beckens). Seite 25 von 48 Leitfaden zum Motion Capturing - 10. Erstellen eines Skeletons in Maya 6. Wechsle dann zum Side View und setze die Joints wie folgt, beginnend mit den „hips“: 7. Drücke Enter und benenne dann die Joints entsprechend der Namenskonventionen von MotionBuilder um, dazu Doppelklick auf "joint1" rechts oben in den Eigenschaften ("joint1" wird zu “hips“). 8. Setzen der Joints für die Beine (mit einem neuen unabhängigen Joint neben der Hüfte beginnen): 9. Wechsle zum Front View und verschiebe das Bein an die richtige Stelle. 10. Danach markiere das gesamte Bein (1. Joint klicken) und wähle im Menü >Edit >Duplicate (Um Default-Einstellung zu aktivieren, in der Dialogbox bei >Edit >Reset Settings wählen.) Dann den Button „Duplicate“ betätigen. Seite 26 von 48 Leitfaden zum Motion Capturing - 10. Erstellen eines Skeletons in Maya 11. Das duplizierte Skeletonbein nun auf das rechte Bein der 3D-Figur verschieben und dann entsprechend der Namenskonventionen benennen: 12. Selektiere nun mit gedrückter Shift-Taste folgende Joints: „LeftUpLeg“ + „RightUpLeg“ + „hips“. Drücke jetzt „P“ für das Parenting (Beine werden Children der Hüfte). 13. Nun erfolgt das Setzen der Joints für die Arme: Seite 27 von 48 Leitfaden zum Motion Capturing - 10. Erstellen eines Skeletons in Maya 14. Mit dem gesamten Arm selektiert, wähle aus dem Menü >Skeleton >Mirror Joint dort: und Dann den Button „Mirror“ betätigen. 15. Falls nötig kann die Position des Armes verschoben werden (siehe auch Top View). 16. XYZ-Orientierung der Joints sind durch das Spiegeln nicht korrekt, daher den gesamten rechten Arm auswählen und in Command Line von Maya folgenden MEL-Code eingeben, 9 damit sie neu ausgerichtet werden: -e :: edit mode -oj :: orientation -xyz :: x-pointed down the bone -ch :: all children 17. Nun folgt die Benennung der Joints des rechten Arms analog dem Linken (d. h. „Left“ jeweils mit „Right“ ersetzen). 18. Selektiere nun mit gedrückter Shift-Taste folgende Joints: „LeftShoulder“ + „RightShoulder“ + „spine3“ und drücke danach „P“ für das Parenting. 19. Untemplate die 3D-Figur im Layer (Klick auf „T“). 20. Selektiere das komplette Skeleton und die 3D-Figur. Wähle dann im Menü >Skin >Bind Skin >Smooth Bind und stelle folgende Optionen ein: 21. Drücke dann den Button „Bind Skin“. Nun bewegt sich die 3D-Figur entsprechend den Joints des Skeletons. 9 Vgl. Tutorials von 3D Buzz unter http://www.3dbuzz.com/vbforum/sv_dl_list.php?c=10 (Zugriff vom 2007-05-28). Seite 28 von 48 Leitfaden zum Motion Capturing - 10. Erstellen eines Skeletons in Maya Gewichtungen modifizieren Ziel der Veränderung der Gewichtungen ist es, unnatürliche Verformungen zu vermeiden. 1. Selektiere die gesamte 3D-Figur. 2. Wähle im Menü >Skin >Edit Smooth Skin >Paint Skin Weights Tool. 3. Jetzt können die Einflüsse der Joints eingestellt bzw. eingezeichnet werden (schwarz = kein Einfluss, weiß = Einflussbereich). Tipp: Klicke den Button „Flood“, um die Gewichtung für die selektierten Elemente zu glätten. Letzte Schritte 1. Öffne den Hypergraph (Menü >Window >Hypergraph). 2. Klicke im Hypergraph auf den Namen der 3D-Figur und mit gedrücktem Shift auf den Joints „hips“ des Skeletons. 3. Nun betätige auf der Tastatur den Shortcut Strg + G. Damit sind Skeleton und 3D-Figur gruppiert. Benenne noch die Gruppe um in „Reference“. 4. Im Menü klicke >File >Save Scene. 5. Danach unter >File >Export All . Wähle unter File Type: "fbx" und betätige den Button "Export All". Speichere die Daten an geeigneter Stelle. Hinweis: Das FBX-Plugin muss für Maya installiert sein, damit das FBX-Format zur 10 Verfügung steht. Außerdem muss FBX in Maya aktiviert werden, sonst erhält man zum Beispiel beim Öffnen der FBX die Fehlermeldung „Unrecognized File Type“. Aktivierung unter >Window >Settings/Preferences >Plugin-Manager bei: Import nach MotionBuilder Einfach im Menü >File >Open wählen und dann die Datei öffnen. 10 Download des FBX-Plugins bei Autodesk: http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=7851647 Seite 29 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 11. Data-Processing mit MotionBuilder 11.1 User-Interface (1) Title Bar und Menu Bar (2) 3D Workspace Wird auch als Viewer Window bezeichnet. Mit View- und Display-Options, 3D-Navigation und Toolbar im rechten Bereich. (3) Character Controls Für die Animation eines Characters über ein Control Rig (Kontrollgerüst). Dort lassen sich ebenfalls Bewegungsquelle und Ansichtsmodi einstellen. (4) Transport Controls Kontrollen zum Abspielen des Animationsclips. (5) Navigator Zweiteilung in linke Seite Scene Browser und rechte Seite Asset Settings. In den Tabs stehen mehrere Modi zur Auswahl: Dopesheet (zeigt Keyframes an), FCurves (Function Curve stellt Bewegungsdaten grafisch dar), Story (Komposition von Animationsclips), Motion Blend (optional für das Blending), Animation Trigger (Bereitstellen von Animationen, die über Auslöseimpulse gestartet werden). (6) Asset Browser Zweiteilung in linke Seite View Options und rechte Seite Browser Pane. Seite 30 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 11.2 Mappen der Bewegungsdaten auf den Actor In MotionBuilder funktioniert das Mapping der MoCap-Daten grundsätzlich über eine Zwischeninstanz namens Actor, der die Bewegungen aufnimmt und schließlich auf einen 11 Character überträgt. Der Actor ist anatomisch geformt und besitzt menschliche Proportionen. Nachfolgend ist der Ablauf in MotionBuider kurz geschildert, bevor die Vorgehensweise im nächsten Abschnitt detailliert erklärt wird: Als erstes werden die MoCap-Daten importiert und ein Actor erstellt. Danach passen wir die Proportionen des Actors an die Markerpositionen der Bewegungsdaten an. Dadurch wird die saubere Übertragung der Bewegungsdaten gewährleistet. Nach der Anpassung erfolgt das Anbinden der MoCap-Daten an den Actor. Hierzu müssen die entsprechenden Marker den Cells (vordefinierte Stellen in den Actor Controls) zugeordnet werden, damit der Actor sich an ihnen orientieren kann. Ein in Maya erstelltes, im FBX-Format gespeichertes Skeleton (meist mit seiner 3D-Figur) wird in den 3D Workspace importiert und charakterisiert (Nutzung des „Character“-Templates sowie Zuordnen der Skeleton-Bones zu diesem). Nach der Charakterisierung stehen unterschiedliche Funktionen in MotionBuilder bereit, mit denen sich die Bewegungen des Skeletons beeinflussen lassen. Wenn der Bewegungsablauf des Skeletons wie gewünscht angepasst wurde, kann die Animation geplottet und exportiert werden. Zwei Hinweise vorab: Die Marker sollten im Idealfall in Richtung Z-Achse gerichtet sein, worauf bei der MoCapAufnahme bereits geachtet wurde. Andernfalls können sie in MotionBuilder rotiert werden. Oft funktioniert das Undo in MotionBuilder nicht, oder nur für wenige Schritte, was das Arbeiten mit MotionBuilder wesentlich erschwert. 11 1. Starte das Programm MotionBuilder und importiere die C3D-Datei von Vicon, die die MoCap-Daten enthält. Nutze dazu das Menü >File >Import, selektiere „Vicon (*.c3d)“ als Dateityp. 2. Nach dem Import erscheinen Bewegungspunkte, die Marker im Screen: Der Character ist in MotionBuilder eine abstrakte Vorlage für den Knochenaufbau der Figur, sie ist jedoch weder Knochen noch Geometrie. Seite 31 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 3. Als nächstes einen „Actor“ aus dem Asset Browser in den 3D-Workspace ziehen: 4. Klicke auf „Actor“ im Asset Browser, halte den Mousebutton gedrückt und zieh den Actor in den 3D-Workspace, dann erscheint: Hinweis: In dieser Beispiel-Abbildung blickt der importierte Actor standardgemäß in Richtung der Z-Achse, jedoch wurden die MoCap-Daten in Richtung positiver X-Achse aufgenommen, sodass der Actor rotiert und transliert werden muss, um auf die Marker zu mappen. Actor den Markern anpassen Hier ist es außerordentlich hilfreich, wenn Fotos vom Performer vorliegen, als Referenz für die Original-Marker auf dem Realkörper. 1. Als Nächstes den Actor und seine Körperteile skalieren, translieren und rotieren bis sie in der „Wolke“ der Motion-Daten liegen. Die Tools dazu befinden sich auf der rechten Toolbar. Nutze auch die Masks (Icons am Ende der Toolbar) für andere Select-Modi. 2. Beim Ausrichten mit der Hüfte anfangen, dann zu den Extremitäten hin anpassen (von der Hüfte zu den Armen und dem Kopf; vom Unterkörper zu den Füße hin), da Abhängigkeiten der verschiedenen Elemente zueinander bestehen. Weiterhin darauf achten, dass die Bewegungspunkte auf der Actor-Oberfläche positioniert werden. Seite 32 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 3. Hilfreiche Tipps an dieser Stelle: Strg+A für Ansichtswechsel Strg+1 für die Ein-Fenster-Ansicht, Strg+4 für die Vier-Fenster-Ansicht Taste „T“ für Translation, „R“ für Rotation, „S“ für Scaling Taste „F“ für Framing (Zentrieren des ausgewählten Elements in Fenstermitte) Eventuell versteckte Marker können sich im Actor-Körper befinden, nutze daher auch den X-Ray-Modus: >View >X-Ray. Translieren des Actors auf die „Wolke“ der MoCap-Daten (4-Fenster-Ansicht) Anpassen der Proportionen des Actors an die Bewegungspunkte Seite 33 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 3D-Marker auf der Oberfläche des Actors Liste aller Marker: 6 Marker je Arm 5 Marker am Kopf 3 Marker je Schulter 1 Marker auf Sternum (vorne, Mitte der Brust) 2 Marker auf Rücken (hinten, Mitte oben) 3 Marker auf der Lendenwirbelsäule 4 Marker auf der Taille (vorne und Seite) 3 Marker je Bein (Oberschenkel, Knie, Unterschenkel) 4 Marker je Fuß insgesamt 47 Vicon-Marker Sechs Marker je Arm Seite 34 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 4 Marker an der Taille, 3 Marker je Bein, 4 Marker je Fuß Zuordnen der Marker zum Actor 1. Gehe zum Navigator, klicke auf „MarkerSet...“ und dann auf „Create“. 2. Die Zuordnung der Marker erfolgt, indem jeder Marker im 3D-Workspace selektiert und mit gedrückter Alt-Taste auf die entsprechende Körpersektion, die sogenannte Cell, gezogen wird. Jede Cell kann maximal 5 Marker aufnehmen. insgesamt werden 32 Marker benutzt Seite 35 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder Zuordnung: Cell Anzahl Namen Kopf 4 LFHD, RFHD, LBHD, RBHD Schultern je 2 LFTShould, LRRShould, RFTShould, RRRShould Brust 2 STRN, MidBack Hüfte (Waist) 4 LFWT, RFWT, LBWT, RBWT Ellbogen je 1 LELB, RELB Hand je 1 LWRIST, RWRIST Finger je 2 LPINKY, LTHUMB RPINKY, RTHUMB Knie je 1 LKNE, RKNE Schienbein je 1 LSHN, RSHN Hacken (Ankle) je 1 LANK, RANK Zehen (Toe) je 2 LTOE, LMT5, RTOE, RMT5 Im 3D Workspace erscheint ein weißer Marker um einen blauen Marker (MoCap-Daten) herum, wenn er dem Skeleton-Modell in den Actor Settings zugeordnet wurde. Marker-Set exportieren (HIK-Datei) 1. Klicke auf „MarkerSet...“ in den Actor Settings und wähle Export. 2. Das Marker-Set wird als .hik-Datei gespeichert und kann mit anderen Aufnahmen (der gleichen Session) wieder verwendet werden. Somit erspart sich das Produktionsteam Zeit, da die Anpassung des Actor-Körpers zu den Markern nur einmal durchgeführt werden muss. Seite 36 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder Aktivieren des Characters 1. In den Actor Settings auf „Snap“ klicken, damit die Offsets berechnet werden und das Mapping aktiviert wird. 2. Wähle in der sich öffnenden Dialogbox „TR“ (Translation und Rotation) aus, um die Offsets des Marker-Sets zu kalkulieren. 3. Der Actor ist nun aktiviert und die Marker-Positionen sind seinen Körperteilen angepasst. Das Marker-Set verbindet die Marker und den Actor, die optischen Daten sind nun gemappt. Jetzt besteht die Möglichkeit, den Actor als Bewegungsquelle für eine charakterisierte 3D-Figur zu nutzen. Hinweis: In den Actor Settings kann der Actor über “Active” an- und ausgeschaltet werden. MoCap-Daten auf Actor gemappt 4. Da es zu kleinen Fehlern kommen kann (siehe Fuß in unterer Abbildung), muss die Szene nachbearbeitet werden, dazu mehr in Kapitel 11.5 Fehlerkorrektur: Kleine Fehler an der Fußspitze Seite 37 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder Wiederverwendung des Marker-Sets (HIK-Datei) Nachdem neue Bewegungsdaten als C3D-Datei und ein neuer Actor importiert wurden, einfach die HIK-Datei importieren, dazu: 1. Auf „MarkerSet...“ in den Actor Settings klicken und „Import“ wählen. 2. Als nächstes alle optischen Datenpunkte (auch “root”, grüne Sphere) markieren und mit gedrückter ALT-Taste in den Model Teil (<No model>) neben Reference ziehen. 3. Nun setzt MotionBuilder automatisch alle Marker an die richtigen Stellen. 4. „Active“ klicken und der Actor snapt auf die Bewegungsdaten. Nun bewegt sich der Actor entsprechend der MoCap-Daten. 11.2 Skeleton charakterisieren und mit Actor verbinden Achtung: Die Joints des Skeletons der importierten 3D-Figur sollten entsprechend der Namenskonventionen von MotionBuilder benannt sein. Siehe hierzu Kapitel 10. Erstellen eines Skeletons in Maya: Wichtiger Hinweis: In MotionBuilder werden nur die Bewegungen anhand des Skeletons bearbeitet, der Körper der 3D-Figur hat keinen Einfluss. Das heißt, es reicht aus, das Skeleton aus Maya zu exportieren und in MotionBuilder zu charakterisieren, darauf die Bewegungen zu mappen und es wieder zurück nach Maya zu exportieren. Es ist jedoch ratsam, das Skeleton mit seiner 3D-Figur zu importierten, da Bewegungen und eventuelle Verformungen dadurch visuell besser zu verfolgen sind. 3D-Figur mit Skeleton importieren 1. 3D-Figur mit Skeleton importieren (ohne Animation) mittels des Menüs: >File >Merge... Seite 38 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 2. Nach dem Import der 3D-Figur bitte aus dem Asset Browser unter Templates - Characters einen „Character“ nehmen und ihn auf die Hüfte des 3D-Characters ziehen 12 (“Characterize” klicken und dann “Biped” wählen). 3. Der „Character“ erscheint nun im Navigator (links in nachstehender Abbildung), klicke doppelt auf ihn, um die Character Definition und die Character Settings zu öffnen: Mapping List und Naming Template noch nicht zugewiesen 4. Sofern die Namenskonventionen von MotionBuilder eingehalten wurden, muss nur auf “Extract Naming Template” geklickt werden und die Zuweisungen von SkeletonElementen zu Character-Elementen wird automatisch vorgenommen (Mapping). Nodes des Skeletons sind der Mapping List zugeordnet 5. 12 Wenn das Skeleton nicht den Namenskonventionen entspricht, müssen die Nodes einzeln per gedrückter ALT-Taste aus dem 3D Workspace in die Character-Definitionen (Mapping List und Naming Template) gezogen werden. Die Abkürzung Biped meint das englische Wort Bipedalism, was das Stehen oder Fortbewegen auf zwei Beinen meint. Seite 39 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder Actor und Skeleton verbinden 1. Wähle den Character in der Baumstruktur auf der linken Seite des Navigators, klicke auf den Tab „Character Settings“ und wählte unter „Input Type: Actor Input“, danach bei „Active“ den Haken setzen. 2. Sobald “Active” geklickt wurde, snapt der 3D-Body auf den Actor: 3. Nun kann die Animation geplottet und exportiert werden (siehe nächstes Kapitel). Seite 40 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 11.4 Plotting und Weiterverwendung Plotten der Bewegungsdaten auf ein Skeleton Unter Plotting, Baking oder Burning versteht man das Übertragen von Bewegungsdaten auf ein Skeleton. Die Bewegung des Skeletons ist auf der Bearbeitungsstufe „Actor“ von diesem abgeleitet und es gibt keine wirklichen Daten für die Elemente des Skeletons (Gelenke bzw. Joints). 1. Um in MotionBuilder zu plotten, muss in den Character Settings auf „Plot Character…“ geklickt werden. 2. Anschließend kann das fertige Skeleton über >File >Export im FBX-Format exportiert werden. Nach dem Plotten der Daten werden Rotations- und Translationsdaten in die Joints hinein platziert. Danach ist es das Skeleton allein, das sich aufgrund seiner nun eigenen Daten bewegt, die Bewegungsdaten sind mit ihm verschmolzen. Wählt man einen Joint aus und betrachtet seine Daten in den FCurves, so sind jetzt alle Rotationen und Translationen für diesen Joint erkennbar. Dort können direkte Veränderungen vorgenommen werden. Weiterverwendung 1. Export der Animation zu Maya Nach dem Plotten auf das Skeleton kann dieses wie bereits oben beschrieben über >File >Export als FBX-Datei exportiert und in Maya, in die bereits erstellte Szene, wieder importiert werden. Dazu in Maya unter >File >Import... die Datei auswählen und darauf achten, dass im sich öffnenden Dialogfenster die einfache Merge-Option gewählt ist. Nach dem Import sollten sich die Bewegungsdaten des Skeletons von selbst auf das Skeleton in Maya übertragen. 2. Weitere Exportformate Neben dem FBX-Format und einem FBX-Konvertierungsmodus (>File >FBX Converter) stehen in MotionBuilder weitere Formate für den Export zur Verfügung: 3. • BVH Biovision - für hierarchische oder skelettbasierte Daten • HTR Motion Analysis - hierarchische Transformationen und Rotationen • AMC / ASF Acclaim - Dualformat, ASF mit Skeleton-Definition, AMC mit MoCap-Daten • TRC - Format für Aufnahmen mit Motion Analysis • C3D Vicon - Format für Aufnahmen mit Vicon Systemen • 3DS 3D Studio Scene - 3ds Max Scene-Format • DXF Scene - Vektorformat ASCII, das 2D- und 3D-Daten enthält • OBJ Object File - für den Export von Objektinformationen Rendering in MotionBuilder MotionBuilder bietet neben den Export-Möglichkeit auch ein Rendering an, damit lässt sich die Szene in den Formaten: AVI, MOV, JPG, TGA, TIF, TIFF, YUV und SWF Flash rendern. Der Zugriff erfolgt über das Menü >File >Render und dort die entsprechende Option auswählen. Seite 41 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 11.5 Fehlerkorrektur Fehlerkorrekturen lassen sich gut über die Auxiliary Effectors (unterstützende Effektoren) durchführen. Sie sind in vielen Situationen hilfreich, um die Bewegungen eines Skeletons zu beeinflussen. Hier kommt die inverse Kinematik zur Geltung, bei der ausgehend von der Lage eines Endeffektors die Bewegungen der übrigen Glieder berechnet werden. Vorgehen in MotionBuilder: 1. Rechter Mausklick auf die Cell des entsprechenden Körperteils in den Character Controls und wähle >Create Aux Effektor. Im 3D Workspace erscheint ein Auxiliary Effector (gekennzeichnet als gelber Würfel): 2. Dieser Effector kann verschoben und rotiert werden, um Position und Rotation des Originalnodes (rote Kugel in der Abbildung) wie gewünscht zu verändern. 3. Für jeden Framebereich muss die Position des Effectors gekeyt werden (Taste „K“ betätigen). 4. Im Tab FCurves können Translationen, Rotationen und Skalierungen betrachtet und verändert werden. Seite 42 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 5. Auch die Intensitäten des Effectors können separat gekeyt und in den FCurves nachträglich eingestellt werden: Hinweis: Die Bearbeitung kann unter Umständen länger dauern, da Positionen und Intensitäten von Frame zu Frame stark variieren können und das Keying entsprechend variiert vorgenommen werden muss. 5. Wenn die Bewegung geändert wurde und fertiggestellt ist, müssen die Änderungen auf das Skeleton geplottet werden. Drücke hierzu Plot Character in den Character Settings. Damit werden die Änderungen mit dem Skeleton verschmolzen und die Auxiliary Effectors verschwinden. 6. Anschließend kann das Skeleton mit den geänderten Bewegungsdaten als FBXAnimationsdatei oder die gesamte Szene mit Skeleton und 3D-Figur exportiert werden. Hinweis: Die gekeyten XYZ-Positionen der Auxiliary Effectors werden beim einfachen Speichern der FBX-Datei nicht gesichert, sofern man später daran weiterarbeiten möchte. Die Änderungen müssen, um erhalten zu bleiben, in einem Arbeitsgang fertiggestellt und geplottet werden. 11.6 Loops herstellen Loops (Schleifen) meint Animationsclips, deren Anfangs- und End-Frame identisch sind. Die Clips können aneinandergereiht werden und sich wiederholen, ohne dass der Betrachter einen Übergang erkennt. Um dieses Ziel mit MotionBuilder zu erreichen, sind folgende Arbeitsschritte notwendig: Vorbereitung (Import) 1. Wähle >Layout >Editing (oder drücke den Shortcut: F3). Seite 43 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 2. Klicke im Asset Browser mit der rechten Maustaste in eine leeren Stelle (templates), wähle "add favorite path" und füge das Verzeichnis mit den Fbx-Dateien zu. 3. Ziehe die FBX-Datei mit dem charakterisierten Skeleton in den 3D-Workspace und wähle >FBX Open >>No Animation. 4. Ziehe vom Asset Browser den Animationsclip (MoCap-Daten) in das Story Window (unter das Feld des Time-Sliders, sog. Action Editor). Dadurch wird ein neuer Character Track erstellt, der automatisch auf den Character mappt. 5. Rechter Mausklick auf den „Character Track“ und wähle >Rename (z. B. "walk_source"). 6. Positioniere den Clip auf Frame 1 (mit der Maus verschieben). 7. Rechter Mausklick ins Story Window und wähle >Frame Start/End (dadurch ist der gesamte Clip sichtbar und kann komplett abgespielt werden). Loop des Animationsclips 1. Suche einen Loop Point im ersten Teil des Animationsclips, das heißt eine Position, in der sich ein Körperteil nicht bewegt, z. B. rechter Fuß vorne am Boden beim Linksschritt. 2. Ziehe den Laufbalken von Frame 1 bis zum gewählten Frame (Loop-Eingang): Seite 44 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 3. Suche als nächsten Frame einen Loop-Ausgang, also eine gleiche Position (für das Beispiel: ein rechter Fuß erneut vorne am Boden) wie beim Loop-Eingang und ziehe den Laufbalken von rechts auf diesen Frame (Loop-Ausgang). 4. Nun verschiebe den Clip auf Frame 1. Danach rechter Mausklick auf den Balken und wähle >Copy. Füge ihn dann am Ende des Clips ein. Jetzt wird ein Ghost Skeleton am Ende des ersten Clips angezeigt (als Repräsentation für Frame 1 des zweiten Clips). 5. Ziehe den neuen Clip über den Original-Clip, etwa zwei bis drei Frames weit, als Initialisierung des Cross-Fadings. 6. Benutze jetzt das Match Tool im Story Window und wähle: Default-Einstellungen für das Matching 7. Durch das Matching blendet der erste Clip in den zweiten über bzw. in seinen eigenen Anfang. Daher kann jetzt nur der erste Clip geplottet und genutzt werden. Gehe zum letzten Frame des ersten Clips und trage die Frame-Nummer (in Abbildung als Beispiel Frame 33) rechts im Feld „E“ (End) ein. 8. Danach rechter Mausklick auf den Animationsclip Kontextmenü >Process Track/Subtracks To New Clip... und wähle aus dem Seite 45 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 9. Belasse die Default-Einstellungen und drücke den OK-Button. Danach erscheint ein Fenster „Save Clip“, dort das Verzeichnis zur Speicherung des neuen Clips auswählen und den Dateinamen (FBX-Format). Default-Einstellungen 10. Nun befindet sich im Story Window der neue geloopte Clip unter dem ersten Clip. 11. Schalte die anderen Clips auf “M” (mute), erweitere den neuen Clip (nach rechts ausdehnen) und wähle "Frame Start/End". Jetzt wird der Clip geloopt abgespielt. 11.7 Kombination von Motion Tracks (Blending) Es ist manchmal sinnvoll und gewünscht, zwei oder mehr Animationsclips zu einem einzigen zu kombinieren. Dies wird über das sogenannte Blending realisiert. Vorab ist die gleiche Vorbereitung nötig, wie unter Kapitel 11.5 bei Vorbereitung (Import) beschrieben. Danach sind folgende Schritte vorzunehmen: 1. Zwei Animationsclips nacheinander in das Story Window (Action Editor) ziehen. 2. Eine passende Übergangsposition für beide Clips finden (z. B. linker Fuß bewegt sich nicht). 3. Jetzt beide Clips auf diese Übergänge verkürzen (1. Clip von rechts verkürzen, 2. Clip von links an verkürzen). Clip 1 und Clip 2 bis zur Übergangsposition verkürzen 4. Beide Clips zusammen bringen: Seite 46 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 5. Rechter Mausklick ins Story Window und wähle >Frame Start/End (dadurch ist der gesamte Clip sichtbar und kann komplett abgespielt werden). 5. Klicke auf beim Character Track im Story Window, um die Ghost-Projektion des Skeletons vom zweiten Clip zu aktivieren. 6. mit Wähle den zweiten Clip im Story Window und benutze das Match Tool folgenden Einstellungen (bei Match Object das zu matchende Körperelement wählen): Einstellungen für das Matching anpassen 7. Nach dem Betätigen des OK-Buttons snappen die beiden gewählten Körperelement zusammen. Blending 1. Es ist zu beobachten, dass nur das gematchte Körperteil exakt blendet, jedoch der Rest des Körpers von der Pose des 1. Clips in die Pose des 2. Clips springt. Daher muss dazwischen überblendet werden: 2. Ziehe den zweiten Clip entsprechend der Abbildung über den ersten Clip (dazu die kleinen Dreiecke unten verschieben) sowie den ersten Clip über den zweiten Clip. Dadurch wird ein Blending via Interpolation vorgenommen. 3. Geringfügige Geschwindigkeitsunterschiede können beim Übergang von Clip 1 zu Clip 2 auftreten, daher sollte versucht werden, das Blending entsprechend zu verlängern bzw. zu verkürzen. Eine andere Möglichkeit ist das Plotten und Exportieren des Clips und die anschließende Nachbearbeitung des neuen Clips über Key-Frames in den FCurves. Seite 47 von 48 Leitfaden zum Motion Capturing - 11. Data-Processing mit MotionBuilder 11.8 Tipps und Tricks Shortcuts Doppelklick mit Mouse in leeren Space des 3D Workspace, um ein Objekt zu deselektieren. "J" gedrückt halten und im 3D Workspace klicken & ziehen, um die Animation vorwärts oder rückwärts abzuspielen. "F" betätigen, um ein Objekt im Viewer zu zentrieren. Strg + I schaltet zwischen mehreren Kameras um. Strg + Pos1 springt zum ersten Frame der Animation. Steuerung im 3D Workspace: Shift + Linker Mausklick: Translation Camera Strg + Linker Mausklick: Dolly Camera Shift + Strg + Linker Mausklick: Rotation Camera Im Story-Window: "A" drücken, um alle Animationsclips zu framen. Strg + linker Mausklick + Ziehen, um zu zoomen. Shift + linker Mausklick, um nach rechts oder links zu navigieren. Mit Strg-W kann man zwischen der Ansicht 3D Workspace und schematische Ansicht (Hierarchie) umschalten. Dadurch wird die Selektierung bestimmter Elemente vereinfacht. Die Farbe des Hintergrunds im 3D Workspace von MotionBuilder lässt sich verändern. Dies ist über die Veränderung der Kamera-Eigenschaften im Asset Browser bei Producer Perspective unter Background Color möglich. Glossar Ein detailliertes englischsprachiges Glossar ist in der Vicon iQ 2.5 System Reference Volume I (Revision 1.0) auf den Seiten 409 bis 438 vorzufinden. Seite 48 von 48