Facial Motion Capture
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:
- Recording: Footage mit Tracking-Markern aufnehmen
- Tracking: Marker in Blender verfolgen
- Mesh Creation: Gesichts-Mesh erstellen
- Depth + Bones: 3D-Tiefe und Armature hinzufügen
- Rigging: Face-Rig mit Weight Painting
- Animation: Tracker mit Rig verknüpfen
Schritt 1: Recording
Tracking-Marker erstellen
Marker-Optionen:
- NaN:NaNSchwarzer Sharpie für die meisten Hauttöne (2:08)
- NaN:NaNWeisser Korrektor für dunkle Haut (2:17)
- NaN:NaNDunkles Make-up als sicherste Option (2:27)
- Für Haut entwickelt
- Leicht abwaschbar
- Ungiftig
Marker-Platzierung Prinzipien
Wichtige Bereiche identifizieren: NaN:NaNHöchste Deformation: Mund, Augen, Augenbrauen (2:49)
Bereiche vermeiden: NaN:NaNUnsichtbare Bereiche: Unter Nase, Haarverdeckung (3:04)
- Unter der Nase
- Seitliche Gesichtsbereiche
- Von Haaren verdeckte Stellen
Filming-Richtlinien
Optimale Aufnahme:
- NaN:NaNFrontale Aufnahme mit minimal Kamera-Shake (3:24)
- NaN:NaNMarker bleiben sichtbar für volle Deformation (3:30)
- NaN:NaNKeine Kamera-Bewegung als Performance interpretiert (3:32)
Problematische Aufnahmen: NaN:NaNSchlechte Shots: Verdeckte Tracker (3:35) NaN:NaNKamera-Shake wird als Motion interpretiert (3:39)
- NaN:NaNBeleuchtung egal, solange Marker sichtbar (3:47)
- NaN:NaNBewegliche Shots OK wenn Gesicht zentriert (3:50)
Footage-Vorbereitung
Video Editing Workspace:
- NaN:NaNVideo Editing Workspace für Konvertierung (4:14)
- NaN:NaNFootage als Movie Strip importieren (4:19)
- NaN:NaNFramerate wird automatisch angepasst (4:22)
- NaN:NaNProjekt-Endpunkt am Strip-Ende anpassen (4:26)
- NaN:NaNView Transform: Filmic zu Standard ändern (4:37)
- NaN:NaNPNG-Sequenz mit 0 Kompression rendern (4:49)
- NaN:NaNCtrl+F12 für Animation-Render (4:57)
Schritt 2: Tracking
Movie Clip Editor Setup
- NaN:NaN3D Viewport zu Movie Clip Editor ändern (5:18)
- NaN:NaNBildsequenz importieren (5:24)
- NaN:NaNPrefetch für Memory-Loading (5:26)
Basis-Tracking
- NaN:NaNCtrl+Klick für Tracker platzieren (5:38)
- NaN:NaNPattern-Bereich um Feature positionieren (5:42)
- NaN:NaNCtrl+T für Forward-Tracking (5:44)
- NaN:NaNCtrl+L für Tracker-Lock (5:50)
Tracking-Probleme lösen
Optimierte Tracker-Einstellungen
Motion Model ändern: NaN:NaNPerspective oder Affine für Deformation (6:24) NaN:NaNAffine Model für Shears und Stretches (6:31)
Weitere Optimierungen: NaN:NaNNormalize für Licht-Invarianz aktivieren (6:38) NaN:NaNCorrelation auf 0.9 für 90% Konfidenz (6:43)
Gruppen-Tracking
NaN:NaNMultiple Marker gleichzeitig tracken (6:59) NaN:NaNBox-Select für Feature-Gruppen (7:03) NaN:NaNSchnelle und genaue Gruppen-Resultate (7:11)
Problematische Tracker beheben
Falten-Problem: NaN:NaNFalten stören Pattern-Bereich (7:39)
Lösungsschritte:
- NaN:NaNLetzten aktiven Frame finden (7:44)
- NaN:NaNPattern-Bereich updaten = neuer Keyframe (7:47)
- NaN:NaNSearch Area mit Alt+S vergrössern (7:53)
- NaN:NaNErfolgreicher Re-Track (8:00)
Augen-Marker (schwierigste Bereiche)
NaN:NaNAndere Tracker verstecken mit H (8:23) NaN:NaNAugen-Cluster: Starke Deformation (8:31) NaN:NaNAugenlider beeinträchtigen Pattern (8:36)
Manuelle Supervision: NaN:NaNAktiven Frame finden und Tracker updaten (8:40) NaN:NaNMehrere Keyframes für Augenlid-Marker (8:44) NaN:NaNWiederholung bis Frame 418 (8:50)
Präventions-Tipps: NaN:NaNMarker näher zur Augenbraue positionieren (8:58) NaN:NaNKleinere Punkte für bessere Genauigkeit (9:02)
Schritt 3: Mesh Creation
3D Viewport Integration
Kamera-Setup: NaN:NaNKamera auf Z-Achse nach unten ausrichten (9:30)
Tracker zu Empties:
- NaN:NaNAlle Tracker im Movie Clip Editor selektieren (9:35)
- NaN:NaNReconstruction > Link Empty to Track (9:40)
- NaN:NaNEmpties herunterskalieren für übersichtlichen Viewport (9:47)
NaN:NaNCamera View: Empties umreissen Gesichts-Struktur (9:53) NaN:NaNProblem: Nur 2D-Daten, Gesicht braucht Tiefe (10:01)
Drei Methoden für Face Mesh
Option 1: Kostenlose Downloads
Nachteile: NaN:NaNKeine Kontrolle über Aussehen (10:49) NaN:NaNPasst selten zum eigenen Gesicht (10:54)
Option 2: MakeHuman (Open Source)
Arbeitsschritte: NaN:NaNGesichts-Parameter über Slider anpassen (11:13) NaN:NaNBackground Image als Referenz hinzufügen (11:19) NaN:NaNExport als OBJ-Datei zu Blender (11:24)
Bewertung: NaN:NaNVorteil: Jedes gewünschte Gesicht möglich (11:30) NaN:NaNNachteil: Zeitaufwendiger Prozess (11:34)
Option 3: FaceGen Modeler (Demo)
Rechtliche Hinweise: NaN:NaNDemo: Keine Distributions-Rechte (11:52) NaN:NaNMotion Capture: Kein Distribution-Bedarf (11:56)
Funktionalität: NaN:NaN3D-Model aus 3 Fotos: Front + 2 Seiten (12:03)
FaceGen Workflow
Setup: NaN:NaN3 Referenz-Bilder importieren (12:21) NaN:NaNNext für Alignment-Prozess (12:26)
Alignment: NaN:NaNBild aufrecht drehen (12:30) NaN:NaNFeatures lokalisieren wie angefragt (12:34)
Processing: NaN:NaNCheckboxes deaktiviert lassen (12:40) NaN:NaNProcessing unter 1 Minute (12:48) NaN:NaNAkkurates Custom Head Model (12:53)
Export: NaN:NaNFaceGen Logo Watermark (Demo-Version) (12:57) NaN:NaNTextur nicht benötigt für Motion Capture (13:05) NaN:NaNExpression: Current Expression (13:14) NaN:NaNOBJ Format für Export (13:19) NaN:NaN4 Dateien exportiert: OBJ + Material + Texturen (13:25) NaN:NaNNur OBJ-Datei für Motion Capture behalten (13:35)
Schritt 4: Depth + Bones
Tiefe-Projektion verstehen
Lern-Beispiel mit einfacher Geometry: NaN:NaNCurved Plane über Tracker positionieren (13:51) NaN:NaNEmpties auf Geometrie projizieren (13:56)
Follow Track Constraint verstehen: NaN:NaNEmpty-Position durch Follow Track Constraint (14:00) NaN:NaNConstraint entfernen = keine Tracking-Bewegung (14:06)
Depth Property: NaN:NaNDepth Property: Plane Object zuweisen (14:13) NaN:NaNProjektion funktioniert wie gewünscht (14:19)
Face Mesh Integration
Import und Cleanup: NaN:NaNHead Mesh + Extra Mouth Geometry (14:29) NaN:NaNMouth Object löschen (nicht benötigt) (14:34) NaN:NaNHead proportional zu Trackern skalieren (14:40)
Geometrie-Optimierung: NaN:NaNÜberflüssige Geometrie entfernen (14:45) NaN:NaNUV Islands von FaceGen nutzen (14:51) NaN:NaNUV Edit Workspace mit Sync Mode (14:57) NaN:NaNFace Island mit L selektieren (15:02) NaN:NaNSelektion invertieren und löschen (15:05) NaN:NaNRestliche Stirn- und Seiten-Faces entfernen (15:11)
Mesh-Alignment
Camera View Setup: NaN:NaNBackground Images für Kamera aktivieren (15:24) NaN:NaNImage Sequence als Movie Clip wählen (15:30) NaN:NaNAlignment auf erstem Frame durchführen (15:33)
Alignment-Prozess: NaN:NaNWireframe Mode (Z) für bessere Sicht (15:40) NaN:NaNEdit Mode mit Proportional Editing (O) (15:47) NaN:NaNWichtige Features alignen: Augen, Nase, Mund (15:53) NaN:NaNPräzise initiale Ausrichtung ist kritisch (16:00)
Alle Tracker projizieren
NaN:NaNFace Object als Depth Target zuweisen (16:11) NaN:NaNTracker perfekt auf korrekter Tiefe projiziert (16:20) NaN:NaNProzess für alle Empties wiederholen (16:24)
Python-Automatisierung
Scripting Workspace: NaN:NaNNeues Script im Scripting Workspace (16:34)
Script-Struktur: NaN:NaNimport bpy für Blender-Objekt-Referenzen (16:41) NaN:NaNLoop durch alle Empties (16:49) NaN:NaNif tracker.type == 'EMPTY' (16:56) NaN:NaNFace Mesh als Depth Target zuweisen (17:04) NaN:NaNEmpty als active object setzen (17:18) NaN:NaNScript ausführen und testen (17:31) NaN:NaNAlle Empties erfolgreich projiziert (17:33)
Schritt 5: Rigging
Armature und Bone Setup
Armature hinzufügen: NaN:NaNArmature zum ersten Frame hinzufügen (17:48) NaN:NaNParent Empty für Armature-Transfer wählen (17:51) NaN:NaNShift+S > Cursor to Selected (17:57) NaN:NaNArmature 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:
- Face Mesh selektieren
- Weight Paint Mode aktivieren
- Bones individual bemalen
- 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:
- Tracking-Daten verarbeiten
- Depth-Projektion anwenden
- Armature automatisch erstellen
- Weight Painting vorbereiten
- 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