Wir fangen bei diesem Tutorial mit einer leeren Projektdatei an, alternativ könnt ihr das den Arbeitsdateien beiliegende Projekt „PSD_C4D_R18_ObjectTracker_start.c4d“ verwenden, dann habt ihr gleich noch das zu animierende Logo in der Szene.
Vorbereitung des Motion Trackers
Wir wollen uns in diesem Fall auf die Rekonstruktion einer Objektbewegung konzentrieren, daher benötigen wir den Motion Tracker lediglich zur Einbindung der Footage-Videodatei und zum Anlegen und Tracking der Tracking-Punkte. Auf eine Rekonstruktion der Kamerabewegung bzw. der Umgebung können wir in diesem Beispiel verzichten.
Wir holen uns also als Erstes ein Motion Tracker-Objekt aus dem Menü Motion Tracker.
Im Einstellungsdialog des Motion Tracker-Objekts kümmern wir uns zunächst um die Einbindung der Videosequenz. Auf der Seite Footage klicken wir dazu auf den Laden-Button in der Zeile Footage.
Über den Datei öffnen-Dialog eures Betriebssystems wählt ihr die dem Paket der Arbeitsdateien zu diesem Tutorial beiliegende Videosequenz „Schreibtisch.mov“.
Je nach Rechnerperformance könnt ihr einen noch höheren Resample-Wert für die Bildqualität beim Tracking einstellen, aber 75 % reichen für unser Projekt allemal.
Setzen und Tracken der Tracking-Punkte
Nachdem unser Footage-Material nun auch in der Editor-Ansicht bereitsteht, können wir mit dem Setzen der Tracking-Punkte beginnen. Dazu wechseln wir im Einstellungsdialog des Motion Trackers auf die 2D-Tracking-Seite und wählen dort Manuelles Tracking.
Auf dem Papier des abgefilmten Schreibtischs sehen wir insgesamt 20 bereitgestellte Punkte, die sich für das Tracking eignen. Der Objekt Tracker von Cinema 4D benötigt später mindestens sieben Tracking-Punkte für eine erfolgversprechende Rekonstruktion einer Bewegung.
Zum Setzen eines Tracking-Punktes klickt ihr mit gedrückt gehaltener Befehlstaste auf die gewünschte Stelle in der Editor-Ansicht. Anschließend könnt ihr den Punkt durch Anfassen im inneren Musterquadrat mittels eingeblendeter Lupe an die exakte Stelle schieben. Durch Ziehen am inneren Musterquadrat bzw. am äußeren Suchquadrat lässt sich die Größe für beide anpassen.
Sollte sich, wie in meinem Beispiel, eine bestimmte Such- bzw. Mustergröße für alle Tracking-Punkte empfehlen, könnt ihr diese im Bereich Optionen auf der 2D-Tracking-Seite voreinstellen. Bei dieser Gelegenheit aktivieren wir auch gleich die Option Suchposition extrapolieren, die beim Tracking manchmal auf die Sprünge helfen kann.
Es wäre nicht dramatisch, wenn von den 20 anfänglichen Punkten am Ende der Videosequenz nur sieben vollständige Tracking-Punkte übrig blieben, in meinem Beispiel werde ich jedoch versuchen, alle Punkte bis zum Schluss zu bewahren.
Sind alle Tracking-Punkte in der Editor-Ansicht gesetzt und eingestellt, können wir das Tracking starten. Stellt zuvor sicher, dass alle Tracks in der Liste bzw. im Editor selektiert sind und klickt anschließend auf den Button Manuelles Tracking.
Nun dauert es ein bisschen, bis der Motion Tracker unsere Tracking-Punkte auf allen Bildern nachverfolgt hat.
Wenn wir anschließend nach erfolgtem Tracking durch die Animation wandern, fällt uns nach einigen Bildern vermutlich schon der erste, rot markierte Ausfall eines Tracking-Punktes auf.
Wir können dies leicht beheben, indem wir den verrutschten Tracking-Punkt einfach mit dem Mauszeiger greifen und an die vorgesehene Stelle platzieren. Dadurch entsteht ein neues Keyframe an diesem Zeitpunkt und der Motion Tracker gleicht die Zustände vor und nach der Korrektur durch kurzes Nach-Tracking für diesen Punkt passend an.
Auf diese Weise kontrollieren wir nun den kompletten Verlauf der getrackten Videosequenz nach Trackingfehlern und korrigieren diese gegebenenfalls.
Wie eingangs erwähnt, habe ich für mein Beispiel alle 20 Tracking-Punkte erhalten und wo nötig korrigiert. Wenn ihr mit eurem Ergebnis zufrieden seid, lasst die Animation testweise auch einmal komplett durchlaufen, um eventuelle Sprünge bzw. Punkttausch auszumachen.
Rekonstruktion im Objekt Tracker
Die Verarbeitung unserer Tracking-Punkte erfolgt – da wir eine Objekt- und keine Kamerabewegung rekonstruieren möchten – nicht im Motion-, sondern im Objekt Tracker. Vorher müssen die von uns erzeugten und getrackten Punkte aber erst noch übergeben werden. Wir selektieren dazu als Erstes alle manuell erstellten Tracks in der Liste der Benutzer-Tracks.
Jetzt holen wir uns aus dem Menü Motion Tracker den Objekt Tracker hinzu. Bei selektiertem Motion Tracker im Objekt-Manager wird der Objekt Tracker dadurch gleich mit ihm verbunden.
Die Zuweisung der nach wie vor selektierten Tracks erfolgt über den Einstellungsdialog des Objekt Trackers auf der Tracker-Seite über den Button Selektierte zuweisen ganz unten links. Hier sehen wir außerdem, dass der von uns erzeugte Motion Tracker dort hinterlegt ist.
Nach diesem Schritt ist die Liste der dem Objekt Tracker zugewiesenen Tracks nun mit unseren Benutzer-Tracks gefüllt.
Um dem Objekt Tracker bei der Rekonstruktion unter die Arme zu greifen, wechseln wir noch einmal in den Motion Tracker auf die Rekonstruktion-Seite und setzen dort die Brennweite auf Bekannt und konstant, mit einer klassischen Brennweite von 36 mm.
Wieder zurück im Einstellungsdialog des Objekt Trackers finden wir auf der Rekonstruktion-Seite einen Button zur 3D-Objekt-Rekonstruktion. Nachdem nun alle Vorbereitungen erledigt sind, können wir die Rekonstruktion starten.
Wieder vergeht etwas Zeit, bis der Objekt Tracker aus den ihm vorliegenden Informationen eine Objektbewegung rekonstruiert hat.
Doch nach dieser kurzen Wartezeit sehen wir bereits die Objekt-Achse des Objekt Tracker-Objekts bei unseren Tracking-Punkten. Wenn die Rekonstruktion erfolgreich verlaufen ist, folgt das Objekt Tracker-Objekt beim Abspielen der Animation allen Bewegungen des Papiers auf dem Schreibtisch.
Anpassen der Rekonstruktion
Ähnlich wie beim Tracking einer Kamera benötigt der Objekt Tracker ein paar Anhaltspunkte, um seine Achsen korrekt ausrichten und auch die Einheiten unserer Szene in den richtigen Maßstab setzen zu können.
Die dafür nötigen Constraint-Tags finden wir im Kontextmenü per rechter Maustaste unter den Motion Tracker-Tags. Wir beginnen mit einem Vektor-Constraint zur Ausrichtung einer Achse, das Constraint wird dabei direkt dem Objekt Tracker zugewiesen.
In der Editor-Ansicht legen wir das erste Vektor-Constraint vom oberen linken zum oberen rechten Tracking-Punkt auf dem Blatt Papier.
Im Einstellungsdialog des Vektor Constraint-Tags definieren wir die gewünschte Achsausrichtung, in unserem Fall die X-Achse. Zugleich können wir durch die Angabe einer bekannten Länge den Maßstab der Szene festlegen. In unserem Fall liegen zwischen den beiden Zielen exakt 12 cm.
Zur Festlegung einer zweiten Achse holen wir uns ein weiteres Vektor-Constraint aus dem Kontextmenü per rechter Maustaste bzw. über das Menü Tags>Motion Trecker Tags im Objekt-Manager.
In der Editor-Ansicht legen wir das zweite Vektor-Constraint vom oberen linken zum unteren linken Tracking-Punkt auf dem Blatt Papier. Wie wir sehen, hat unser erstes Vektor-Constraint bereits die korrekte Ausrichtung der roten X-Achse bewirkt.
Für das zweite Vektor-Constraint reicht in dessen Einstellungsdialog die Angabe der anliegenden Achse, in unserem Fall also die Z-Achse.
Mehr Constraints sind für die Anpassung der Rekonstruktion des Objekt Trackers nicht nötig. Wie in der Editor-Ansicht zu sehen, stimmt die Achslage des Objekt Trackers nun mit unserer Szene überein.
Der Objekt Tracker selbst ist nach unserer Rekonstruktion ein per Keyframes animiertes Objekt – natürlich ohne Geometrie. Über diese Objektanimation können wir nun beliebige 3D-Objekte in die Szene integrieren und animieren.
Einbindung eines 3D-Objekts
Die Überschrift ist allgemein gewählt, da ihr natürlich jedes beliebige 3D-Objekt in die vorliegende Animation integrieren könnt. Im Prinzip bräuchten wir unsere Objekte dem Objekt Tracker lediglich über den Objekt-Manager unterordnen, doch dies ist wenig elegant und bei komplexeren Szenen auch unübersichtlich.
Wir erzeugen uns stattdessen ein Null-Objekt über das Menü Erzeugen>Objekt, dem wir unsere 3D-Objekte unterordnen können. Angebunden wird das Null-Objekt anschließend per Constraint.
Verleiht dem Null-Objekt einen zum 3D-Objekt passenden Namen und vergebt anschließend per Kontextmenü mit der rechten Maustaste aus dem Menü Charakter Tags ein Constraint-Tag an das Null-Objekt.
Im Einstellungsdialog des Constraint-Tags bestimmten wir auf der Basis-Seite zunächst den Typ des Constraints, in unserem Fall PGW (Position, Größe, Winkel). Auf der nun verfügbaren PGW-Seite aktivieren wir ganz unten für die Ziele Position und Winkel.
Anschließend können wir den Objekt Tracker aus dem Objekt-Manager per Drag and Drop in das Feld Ziel des Constraint-Tags ziehen.
Das Null-Objekt hat sofort die Position und den Winkel des Objekt Trackers eingenommen und wird dies auch bei allen Bewegungen tun, ohne dass wir in die Hierarchie des Objekt Trackers eingreifen mussten.
Wie bereits erwähnt, könnt ihr jedes beliebige Objekt für die Einbindung in die Animation verwenden, ich habe mir hierfür einen farbigen PSD-Schriftzug erstellt. Ordnet das 3D-Objekt über den Objekt-Manager dem per Constraint gesteuerten Null-Objekt unter. An den Objekt-Koordinaten im Attribute-Manager des Extrudieren-Objekts können wir ablesen, dass es natürlich noch nicht an unsere getrackte Bewegung angepasst ist.
Doch das ist schnell erledigt, wir müssen die Positions- und Winkel-Parameter im Attribute-Manager nur 'ausnullen', damit zum übergeordneten Null-Objekt kein Versatz mehr besteht.
Die endgültige Positionierung des 3D-Objekts bzw. Schriftzugs erledigen wir in der Editor-Ansicht. Über die Achsgreifer des dem Null-Objekt untergeordneten 3D-Objekts verschieben wir das 3D-Objekt mittig auf das Papier.
Einbinden eines Hintergrunds
Da wir keine Umgebung erstellt oder separat getrackt haben, bekommen wir bei einem Rendering lediglich ein sich bewegendes 3D-Objekt vor schwarzem Hintergrund als Ergebnis. Wir benötigen aber zumindest das im Hintergrund ablaufende Footage-Material.
Wir holen uns dazu ein Boden-Objekt aus der Palette der Umgebungs-Objekte und ordnen es wie das 3D-Objekt bzw. den Schriftzug dem Null-Objekt unter. Damit auch das Boden-Objekt in der korrekten Position bzw. im Winkel des animierten Null-Objekts liegt, nullen wir über den Attribute-Manager die Positions- und Winkel-Koordinaten für das Boden-Objekt aus.
Um eine geeignete Textur für das Boden-Objekt zu erhalten, wechseln wir kurz in den Einstellungsdialog des Motion Trackers. Dort finden wir auf der Footage-Seite den Button Hintergrund-Objekt erstellen.
Nach Klick auf diesen Button erzeugt uns der Motion Tracker ein Hintergrund-Objekt mit dem für uns interessanten, weil korrekt mit Frontal-Mapping definierten Textur-Tag. Wir verschieben das Textur-Tag einfach im Objekt-Manager vom Hintergrund-Objekt auf unser Boden-Objekt. Danach können wir das Hintergrund-Objekt getrost löschen.
Da das Boden-Objekt auch beim Rendering lediglich als Hintergrund fungieren soll, weisen wir ihm über das Menü Tags>Cinema 4D Tags des Objekt-Managers ein Render-Tag zu.
Im Einstellungsdialog des Render-Tags finden wir auf der Tag-Seite die für uns wichtige Option Hintergrund-Compositing. Damit hat die Beleuchtung der Szene keinen Einfluss auf das Boden-Objekt, es kann aber weiterhin Schatten empfangen.
Einbringen von Schattenbereichen per Ambient Occlusion
Wenn wir unsere Szene jetzt rendern, haben wir sowohl unser 3D-Objekt als auch unser Footage-Material wie gewünscht im gerenderten Bild. Was nun noch stört, ist der nicht vorhandene Schattenwurf des PSD-Logos. Da in der Schreibtisch-Szene relativ diffuse Lichtverhältnisse herrschen, sollte die Hinzunahme von Ambient Occlusion beim Rendern schon für ein besseres Ergebnis sorgen.
Um Ambient Occlusion als Render-Effekt zu aktivieren, rufen wir über das Menü Rendern bzw. den Kurzbefehl Befehlstaste + B die Rendervoreinstellungen auf. Im Menü des Buttons Effekte… steht ganz oben schon Ambient Occlusion für uns bereit.
Damit der Schattierungseffekt nicht zu stark ausfällt und zu unserem Footage-Material passt, habe ich den Farbverlauf nahezu auf der Standardeinstellung belassen und lediglich die maximale Strahlenlänge auf 10 cm reduziert. Mit den angegebenen Werten für Genauigkeit und Samples bekommen wir ausreichend weich gerenderte Schattenbereiche.
Jetzt wirkt das PSD-Logo schon wesentlich stimmiger in die Videosequenz integriert. Wer noch mehr Aufwand betreiben möchte, kann die 3D-Objekte natürlich auch noch mit Lichtquellen adäquat ausleuchten.
Womit wir am Ende dieses Objekt Tracking-Tutorials angelangt wären. Für das finale Rendering dieses Projekts habe ich mir den besten, ruhigsten Ausschnitt des selbstgefilmten Footage-Materials (ab Bild 70) gewählt.