Ein frei kopier- und anpassbares Lehrmittel von eduskript.org

Facial Motion Capture

Tutorial-Video

YouTube video thumbnail

Zusammenfassung

Ein komplettes Tutorial über Gesichts-Motion-Capture mit Blender als kostenlose Motion-Capture-Lösung. Nur mit Handy-Kamera und Marker erstellen Sie professionelles Facial Tracking ohne teure Hardware.

Überblick der 6 Arbeitsschritte

Dieses 24-minütige Tutorial zeigt einen 6-stufigen Workflow, der später grösstenteils automatisiert werden kann:

  1. Recording: Footage mit Tracking-Markern aufnehmen
  2. Tracking: Marker in Blender verfolgen
  3. Mesh Creation: Gesichts-Mesh erstellen
  4. Depth + Bones: 3D-Tiefe und Armature hinzufügen
  5. Rigging: Face-Rig mit Weight Painting
  6. Animation: Tracker mit Rig verknüpfen

Schritt 1: Recording

Tracking-Marker erstellen

Marker-Optionen:

  1. 2:08Schwarzer Sharpie für die meisten Hauttöne (2:08)
  2. 2:17Weisser Korrektor für dunkle Haut (2:17)
  3. 2:27Dunkles Make-up als sicherste Option (2:27)
    • Für Haut entwickelt
    • Leicht abwaschbar
    • Ungiftig

Marker-Platzierung Prinzipien

Wichtige Bereiche identifizieren: 2:49Höchste Deformation: Mund, Augen, Augenbrauen (2:49)

Bereiche vermeiden: 3:04Unsichtbare Bereiche: Unter Nase, Haarverdeckung (3:04)

  • Unter der Nase
  • Seitliche Gesichtsbereiche
  • Von Haaren verdeckte Stellen

Filming-Richtlinien

Optimale Aufnahme:

Problematische Aufnahmen: 3:35Schlechte Shots: Verdeckte Tracker (3:35) 3:39Kamera-Shake wird als Motion interpretiert (3:39)

Footage-Vorbereitung

Video Editing Workspace:

  1. 4:14Video Editing Workspace für Konvertierung (4:14)
  2. 4:19Footage als Movie Strip importieren (4:19)
  3. 4:22Framerate wird automatisch angepasst (4:22)
  4. 4:26Projekt-Endpunkt am Strip-Ende anpassen (4:26)
  5. 4:37View Transform: Filmic zu Standard ändern (4:37)
  6. 4:49PNG-Sequenz mit 0 Kompression rendern (4:49)
  7. 4:57Ctrl+F12 für Animation-Render (4:57)

Schritt 2: Tracking

Movie Clip Editor Setup

  1. 5:183D Viewport zu Movie Clip Editor ändern (5:18)
  2. 5:24Bildsequenz importieren (5:24)
  3. 5:26Prefetch für Memory-Loading (5:26)

Basis-Tracking

  1. 5:38Ctrl+Klick für Tracker platzieren (5:38)
  2. 5:42Pattern-Bereich um Feature positionieren (5:42)
  3. 5:44Ctrl+T für Forward-Tracking (5:44)
  4. 5:50Ctrl+L für Tracker-Lock (5:50)

Tracking-Probleme lösen

Optimierte Tracker-Einstellungen

Motion Model ändern: 6:24Perspective oder Affine für Deformation (6:24) 6:31Affine Model für Shears und Stretches (6:31)

Weitere Optimierungen: 6:38Normalize für Licht-Invarianz aktivieren (6:38) 6:43Correlation auf 0.9 für 90% Konfidenz (6:43)

Gruppen-Tracking

6:59Multiple Marker gleichzeitig tracken (6:59) 7:03Box-Select für Feature-Gruppen (7:03) 7:11Schnelle und genaue Gruppen-Resultate (7:11)

Problematische Tracker beheben

Falten-Problem: 7:39Falten stören Pattern-Bereich (7:39)

Lösungsschritte:

  1. 7:44Letzten aktiven Frame finden (7:44)
  2. 7:47Pattern-Bereich updaten = neuer Keyframe (7:47)
  3. 7:53Search Area mit Alt+S vergrössern (7:53)
  4. 8:00Erfolgreicher Re-Track (8:00)

Augen-Marker (schwierigste Bereiche)

8:23Andere Tracker verstecken mit H (8:23) 8:31Augen-Cluster: Starke Deformation (8:31) 8:36Augenlider beeinträchtigen Pattern (8:36)

Manuelle Supervision: 8:40Aktiven Frame finden und Tracker updaten (8:40) 8:44Mehrere Keyframes für Augenlid-Marker (8:44) 8:50Wiederholung bis Frame 418 (8:50)

Präventions-Tipps: 8:58Marker näher zur Augenbraue positionieren (8:58) 9:02Kleinere Punkte für bessere Genauigkeit (9:02)


Schritt 3: Mesh Creation

3D Viewport Integration

Kamera-Setup: 9:30Kamera auf Z-Achse nach unten ausrichten (9:30)

Tracker zu Empties:

  1. 9:35Alle Tracker im Movie Clip Editor selektieren (9:35)
  2. 9:40Reconstruction > Link Empty to Track (9:40)
  3. 9:47Empties herunterskalieren für übersichtlichen Viewport (9:47)

9:53Camera View: Empties umreissen Gesichts-Struktur (9:53) 10:01Problem: Nur 2D-Daten, Gesicht braucht Tiefe (10:01)

Drei Methoden für Face Mesh

Option 1: Kostenlose Downloads

Nachteile: 10:49Keine Kontrolle über Aussehen (10:49) 10:54Passt selten zum eigenen Gesicht (10:54)

Option 2: MakeHuman (Open Source)

Arbeitsschritte: 11:13Gesichts-Parameter über Slider anpassen (11:13) 11:19Background Image als Referenz hinzufügen (11:19) 11:24Export als OBJ-Datei zu Blender (11:24)

Bewertung: 11:30Vorteil: Jedes gewünschte Gesicht möglich (11:30) 11:34Nachteil: Zeitaufwendiger Prozess (11:34)

Option 3: FaceGen Modeler (Demo)

Rechtliche Hinweise: 11:52Demo: Keine Distributions-Rechte (11:52) 11:56Motion Capture: Kein Distribution-Bedarf (11:56)

Funktionalität: 12:033D-Model aus 3 Fotos: Front + 2 Seiten (12:03)

FaceGen Workflow

Setup: 12:213 Referenz-Bilder importieren (12:21) 12:26Next für Alignment-Prozess (12:26)

Alignment: 12:30Bild aufrecht drehen (12:30) 12:34Features lokalisieren wie angefragt (12:34)

Processing: 12:40Checkboxes deaktiviert lassen (12:40) 12:48Processing unter 1 Minute (12:48) 12:53Akkurates Custom Head Model (12:53)

Export: 12:57FaceGen Logo Watermark (Demo-Version) (12:57) 13:05Textur nicht benötigt für Motion Capture (13:05) 13:14Expression: Current Expression (13:14) 13:19OBJ Format für Export (13:19) 13:254 Dateien exportiert: OBJ + Material + Texturen (13:25) 13:35Nur OBJ-Datei für Motion Capture behalten (13:35)


Schritt 4: Depth + Bones

Tiefe-Projektion verstehen

Lern-Beispiel mit einfacher Geometry: 13:51Curved Plane über Tracker positionieren (13:51) 13:56Empties auf Geometrie projizieren (13:56)

Follow Track Constraint verstehen: 14:00Empty-Position durch Follow Track Constraint (14:00) 14:06Constraint entfernen = keine Tracking-Bewegung (14:06)

Depth Property: 14:13Depth Property: Plane Object zuweisen (14:13) 14:19Projektion funktioniert wie gewünscht (14:19)

Face Mesh Integration

Import und Cleanup: 14:29Head Mesh + Extra Mouth Geometry (14:29) 14:34Mouth Object löschen (nicht benötigt) (14:34) 14:40Head proportional zu Trackern skalieren (14:40)

Geometrie-Optimierung: 14:45Überflüssige Geometrie entfernen (14:45) 14:51UV Islands von FaceGen nutzen (14:51) 14:57UV Edit Workspace mit Sync Mode (14:57) 15:02Face Island mit L selektieren (15:02) 15:05Selektion invertieren und löschen (15:05) 15:11Restliche Stirn- und Seiten-Faces entfernen (15:11)

Mesh-Alignment

Camera View Setup: 15:24Background Images für Kamera aktivieren (15:24) 15:30Image Sequence als Movie Clip wählen (15:30) 15:33Alignment auf erstem Frame durchführen (15:33)

Alignment-Prozess: 15:40Wireframe Mode (Z) für bessere Sicht (15:40) 15:47Edit Mode mit Proportional Editing (O) (15:47) 15:53Wichtige Features alignen: Augen, Nase, Mund (15:53) 16:00Präzise initiale Ausrichtung ist kritisch (16:00)

Alle Tracker projizieren

16:11Face Object als Depth Target zuweisen (16:11) 16:20Tracker perfekt auf korrekter Tiefe projiziert (16:20) 16:24Prozess für alle Empties wiederholen (16:24)

Python-Automatisierung

Scripting Workspace: 16:34Neues Script im Scripting Workspace (16:34)

Script-Struktur: 16:41import bpy für Blender-Objekt-Referenzen (16:41) 16:49Loop durch alle Empties (16:49) 16:56if tracker.type == 'EMPTY' (16:56) 17:04Face Mesh als Depth Target zuweisen (17:04) 17:18Empty als active object setzen (17:18) 17:31Script ausführen und testen (17:31) 17:33Alle Empties erfolgreich projiziert (17:33)


Schritt 5: Rigging

Armature und Bone Setup

Armature hinzufügen: 17:48Armature zum ersten Frame hinzufügen (17:48) 17:51Parent Empty für Armature-Transfer wählen (17:51) 17:57Shift+S > Cursor to Selected (17:57) 18:00Armature selektieren und Shift+S > Selection to Cursor (18:00)

Automatisierte Bone-Erstellung

Extrud-Script Funktionalität:

  • Geht durch alle Empties
  • Extrudiert Bone zu jeder Empty-Position
  • Automatisiert den kompletten Armature-Aufbau

Weight Painting

Weight Paint Workflow:

  1. Face Mesh selektieren
  2. Weight Paint Mode aktivieren
  3. Bones individual bemalen
  4. Deformation-Bereiche definieren

Schritt 6: Animation

Constraint-Setup

Copy Location Constraints:

  • Jeden Bone mit entsprechendem Empty verknüpfen
  • Tracking-Bewegung wird an Rig übertragen
  • Real-time Animation der Gesichts-Geometrie

Performance-Optimierung

Baking-Prozess:

  • Animation zu Keyframes konvertieren
  • Constraints entfernen nach Baking
  • Verbesserte Viewport-Performance

Finale Automation

Kompletter Python Workflow:

  1. Tracking-Daten verarbeiten
  2. Depth-Projektion anwenden
  3. Armature automatisch erstellen
  4. Weight Painting vorbereiten
  5. Constraints automatisch zuweisen

Zusammenfassung

Dieses Tutorial zeigt einen kompletten Workflow für professionelles Facial Motion Capture mit kostenlosen Tools:

Vorteile der Methode:

  • Keine teure Hardware erforderlich
  • Handy-Kamera ausreichend
  • Blender als einzige Software
  • Automatisierbar durch Python-Scripts

Anwendungsbereiche:

  • Character Animation
  • VFX und Film-Produktion
  • Game Development
  • Virtual Production

Erlerntes Wissen übertragbar auf:

  • Object Tracking
  • Camera Tracking
  • Andere Motion Capture Bereiche
e598da9