Übermenschliche Kräfte entfalten

Christopher McKissick vor allem damit, das Animatic und schließlich die Previs so exakt wie möglich zu planen. Parallel dazu organisierte das Producer-Team alles für den geplanten Dreh, und es wurden eine ganze Reihe an RnD-Tests als Proof of Concept für die geplanten Shots vorgenommen. Gedreht wurde insgesamt 11 Tage – 6 Tage am Set, 5 im Studio. Die Postproduktion dauerte – dem Thema des Films entsprechend – circa 9 Monate.

Previs & Animatic

Parallel zur eigentlichen Ideenfindung entwarf Martin Lapp zahlreiche Moodboards und Concepts – meistens in Photoshop oder direkt in 3D, um flexibler zu sein. Am Storyboard selber arbeitete das Team eigentlich nur einen Tag lang, danach beschloss der Regisseur direkt im 3D-Animatic mit Cinema 4D weiterzuarbeiten; zum einen weil es keinen wirklichen Storyboarder gab und Martins Zeichenkünste schnell an ihre Grenzen kamen, zum anderen weil der Artist sich in 3D viel schneller und flexibler ein Bild davon machen konnte, was funktionieren würde und was nicht. „Gerade bei zahlreichen schnellen Schnitten und komplexen Auflösungen ist es oft leichter, für die nächste Einstellung einfach die Viewport-Kamera zu drehen und das 3D-Modell zu verschieben, als alles neu zu zeichnen“, weiß Martin Lapp. Das Animatic wurde mit der Zeit immer detaillierter, die Animation komplexer und schließlich gestaltete sich der Übergang von Animatic z ur P revis fl ießend. D ie P revis l ieß s ich zur Shot-genauen Orientierung sogar direkt über den fertigen Film legen. Sobald alle Drehorte feststanden, begann das Team die Sets mit Agisoft Photoscan zu scannen und in die Previs einzusetzen.

Durch die Berücksichtigung des richtigen Scales ließen sich wichtige Entscheidungen wie die Wahl der Optiken, Geschwindigkeiten, Kamerahöhen und -winkel schon lang vor dem eigentlichen Dreh treffen. Das führte schließlich so weit, dass sich mithilfe von Physical Sky genau der Sonnenstand für jede Tageszeit bestimmen ließ und so die Kontinuität der Schatten erhalten blieb. Das Team steckte aufgrund der Wetterabhängigkeit und der zeitlichen Inflexibilität beim Dreh sehr viel Zeit und Energie in die Previs. Dadurch wurde sie zum zentralen Virtual-Production-Tool, ohne dessen Hilfe das aufwendige Projekt niemals so durchgeführt hätte werden können.

Kameras der Wahl

Da „BreakingPoint“ ein studentisches Diplomprojekt war, konnte sich das Team sehr viel Zeit für die Planung und Umsetzung nehmen. Zeit, die im „wahren” Filmgeschäft so gar nicht bezahlbar wäre. Für knapp zwei Minuten Film waren 6 Drehtage von Außenmotiven in Ludwigsburg sowie auf dem Studiogelände der Bavaria Filmstudios in München und Stuttgart nötig. Hinzu kam ein zusätzlicher Dreh im Filmakademie-Studio mit 5 Tagen, bei dem sich das Team komplett auf das Filmen des Babys, die 3D-Scans und Debris-Aufnahmen vor Grün konzentrierte. Zunächst wählte das Team für die Außenaufnahmen eine Alexa. Da die Arri Amira aber zur Verfügung stand, stieg das Team auf dieses Kameramodell um, das von der technischen Seite her der Alexa in nichts nachstand. Die Highspeed-Aufnahmen draußen und im Greenscreen wurden mit einer Phantom v641 gefilmt. Als zusätzliches Kameramodell für Studioaufnahmen vor Grün kam die Sony F55 zum Einsatz. Zum einen wegen der höheren Auflösung und zum anderen wegen der Möglichkeit der Raw-Format- Aufnahme, da sich so das Keying in der Post einfacher gestaltete. Im Vorfeld probte das Team die komplizierteren Shots meistens mit einer DSLR oder dem iPhone (240 fps) einmal durch, um auf diese Weise alle am Set aufkommenden Fragen so gut wie möglich zu klären. Vor Ort fiel dann auch die Entscheidung, den Shot mit dem zu Boden fallenden Kaffeebecher mit der Phantom aus der Hand zu drehen, was Kameramann Chris McKissick am Set in der Bavaria meisterte.

Neugeborenes finden

Vor Drehbeginn war eine der größten Herausforderungen natürlich, den geeigneten Baby-Darsteller zu finden. Nachdem erfolglos alle Verwandten und Bekannten abgeklappert worden waren, sprach das Team Mütter und ihre Babys direkt an und erzählte von dem Filmprojekt. „Aber sobald man auf die Handlung des Films kommt und dass das Neugeborene währenddessen aus dem Fenster fliegen soll, hat man gänzlich schlechte Karten. Verständlicherweise will so gut wie keine Mutter ihr Baby aus der Hand geben – erst recht nicht, wenn es dann im Studio auf einer grün ausgekleideten Vorrichtung liegt, eine 10 Kilo schwere Kamera direkt über ihm hängt und ein Haufen VFX-Studenten drumherum stehen und wie wild Fotos machen“, sagt Martin Lapp. Glücklicherweise fanden sich einen Tag vor Dreh im Krankenhaus doch noch gleich zwei passende Babys für den Dreh. Tatsächlich sind auch beide im Film: Das fallende Kind ist ein anderes als das, welches die Hebamme im Krankenhaus übergibt. Da ein Baby gegenüber Schauspielführung resistent ist, musste eine Full-CGHand für die richtige Bewegung her. Christian Leitner sculptete die Hand inklusive aller kleinen Details binnen kurzer Zeit in ZBrush, Marcel Ruegenberg erstellte danach anhand des Modells prozedural ein Skelett, welches durch das Subsurface Scattering durchschimmert. Zusätzlich übernahm der Artist auch das Look Development der Babyhand. Die Animation erfolgte durch simple Blendshapes anstatt eines Rigs. Leider ist die Arbeit nur im Breakdown zu bewundern, da das DOF im finalen Bild viel versteckt.

Stunt-Digidouble

Zu Beginn der Preproduktion wurde angedacht, Motion Capturing einzusetzen. Nachdem sich das Team aber mit der Materie vertraut gemacht hatte, stellte sich die Technologie für das Projekt als ungeeignet heraus. Es hätte das ohnehin schon hohe Drehpensum nochmals um mindestens 2 Drehtage erweitert, und da die meisten Szenen echt gedreht werden sollten, blieben nur noch Stuntszenen übrig, bei denen Motion Capturing Sinn gemacht hätte. Da diese relativ kurz sind, fiel die Entscheidung früh, diese von Hand zu animieren und dadurch auch in der Post flexibler zu sein. Für die Digidoubles nutzte das Team eine Scan- Kabine, ein zylindrisches Array aus 24 parallel geschalteten DSLRs, in dessen Mitte die Darstellerin stand. Diese werden eigentlich für den Druck von 3D-Miniatur-Figuren verwendet, netterweise durften die Studenten ein solches Setup von Project3D aus Göppingen (project3d.net) kostenlos benutzen. Das Ganze wurde danach in Photoscan gescannt und von Modeler Christian Leitner innerhalb von kürzester Zeit gecleant.

Ein Tag, ein Shot

Direkt nach dem Dreh ging das aufgenommene Material in den Schnitt. Da das meiste, was beim Dreh entstanden war, nur Hintergründe waren, fiel es schwer zu abstrahieren, wie lang welcher Shot stehen bleiben muss. Hierbei half erneut die Previs, die teilweise mit 50 Prozent Sichtbarkeit in Premiere über die Plate gelegt wurde. Kurz nach dem Timelock ging es dann an die Postvis, bei der sich das Team für einen etwas unkonventionellen Weg entschied. Da dem Regisseur wichtig war, dass so früh wie möglich eine erste Version des Films für die weitere Planung stand, entschied Martin, dafür einen Monat lang jeden Tag einen Shot zu bearbeiten. Da der Film genau 30 Shots hat, ging der Plan gut auf. Jeden Tag im August begann der Artist morgens mit dem Tracking eines Shots in PFTrack, blockte grob die Animationen in Maya, setzte das Timing und die Position für die Explosionen (generische Alembic Explosionen aus Houdini mit Time-Offsets), stitchte mit ptGui und gradete das HDRI in Nuke zusammen. Danach setzte er Lichter und realisierte das Shading in Maya, renderte alles einmal raus auf die Farm (Arnold + Royal Render) und setzte die Comp in Nuke auf, sodass jeden Abend eine erste Version des Shots vorlag und Anfang September schließlich die erste Version des Films. Für die gesamte Postproduktion wollten die Studenten so iterativ wie möglich arbeiten, damit die ganzheitliche Qualität des Films simultan angehoben und nicht gleich zu Beginn zu viel Energie in einzelne Shots investiert wurde. Die Postvis war hierbei ebenfalls ein Keyfactor, da jeder Shot schon aufgesetzt war und noch 8 Monate Zeit zum Polishen blieb. Gegen Ende änderte sich das Vorgehen natürlich und das Team konzentrierte sich verstärkt auf die Hero-Shots und Sorgenkinder.

Arbeitsteilung & Pipeline-Aufbau

Anfang September setzte Martin sich mit Art Director Thomas Sali und dem Team zusammen und ging die Shots durch. Jeder anfallende Task wurde verteilt und dazu angesetzte Arbeitstage festgesetzt, die VFXProducer Francesco Faranna in seine Gesamtkalkulation einpflegen konnte. Einige Shots sahen Anfang September schon recht gut aus – bei anderen wurde schon zu diesem Zeitpunkt klar, dass noch viel Zeit investiert werden musste. Auch ließ sich bereits gut erkennen, welcher Shot im Schnitt in Nuke Studio nochmal länger oder kürzer stehen würde. Parallel zu Martins Arbeit an der ersten Version des Films setzte Head-TD Johannes Franz die FX-Pipeline in Houdini auf und arbeitete am Proof of Concept für die anstehende Effektarbeit. Nicole Rothermel arbeitete zusammen mit Martin Lapp an der Asset Creation sowie der Photogrammetry der vielen Props, die vorher im Studio fotografiert wurden. Nach dem Scan cleante das Team die Assets in ZBrush und erstellte das UV-Layout, welches zum Kreieren der Texturen im Anschluss in Agisoft zurückimportiert wurde. Für die restliche Texturarbeit kam Mudbox zum Einsatz. Danach setzte das Team jedes Asset im richtigen Scale in Maya auf, realisierte das Shading in einer vorher festgelegten Unified Shading Scene, um Konsistenz zwischen den Shadern zu wahren, und referenzierte später alles in Maya zur Animation. Gerendert wurde in Arnold und in Mantra. Weil Martin das Lighting, die Animation und das Compositing zusammen machte, lief der Workflow sehr iterativ und gleichzeitig riskant, da er in der Lighting Scene auch animierte. Denn bei zu vielen Referenzen in einer Szene brechen irgendwann die Light-Linkings und Render Layer in Maya zusammen, was dem Team einige graue Haare bescherte. Diese Probleme ließen sich schließlich durch die Custom Tools lösen, die Pipeline-TD Alexander Richter für Maya und Nuke schrieb. Während dem Fortlauf dieser Prozesse entwickelte Francesco das „Command Center”, eine dynamische Online-Tabelle, in der jeder seinen jeweiligen Task und den Gesamtfortschritt tracken konnte. Sozusagen ein Mini-Shotgun für kleine Teams, das irgendwann den bisherigen Organisations- Workflow des Teams über Trello ablöste (s. DP-Ausgabe 07:16, „Shoogle!“).

Alles kaputtmachen!

Als VFX-Student an der Filmakademie mit Hang zu Hollywood-Blockbustern kam für Martin Lapp kaum etwas anderes in Frage, als sich bei seinem Diplomfilm auf das Zerstörungsniveau eines Roland-Emmerich-Films zu begeben. Gerade am Ende des Studiums war die Motivation groß, nochmal ein sehr komplexes und VFX-lastiges Filmprojekt zu stemmen. „Als Martin in den Präsentationen ein Styleframe und das Animatic von ‚BreakingPoint‘ zeigte, war ich überzeugt, dass das gut wird“, so Lead-TD Johannes. Da der Artist bislang noch keine Chance hatte, Destructions in einem solchen Ausmaß zu kreieren, bot „BreakingPoint“ ihm eine ideale Option, sich dahingehend zu verwirklichen. Houdini überzeugte für diese Aufgabe mit seinem prozeduralen Workflow, der verschiedene Möglichkeiten für Destruction und Interoperabilität bot. Auf diese Weise konnte Johannes verschiedene Solver miteinander interagieren lassen und die Ergebnisse der Simulationen dazu nutzen, um weitere Sekundäreffekte zu führen. Die Abhängigkeiten, die sich daraus ergaben, ließen sich konzeptionell als direkten azyklischen Graphen sehen. Houdinis Out- Kontext wiederum entspricht diesem Prinzip. So ließen sich komplexe Setups mit Abhängigkeiten mit nur einem Knopfdruck simulieren. Da es sehr viele Effekte mit mehreren Layern gab und die Möglichkeit benötigt wurde, mehrmals darüber iterieren zu können, war die Skalierbarkeit, die das Team durch Houdinis Prozeduralität erhielt, Gold wert. Setups, die in einer Szene erstellt wurden, ließen sich problemlos in andere Szenen kopieren, dabei wurden die relativen Abhängigkeiten respektiert. Nach jeder Iteration und jedem Feedback konnte immer zurückgegangen und Einstellungen getweakt werden. Die wenigsten Dinge in Houdini sind eine Blackbox und in die meisten Nodes kann eingegriffen werden falls nötig.

Houdini-Solver

Mit Houdinis RBD-, Bullet-, Finite-Elementsund PBD-Solver stehen verschiedene Möglichkeiten zum Erstellen von Destructions zur Verfügung, wobei die Studenten für die Effekte von „BreakingPoint“ hauptsächlich auf Bullet und Finite Elements setzten. Die Bullet Engine stammt aus dem Gaming- Bereich und kann sehr schnell mit konvexer Geometrie umgehen. Das Team nutzte hauptsächlich mit VDB gefracturte Objekte, die viel natürlicher aussehen als die herkömmlichen Voronoi-Steine, die nicht optimal mit Bullet simuliert werden konnten. Die Konkavität ließ sich umgehen, indem mit dem „VDB to Spheres”-Node konvexe Kugeln in die Geometrie gestreut wurden. Kugeln, die zu einem Fracture-Teil gehören, bekamen denselben Namen und wurden vom Bullet-Solver als Proxy für die Kollision benutzt. Die Volumes simulierte das Team in geringer Auflösung, die Details kamen durch das Displacement im Rendering zustande. Anhand des Rest-Felds und des Gradients wurden die Voxel verschoben. Um das Muster des Noise-Felds aufzubrechen, erstellte das Team im ersten Frame der Simulation ein Skalar-Feld und advektierte dieses – der Wert des Feldes diente dann als Amplitude des Displacements. „Solche Tricks lassen sich nur nutzen, solange das Volumen noch realistisch aussieht. Heute würde ich stattdessen Gridless Advection anwenden, um pixelgenaue Details zu erhalten, was auch nicht viel Rechenleistung kostet. Dabei wird im Rendering-Schritt für den Pixel das Volumen anhand des Velocity-Feldes verschoben. Solche Optimierungen machen das Arbeiten mit Houdini spannend“, erklärt Johannes Franz.

Houdini-Helferlein

Johannes setzte für die Entwicklung zusätzlicher Scripts stark auf das HDA-System von Houdini und baute für das Projekt File- Caches, Wrapper-HDAs für häufig genutzte Setups, Shader Libraries und Presets. Für die zahlreichen Explosionen erstellte das Team drei generische Explosionsversionen als Assets. Da das Team die Rigid Body Dynamics (RBD) in Maya/Arnold und die Secondaries in Mantra gerendert hatte, mussten diese synchronisiert werden, damit Smoke, Sand und alle anderen Partikel sich mit dem Rest in der Szene von der Position und dem Timing her synchron verhielten. Die RBDs verteilte Martin in der Szene, und Alexander schrieb ein Script, welches die Transformation und Verzögerung jeder einzelnen Explosion als Datei speicherte. Diese wurden dann von einem speziellen HDA in der Szene aufgegriffen. Das HDA wurde danach mit der gleichen Transformation und Verzögerung auf die Secondaries (Smoke, Partikel und Sand) angewendet, sodass die Position und das Timing mit der Maya-Szene übereinstimmten.

Rendering

Anfangs spielte Martin mit dem Gedanken GPU-Rendering zu nutzen. Dazu testete er in einem vorherigen Projekt Redshift. Da konzeptionell aber schnell klar wurde, dass das Projekt Unmengen an Geometrie und Texturen pro Szene haben würde, entschied sich das Team recht schnell für Arnold sowie Mantra für alle Fluids und Partikel aus Houdini. Auf Anraten des Pipeline-TDs Alexander Richter setzte das Team zu einem sehr frühen Zeitpunkt statt auf die Standard-Arnold- Shader auf die AL-Shader für Arnold. Diese sind etwas einfacher aufzusetzen, werden in vielen Studios genutzt und bieten von Haus aus mehr Settings als die Standard-Shader. Alexander kümmerte sich um die Maya-Seite der Produktion und arbeitete dafür mit seiner selbstentwickelten arPipeline. Die Renderings aus Maya waren so weit optimiert, dass Frames selten über 5 bis 10 Minuten Renderzeit kamen, dadurch wurde alles sehr übersichtlich. Die längsten Renderzeiten mit circa 20 Minuten pro Frame lagen beim Close-up der Mutter, die ihre Hand nach dem Baby ausstreckt. Dieser Shot war einer der Full-CG-Shots, der mit mehreren 8K-Texturen direkt mit Motion Blur und Shallow Depth of Field gerendert wurde. Am Animationsinstitut haben die Studenten für ihre Projekte Zugriff auf die dort befindliche Renderfarm. Die Jobs werden dabei mit Royal-Render-Plug-ins direkt aus der jeweiligen Software verteilt – so können die meisten Shots über Nacht fertiggerendert werden.

Finales Grading in Hamburg

Da aufgrund der 3 verschiedenen Kameras auch 3 verschiedene Aufnahmeformate vorlagen, konsolidierte das Team alle Shots zunächst in DaVinci. Die Plates wurden im Anschluss in Nuke in lineare .exr-Sequenzen gewandelt. Um die Shots aneinander anzugleichen, machten die Studenten einen neutralen Grade für alle Shots. Während der Postproduktion arbeiteten die Artists für die Zwischenstands-Ausspielungen meistens mit einem Pregrade direkt in Nuke. Gegradet wurde mit Baselight in zwei Runden: Das Hauptgrading nahm das Team vor der internen Diplompräsentation vor, danach gab es ein Korrektur-Grading für Shots, die sich noch geändert hatten. Vor dem Grading erstellte Martin eine Art „Grading-Bibel”, in der er neben der Sammlung verschiedener Referenzen und Moods die angestrebte Stimmung, der Farbkontrast und vieles mehr beschrieb. Für das finale Grading hatte das Team das Glück, dass Producerin Anica ein Sponsoring bei „Harvest Digital Agriculture” (www.harvest-technology.de) in Hamburg aushandeln konnte. Kameramann Chris und Martin fuhren deshalb jeweils für 2 Tage nach Hamburg und kitzelten dort zusammen mit Grader Nico Schwartau und Laura Steindorf die letzten 10 Prozent aus dem Look heraus. Abgerundet wurde der Film auf der akustischen Ebene durch einen maßgefertigten Score von Komponist Petteri Sainio, der mithilfe des Babelsberger Filmorchesters zum Leben erweckt wurde, sowie durch eine imposante Dolby-Atmos-Mischung von Sounddesigner Tobias Scherer.

Challenges

Am meisten machten dem Team die Shots zu schaffen, bei denen aufgrund der Bedingungen am Set – wie Wetter, Zeit, Licht oder die Sets selbst – nicht das gedreht werden konnte, was geplant war. Bei einigen Shots mussten deshalb entweder durch Set Extensions große Teile der Plate ersetzt oder sogar komplett full-CG realisiert werden, um beim Staging der Shots flexibler zu sein. Ohnehin aufwendige Shots wurden dadurch noch komplizierter – und führten zu der einen oder anderen Nachtschicht. Für die Shots hat es sich im Nachhinein aber immer gelohnt. Zudem sorgte der unterschiedlich interpretierte Motion Blur zwischen Mantra und Arnold im Compositing hin und wieder zu Holdout-Problemen und zu damit unvorhergesehenen Paint-Korrektur-Exzessen. Alles in allem lief die gesamte Produktion aber, wenn man es im Verhältnis zur Komplexität des Projektes betrachtet, ohne größere Probleme ab. „Was der Planung im Vorfeld, der Infrastruktur am Animationsinstitut sowie dem grandiosen Team zu verdanken ist“, ist sich Martin Lapp sicher.

Speicherplatz sparen

Am Ende des Projektes fielen 12 Terabyte Daten an: 5 Tbyte davon waren Daten vom Set, 7 Tbyte kamen für die Postproduktion hinzu. 15 Tbyte Speicher erhielten die Studenten vom Animationsinstitut – zu Beginn des Projektes hatte Johannes Franz jedoch geschätzt, dass das Projekt 40 Tbyte benötigt. Also wurde die FX-Pipeline sehr früh so aufgebaut, dass effizient gearbeitet und Speicherplatz eingespart werden konnte. Die größten Dateien waren FX- und Mantra- Render-Caches. Weil einige Effekte wiederverwendet wurden, legte das Team diese als Assets an und referenzierte sie in den Shots durch Delayed Load. Volumes haben eine geringe Auflösung, deshalb bereiteten sie nicht allzu große Probleme. Geo Caches in Houdini ließen sich umgehen, indem der erste Frame der Simulation und die Animation als Point-Cloud gespeichert wurden. Da die RBD-Simulationen in Maya/Arnold gerendert wurden, mussten sie per Alembic- Bruteforce gespeichert werden. Letztendlich waren die Alembics die größten Dateien auf dem Laufwerk. Die Render Caches waren zunächst mehrere Gigabyte groß, aber durch Delayed Load und BLOSC-Komprimierung ließen sie sich auf Kilobyte-Größe reduzieren.

Best Student

Project „BreakingPoint“ lief bereits auf zahlreichen Festivals, unter anderem dem Anima Mundi in Brasilien (www.animamundi.com.br). Zuletzt wurde der Kurzfilm als „Best Student Project” bei der diesjährigen Siggraph Asia in Macau ausgezeichnet. „Wir sind superfroh darüber, einen so wichtigen Preis für unser Diplom nach Ludwigsburg geholt zu haben“, freut sich Regisseur Martin Lapp.

(Mirja Fürst)