Motion Tracker

Hinweis:Beachten Sie auch das spezielle Motion Tracker Layout (rechts oben im Programmfenster unter "Layout"), in dem alle wichtigen Befehle und Ansichten schon untergebracht sind.

Was ist Motiontracking?

Unter "Motiontracking" – auch als "Matchmoving" oder "Kamera-Tracking" bekannt – versteht man das Rekonstruieren der ursprünglichen, aufnehmenden Kamera (Position, Ausrichtung, Brennweite) ausgehend von einem Video. Stellen Sie sich vor, Sie haben als Ausgangsmaterial eine Videosequenz (auch "Footage" genannt), in die Sie nachträglich ein gerendertes Objekt einpassen wollen. Damit dieses perspektivisch korrekt dargestellt werden kann und auch jeden Kameraruckler glaubhaft mitmacht, muss die Videosequenz analysiert und daraus die 3D-Szenerie – nämlich die aufnehmende Kamera nebst markanten Bildpunkten in ihren dreidimensionalen Positionen – rekonstruiert werden.

Zur Funktionalität des Motion Trackings kann auch das Objekt-Tracking gezählt werden. Details hierzu finden Sie unter Objekt Tracker.

Dieser Prozess ist aufwändig und erfolgt daher in mehreren Schritten:

  1. Im Video werden markante, leicht zu verfolgende Punkte (die sog. "Tracks") ermittelt und zeitlich verfolgt. Dieser Vorgang kann automatisch, per Hand oder auch in Kombination erfolgen und nennt sich "2D-Tracking".
  2. Danach werden aus diesen Tracks eine repräsentative, räumliche Punktewolke (die sich aus sog. "Features" zusammensetzt), sowie die Kameraparameter rekonstruiert.
  3. Mit einigen Hilfs-(Constraint)-Tags kann die Szene jetzt kalibriert werden, d.h. die mehr oder wenig orientierungslos im Raum liegende Punktewolke (natürlich inklusiv der relativ dazu eindeutig definierten Kamera) wird in Bezug auf das Weltkoordinatensystem definiert.
Hinweis:Die Kamera kalibrieren-Funktionalität hat übrigens mit Motion Tracking nichts zu tun. Sie kann aber evtl. dazu verwendet werden, die Kamera-Brennweite zu ermitteln, mit der die Videosequenz erstellt wurde (was wiederum beim Rekonstruieren der 3D-Kamera hilft).

In Kürze: wie funktioniert Motiontracking?

Motiontracking basiert auf dem Analysieren und Nachverfolgen von markanten Punkten (Tracks) im Videomaterial. Aufgrund dieser sich in Abhängigkeit von der Kameradistanz unterschiedlich weit verschiebenden Tracks (dieser Effekt nennt sich "Parallaxe") können daraus Positionen im 3D-Raum errechnet werden.

Horizontale Kamerafahrt von links nach rechts.

Beachten Sie bei dieser Abbildung den Unterschied zwischen Videobild 1 und 2. Die Kamera fährt hier horizontal von links nach rechts. Die weiter hinten angeordnete rote Vase bewegt sich scheinbar weniger weit (Pfeillänge) als die blaue Vase. Aus diesen Parallaxenunterschieden kann eine entsprechende Stelle (im weiteren Verlauf der Hilfe "Track" genannt) relativ zur Kamera räumlich bestimmt werden.

Hieraus folgt unmittelbar, dass Motiontracking leichter zu bewerkstelligen ist, wenn im Videomaterial viele Parallaxen – also sich unterschiedlich schnell bewegende Bereiche aufgrund unterschiedlicher Distanzen zur Kamera – vorkommen. Stellen Sie sich einen Kameraflug über eine Wolkenkratzerstadt vor: traumhafte Motiontracking-Bedingungen für CINEMA 4D; sich voreinander schiebende Häuser, rechtwinklige Straßenzüge, klare Konturen.

Schwieriger wird es bei großen, leeren Flächen oder Kameraschwenks (die Kamera dreht sich auf der Stelle), wenn im ersten Fall markante Stellen fehlen oder bei letzterem schlicht keine Parallaxe zu finden ist. Aber selbst hierfür gibt es Lösungen, die intern dann nicht mehr auf Parallaxen basieren. Sie müssen dann explizit angeben (Berechnungsmodus im Tab "Rekonstruktion), welcher Art das Motiontracking sein soll.

Motiontracking-Workflow für Kamera-Tracking

Vereinfachter Motiontracking-Workflow (Szenenrekonstruktion hier nicht berücksichtigt).

Gehen Sie so vor, wenn Sie ausgehend von einer Videosequenz die Kamera rekonstruieren wollen:

Das ist eine vereinfachte Darstellung der Abläufe. Natürlich kann es auch zu fehlerhaften Rekonstruktionen kommen, wenn Sie einen falschen Berechnungsmodus oder eine falsche Brennweite/Sensorgröße im Motion-Tracker-Objekt (Tab "Rekonstruktion") angeben, aber die wichtigsten, leider aber auch zeitaufwendigsten Arbeiten ist das Justieren der 2D-Tracks.

Hinweis:Je nach aufnehmender Kamera kann eine Videosequenz von starker Linsenverzeichnung (eigentlich gerade Linien werden verbogen abgebildet; Extrembeispiel: Fischaugenaufnahme) betroffen sein. Wenn diese zu auffällig ist oder das Motiontracking deshalb gar versagt, kann es nötig sein, mit Hilfe des Linsenverzeichnungswerkzeugs ein Linsenprofil zu erstellen und dieses hier im Objekt zu laden.
Hinweis, der 2.:Beachten Sie, dass es ein eigenes Motiontracking-Layout gibt. Sie finden es wie alle anderen auch, rechts oben im Interface unter Layout.

Allgemein

Beim Motiontracking gibt es nur eine Methode um festzustellen, ob alles korrekt abgelaufen ist. Und das sehen Sie am Ende, wenn sich die einzufügenden 3D-Objekte glaubhaft gegenüber der Videosequenz verhalten. Wenn diese also visuell nicht rutschen oder springen, also einfach nur jede Kamerabewegung mitmachen.

Ist das nicht der Fall, müssen Sie in den allermeisten Fällen zurück zur 2D-Track-Erzeugung bzw. -Justierung gehen. Sie können zwar bei den Zwischenschritten die ein oder andere Einstellung ändern, aber hauptsächlich steht und fällt das Motiontracking mit der Qualität der Tracks. Motion Tracker unterstützt Sie so gut wie möglich mit den Auto-Tracks, aber am Ende können nur Sie beurteilen, welche Tracks gut/schlecht sind und wie viele Tracks Sie selbst neu anlegen müssen (s.a. Was sind gute und schlechte Tracks).

Beispielhafter Szenenaufbau

Nach erfolgreicher Kamerarekonstruktion gilt es, Objekte zu platzieren und mit entsprechenden Tags auszustatten.

Der Arbeitsplatz des Autors erlebt eine Invasion der roten Kugeln.

Bei diesem Beispiel wirft ein Emitter Kugeln auf den Tisch, die über die Tischkante rollen, mit der Lautsprecher-Box kollidieren und auf den Boden fallen. Es werden hier also (unsichtbare!) Proxy-Objekte benötigt, die als Dynamics-Kollisionsobjekte dienen und im Falle des Monitors dahinter verschwindende Kugeln abdecken:

Einige simple, sinnvoll eingepasste Proxy-Objekte sorgen für korrekten Schatten und Kollision.

Die Ebenen wurden jeweils mittels "Ebene erstellen" eines Ebenen-Constraint-Tags orientiert (allerdings eignet sich dazu auch der Polygon-Stift hervorragend; schalten Sie dazu das Snapping an und aktivieren Sie 3D-Snapping und Achsen-Snapping). Alle diese Proxy-Objekte tragen dann folgende Tags:

Mittels dieser Einstellungen sind die Proxy-Objekte beim Rendern bis auf darauf fallende Schatten unsichtbar (für die Schatten müssen natürlich separate Lichtquellen erzeugt werden, die Sie je nach Beleuchtungssituation sinnvoll im Raum platzieren).