VFX Project Spotlight: Erstellung eines CG-Roboterarms
Dieser Artikel wurde ursprünglich auf The Rookies veröffentlicht.
VFX-Generalist Franz Gutjahr, ein Absolvent der PIXL VISN Media Arts Academy in Köln, gibt einen ausführlichen Einblick in sein VFX-Projekt eines CG-Roboterarms. In diesem Artikel erläutert er seinen Workflow, die Herausforderungen, denen er begegnete, und die Erkenntnisse, die anderen helfen können, häufige Fallstricke in ähnlichen Projekten zu vermeiden.
Wahl des Projekts
Ich habe dieses Projekt aus zwei Hauptgründen gewählt. Zu dieser Zeit sah ich The Creator zum ersten Mal und war von den visuellen Effekten überwältigt. In vielen Breakdowns konnte man sehen, wie sie normale Schauspieler filmten und dann Teile oder sogar ganze Körper durch robotische Komponenten ersetzten. Das inspirierte mich dazu, etwas Ähnliches auszuprobieren.
Der zweite Grund war praktischer Natur. Das Projekt erlaubte mir, eine große Bandbreite an Fähigkeiten in einem einzigen Shot zu zeigen: das Planen und Filmen einer Plate, das Erstellen eines 3D-Scans und einer HDRI, das Tracken der Kamera und des Arms der Schauspielerin, das Herauspaintern des Originalarms, Modellieren, Texturieren, Rigging, Animation, Lighting, Rendering und schließlich das Compositing zu einem stimmigen finalen Shot.
Wenn du ein persönliches Projekt auswählst, nimm etwas, das dich begeistert. Und wenn es für dein Demoreel ist, überlege außerdem, welche Fähigkeiten du darin präsentieren kannst.
Referenzen
Referenzen zu sammeln ist immer der erste Schritt zu einem erfolgreichen Projekt. Ich bevorzuge es, meine Referenzen minimal zu halten. Wenn ich hundert Bilder von Roboterarmen heruntergeladen hätte, hätte ich mich nie auf ein Design festlegen können. Mit nur wenigen starken Referenzen konnte ich viel schneller den gewünschten Look finden.
Das Filmen des Shots
Ich begann mit einem einfachen Storyboard. Da es nur ein einziger Shot war, musste es nicht besonders detailliert sein, aber es half mir, die Stimmung und die Kamerabewegung zu visualisieren.
Als Nächstes kam das Location Scouting. Glücklicherweise gab es unter unserer Schule ein riesiges Parkhaus voller Rampen, Tunnel und interessanter Beleuchtung. Es passte perfekt zu meiner Vision, und das Licht ließ sich in 3D ziemlich einfach nachbauen. Wenn du Locations scoutest, mach Fotos und Videos, um verschiedene Blickwinkel und Kamerabewegungen auszuprobieren. Schau sie dir anschließend auf einem großen Bildschirm an. So fällt es viel leichter, die finale Komposition festzulegen.
Für die Performance bat ich meine Klassenkameradin Elena Rausch, in dem Shot mitzuspielen. Ihr Stil passte sehr gut zur Umgebung, sodass wir keine Kostüme brauchten. (Übrigens, sie ist eine großartige Animatorin. Schau unbedingt auf LinkedIn vorbei!)
Um Licht- und Farbreferenzen aufzunehmen, lieh ich mir eine Chromkugel und eine Color Chart aus der Schule aus. Elena hatte außerdem eine 360°-Kamera, die ich für die HDRI verwenden konnte. Schließlich scannte ich das Set mit Polycam für Licht- und Trackingreferenzen. Um die Armbewegung tracken zu können, trug Elena ein „Trackinggerät“ (im Grunde eine Papprolle mit ein paar Trackingmarkern) über ihrem Unterarm.
Wir filmten etwa zehn Takes, plus eine Clean Plate mit derselben Kamerabewegung. Es lohnt sich immer, mehrere Takes zu drehen, besonders bei Single-Shot-Projekten. Das gibt dir später deutlich mehr Optionen.
Footage Vorbereitungen
Bevor ich mit dem Modellieren begann, wollte ich sicherstellen, dass das Material tatsächlich verwendbar war. Ich drehte in 4K S-Log3 und konvertierte alles in ACES-EXRs in DaVinci Resolve. Anschließend entrauschte ich den Shot in Nuke mit dem Neat Video Denoiser, einer der besten verfügbaren Optionen.
Dann kam das Kameratracking in Syntheyes. Es war erst mein zweites Mal mit dem Tool, aber sobald ich die Grundlagen verstanden hatte, war es ziemlich unkompliziert. Ein großartiges Feature ist, dass Syntheyes Linsenverzerrungen entfernen kann und ein Nuke-Skript exportiert, das dein Footage automatisch entzerrt und wieder verzerrt.
Das Tracking des Arms
In Blender importierte ich die getrackte Kamera und nutzte KeenTools GeoTracker, um den Arm zu tracken. Dafür braucht man eine 3D-Version des Objekts, das man trackt, also scannte ich das „Trackinggerät“, das Elena trug, und nutzte dieses Modell. Ich alignte es mit dem Footage und trackte die Bewegung über den Shot hinweg. Dann übertrug ich diese Bewegung auf ein leeres Objekt, das später mein Roboterarm-Rig antreiben sollte.
Um zu prüfen, ob alles richtig ausgerichtet war, importierte ich auch den 3D-Scan der Umgebung und passte dessen Maßstab an das Footage an. Das Kameratracking war nicht zu 100 % perfekt - einige Bereiche an den Rändern drifteten leicht - aber da der Arm im Zentrum des Bildes war, spielten diese Fehler für den finalen Shot keine Rolle.
Ursprünglich versuchte ich, den Arm direkt in Syntheyes mithilfe der Marker zu tracken, aber die Bewegung war zu schnell und zu unscharf. Am Ende war GeoTracker die bessere Option.
Modeling und Texturing
Da es in diesem Shot hauptsächlich ums Compositing ging und ich den Arm nie in Großaufnahme zeigte, machte ich mir über saubere Topologie nicht allzu viele Gedanken. Stattdessen konzentrierte ich mich auf Geschwindigkeit und das Gesamtdesign.
Um die Proportionen richtig zu treffen, fotografierte ich Elenas Arm und skizzierte das Roboterdesign darüber. Diese Skizze nutzte ich als Leitfaden fürs Modellieren. Der Großteil des Arms wurde von Grund auf gebaut, aber für kleinere mechanische Details verwendete ich einige Kitbash-Teile. Kitbashing spart in der VFX enorm viel Zeit, da es dir schnell Komplexität liefert, ohne dass du Tage mit dem Modellieren winziger Details verbringen musst.
Um das Compositing später zu vereinfachen, modellierte ich auch einen kleinen Bereich „CG-Haut“, an dem sich echter und robotischer Arm treffen. Dadurch ließ sich die Übergangsfläche viel leichter integrieren.
Das gesamte Texturing machte ich in Substance 3D Painter. Der wichtigste Trick ist, prozedurale Materialien mit Handmalerei zu kombinieren. Es ist verlockend, einfach ein Smart Material aufs Modell zu werfen, aber das wirkt selten überzeugend. Handgemalte Abnutzung und Farbvariation helfen, die Geschichte deines Modells zu erzählen und es realer wirken zu lassen. Für meinen Roboterarm wollte ich einen abgenutzten, kampferprobten Look – als wäre der Charakter durch einige Kämpfe gegangen. Ich fügte Kratzer, Dellen und Einschussmarken hinzu, besonders um die Knöchel herum, um zu zeigen, wo das Metall Treffer abbekommen hatte und die Farbe abgeplatzt war.
Rigging und Animation
Für Rigging und Animation wechselte ich zu Maya. Da der Arm mechanisch war, brauchte ich keine Skin Weights, aber die richtige Platzierung der Joints war entscheidend, damit sich alle Teile korrekt bewegen konnten. Um Zeit zu sparen, platzierte ich in Blender Empties an allen Pivotpunkten und importierte sie in Maya, um die Joints daran auszurichten. So konnte ich sie alle an den richtigen Stellen platzieren.
Ich baute ein simples Rig auf und importierte die getrackte Kamera sowie die Armbewegung. Das Tracking war insgesamt gut, erforderte aber ein paar manuelle Anpassungen, besonders wenn die Schauspielerin ihren Arm drehte. Diese wenigen Frames animierte ich per Hand nach, damit wirklich alles exakt übereinstimmte.
Ich matchte Elenas Handbewegungen absichtlich nicht perfekt. Stattdessen übertrieb ich die Bewegungen leicht, damit der Arm weniger menschlich und mechanischer wirkt. Ihre echten Handbewegungen waren zu weich und natürlich, daher fügte ich etwas Steifheit und schärferes Timing hinzu, um dem Arm eine robotischere Charakteristik zu verleihen.
Lighting und Rendering
Für das Lighting importierte ich sowohl die HDRI als auch den 3D-Scan des Sets nach Maya. Die HDRI nutzte ich hauptsächlich für Reflexionen und Ambient Light, entfernte aber die direkten Lichtquellen, damit ich diese manuell kontrollieren konnte. Basierend auf dem Scan platzierte ich einfache Area Lights dort, wo sich die echten Lampen befanden.
Am Ende hatte ich etwa zehn Lichter, gruppiert in vier Lichtgruppen: Front, Top, Back und Ambient. Jede Gruppe wurde zusätzlich in diffuse, specular und subsurface AOVs unterteilt. Ich renderte alles in Redshift und exportierte einige Utility-AOVs wie Cryptomattes und Positionsdaten. Am wichtigsten war der Export des Object-Position-AOV, der Objektpositionsdaten im Objektkoordinatensystem liefert. Damit konnte ich in Nuke Masken erstellen, die perfekt auf dem gerenderten Objekt „haften“.
Compositing
Endlich der spaßigste Teil: alles in Nuke zu einem Gesamtbild zusammensetzen.
Ich importierte all meine Assets: die Plate, die Undistort- und Redistort-Setups aus Syntheyes, die getrackte Kamera und den gerenderten Roboterarm.
Zuerst schnitt ich den echten Arm heraus. Es ist eine mühsame, aber einfache Arbeit. Ich maskierte den Arm grob aus und rekonstruierte den Hintergrund dahinter. Dafür baute ich in Blender eine vereinfachte 3D-Version der Umgebung, importierte sie nach Nuke und projizierte Patches sauberer Frames darauf – aus unterschiedlichen Zeitpunkten des Shots. Dann renderte ich das Ganze mit dem Scanline Renderer und platzierte es hinter meinem maskierten Footage.
Nachdem die Plate sauber war, fügte ich einige subtile Story-Elemente hinzu, wie abgeplatzte Farbe oder Abnutzung an den Wänden, indem ich direkt in Nuke malte und diese Texturen auf dasselbe 3D-Modell projizierte.
Dann war es Zeit, den CG-Arm zu integrieren. Ich baute ein Back-to-Beauty-Setup, um alle AOVs zusammenzuführen. Ich passte den Hautton des CG-Bereichs an den echten an und nutzte den Object-Position-AOV, um eine weiche Übergangsmaske zu erstellen. Ich justierte die Lichtgruppen, um die echte Beleuchtung zu treffen, reduzierte Reflexionen und fügte die Linsenverzerrung wieder hinzu, bevor ich alles auf die Plate compositete.
Damit der Arm natürlich im Shot sitzt, passte ich Schwarzwert, Sättigung und chromatische Aberration an. Ich fügte auch Light Wrap hinzu, damit einige Farben der Plate auf den Arm überstrahlen. Schließlich fügte ich wieder grain hinzu. Grain ist eine der wichtigsten finalen VFX-Maßnahmen, weil es alles zusammenführt. In diesem Fall konnte ich das originale Grain jedoch nicht einfach auf die Comp legen, da der echte Arm darin noch sichtbar war. Also erstellte ich eine Differenzmaske zwischen Comp und Plate, um eigenes Grain nur in die veränderten Bereiche zu legen.
Danach machte ich ein finales Color Grading und fügte eine leichte Vignette hinzu, um das Bild hervorzuheben.
Lehren aus dem Projekt
Wenn es so klingt, als wäre alles reibungslos gelaufen - war es nicht. Anfangs hatte ich keine klare Vision für den Shot und änderte ständig Dinge. Mein ursprüngliches Konzept war komplett anders: ein nächtlicher Außenshot mit einer futuristischen Stadt im Hintergrund. Das erste Material war zu dunkel und zu verrauscht, also drehten wir neu. Die zweite Version war besser, aber der Arm war nicht gut sichtbar und das Tracking war die reinste Katastrophe.
Schließlich entschied ich mich, erneut von vorne anzufangen. Dieses Mal konzentrierte ich mich darauf, einen Shot zu gestalten, wo der Roboterarm im Fokus steht. Ich plante die Kamera und Performance im Detail, suchte eine bessere Location aus und drehte tagsüber. Diese Version funktionierte endlich.
All das hätte durch bessere Preproduction verhindert werden können. Ein VFX-Projekt zu planen bedeutet nicht nur, Referenzen zu sammeln. Es sollte Storyboards, Kameratests, Location Scouting und vielleicht sogar eine kurze 3D-Previs beinhalten. Das kostet Zeit, erspart dir aber später viele Kopfschmerzen.
Dieses Projekt hat mir viel beigebracht. Es war der komplexeste Shot, an dem ich bisher gearbeitet habe, und er zeigte mir, wie wichtig richtige Planung ist. Ich lernte auch, keine Angst davor zu haben, noch einmal von vorne zu beginnen, wenn etwas einfach nicht funktioniert. Ein riesiges Dankeschön an Elena Rausch für ihre Hilfe bei diesem Projekt und dafür, dass sie all die Reshoots mitgemacht hat!
Wenn du das finale Ergebnis sehen möchtest, schau dir gerne mein Demoreel an: