
Abbildung 4: Die Compositing-Software Shake lässt den Grafiker alle künstlichen und gefilmten, in einer Knoten-Ansicht geordneten Einzelelemente zum fertigen Bild zusammensetzen.
Hollywood & Co. setzen schon seit längerem auf Linux, nicht nur für Renderfarmen, sondern auch auf dem Desktop. Ein Bericht aus der Praxis beschreibt Produktionsprozess und Tools.

Abbildung 1: Nur die Ritter im Vordergrund dieser Szene aus “Kingdom of Heaven” sind echt. Die rasende Meute im Hintergrund entstand erst in den Computern der Moving Picture Company (MPC).
In längst vergessenen Zeiten waren die Rechner von Silicon Graphics [1] einmal unverzichtbare Arbeitspferde in mittleren und großen Studios für Animation und visuelle Effekte (Visual Effects, VFX). Die immense Performancesteigerung der I-386-Hardware während der letzten fünf Jahre, gemeinsam mit der Verfügbarkeit von Linux als freiem und zuverlässigem Betriebssystem, führte dazu, dass die meisten Studios mittlerweile von SGI zu Linux migrierten.
Linux statt SGI
Unterm Strich ist es mit großen Teams von Künstlern und Entwicklern einfach kosteneffektiver, Linux einzusetzen. Je nach den individuellen Anforderungen eines jeden Studios variiert zwar die genaue Hard- und Software-Ausstattung, aber der grobe Aufbau des Workflow ist bei allen ähnlich. Dieser Artikel beschreibt die einzelnen Produktionsphasen und stellt die dafür verwendete professionelle Linux-Software vor.
Das Modelling und Rigging (siehe Kasten “3D von A bis Z”) von Szenen mit künstlichen Charakteren findet üblicherweise auf Linux-Workstations statt. Oft ist schon die Geometrie der Charaktere so komplex, dass sie den Maschinen einiges abverlangt. Rigging, Animation und Simulation vergrößern den Rechenaufwand weiter, sodass erst die leistungsfähigsten Prozessoren akzeptable Produktivität gewährleisten.
Verbreitete Anwendungen für Modelling, Rigging und Animation sind heute Maya (Abbildung 2) von Alias [2], Houdini von Sidefx [3]. Alias bietet zwar eine kostenfreie Ausbildungsversion an, allerdings nur für Windows und Mac OS. Sidefx dagegen stellt im Rahmen des so genannten Apprentice-Programms Linux-Versionen von Houdini Master zum Download bereit.
Neben den üblichen Tools, um aus einfachen Formen komplexe Körper zusammenzusetzen, bringen diese 3D-Anwendungen zusätzlich spezielle Werkzeuge für Partikelsysteme mit, beispielsweise für Rauch, Feuer, Wasser sowie atmosphärische Effekte.
In der Praxis beschränken sich Produktionsstudios aber selten auf den Einsatz nur eines Tools für einen Zweck. Schon für ein und dieselbe Szene setzen sie häufig verschiedene Programme ein, die sich gegenseitig ergänzen. So verwendete die Moving Picture Company (MPC) für den aktuellen Film “Charlie and the Chocolate Factory” neben dem fertigen Paket Realflow von Nextlimit [4] auch das selbst geschriebene Tool Puddle (Pfütze), um die im Inneren der Fabrik fließenden Schokoladenströme und -seen zu simulieren.
Studios programmieren selbst
Viel Arbeit steckten die Entwickler von Programmen wie Maya in den letzten Jahre in die immer realistischere Darstellung lebender Figuren, so zum Beispiel die Simulation von Haaren oder Fell. Für die überzeugend lebendigen Eichhörnchen in “Charlie and the Chocolate Factory” hat das Studio Framestore CFC dennoch auf die Eigenentwicklung FC Fur zurückgegriffen.
Ein weiterer Einsatzzweck für selbst geschriebene Software sind Crowds, also größere Ansammlungen von Menschen oder Tieren. Von “Star Wars Episode 1” über “Matrix 2” bis zur Chocolate Factory kommt für solche Szenen Software zum Einsatz, die ein digitalisiertes Schauspielermodell vervielfacht, je nach Bewegungsart variiert und schließlich jedes Duplikat steuert (siehe Abbildung 3). Viele Studios verwenden für diesen Zweck das Paket Massive [5] oder wiederum selbst geschriebene Software wie React (Cinesite) und Alice (MPC).
Bei Produktionen, die animierte und gefilmte Elemente verbinden, findet die Filmaufnahme üblicherweise vor der Animation statt. Damit am Ende alles zusammenpasst, müssen beim Drehen die Kamerabewegungen registriert (getrackt) und mit der virtuellen Kamera zur Deckung gebracht werden (Match Moving). Dafür stehen Programme wie Boujou [6] und 3D Equalizer [7] zur Verfügung, die beide unter Linux hervorragend arbeiten.

Abbildung 2: Das Modellier- und Animationspaket Maya von Alias sticht unter anderem mit seinem Partikelsystem bisher jede freie Software aus.
Lichter setzen
Um Texturen und Hintergründe (Matte Paintings) anzufertigen, ist Linux zurzeit nicht die erste Wahl. Da setzen die meisten weiterhin auf Adobe Photoshop, von dem es keinen Linux-Port gibt. Auch wenn Photoshop unter Wine läuft, viele Grafiker finden das Programm damit etwas träge. Deshalb stehen in vielen Studios dafür noch einige Windows- oder Mac-Maschinen oder die Grafik-Workstation ist für Dual-Boot von Linux und Windows eingerichtet.
Was computergenerierte Bilder betrifft, stehen Beleuchtung und Rendering ziemlich am Ende der Produktionskette. So können texturierte Objekte bei konstanter Beleuchtung an sich zwar gut aussehen, aber trotzdem nicht in die gefilmte Szene passen. Der fürs Licht zuständige Grafiker benutzt deshalb Houdini, Maya oder selbst geschriebene Tools, um die Beleuchtungssituation der ursprünglichen Aufnahme im Computer nachzustellen. Bei Studioaufnahmen wird zu diesem Zweck manchmal die Beleuchtung protokolliert, bei Außenaufnahmen ist der Grafiker aber normalerweise auf seine Augen angewiesen.
Die richtigen Lichtverhältnisse einzustellen verlangt den verwendeten Rechnern einiges ab, denn in dieser Phase enthalten die Szenen praktisch alle synthetischen Elemente. Die Anforderung, mit so vielen Daten umzugehen, schlägt sich in der Rechnerspezifikation nieder: üblicherweise zwei bis vier Prozessoren und mindestens 2 GByte RAM.
Im Cluster rendern
Der letzte und rechenintensivste Teil der Computeranimation ist das Rendering. Dabei errechnet der Computer aus den vorbereiteten Geometrien, Texturen und Lichtern die fertigen Einzelbilder in der geforderten Auflösung, zum Beispiel für Film 2048 mal 1556 Pixel. Dieser Prozess läuft normalerweise auf einer dedizierten Renderfarm ab, von einer Software gesteuert, die sich um Lastverwaltung und Prioritäten kümmert. Diese Software ist häufig selbst geschrieben, es kommt aber auch der Queue-Manager Alfred von Pixar zum Einsatz [8].
Renderfarmen waren der erste Bereich, in dem sich Linux bei Filmproduktionen durchsetzen konnte, die Workstations folgten erst später. Dabei hat es sich als Vorteil erwiesen, einen einzigen Kernel zentral zu optimieren und alle Farmrechner damit booten zu lassen.
Die Render-Maschinen sind üblicherweise doppelt so stark wie die Workstations: 4 GByte RAM und vier Prozessoren sind nicht unüblich. Einige Studios in Großbritannien setzen beim Rendering mehr als 400 solche Rechner ein. Das Rendern selbst übernimmt entweder proprietäre Software wie der Maya-Renderer, Pixars PRMan, Mental Ray [9] oder ein vom Studio selbst entwickeltes Programm, zum Beispiel bei Dreamworks [10].
Die Renderer unterscheiden sich vor allem in ihrer Geschwindigkeit und beim Realitätsgrad des Endprodukts. So haben in den letzten Jahren Global-Illumination-Renderer das Feld übernommen, die auch mehrfache Lichtreflexionen zwischen Objekten berechnen. Solche Renderer verwenden zum Beispiel Ray-Tracing- oder Radiosity-Algorithmen. Beherrscht ein Renderer Sub Surface Scattering, berechnet er solche Objekte realistischer, bei denen das Licht in der Realität auch unter die Oberfläche eindringt und sich dort bricht, zum Beispiel menschliche Haut.

Abbildung 3: Die künstlichen Oompa-Loompas in “Charlie and the Chocolate Factory” erscheinen nur allzu menschlich.
|
3D von A bis Z |
|---|
|
Digital Matte Paintings: Am Computer gezeichnete Hintergründe, in die Grafiker Kameraaufnahmen und computergenerierte Elemente montieren. Vor der Einführung von Computern malten die Künstler auf Glasplatten und ließen dabei Flächen zur Montage frei. Modelling: Konstruktion der einzelnen Elemente künstlicher Charakters oder Objekte. Rendering: Berechnung eines 2D-Bilds aus der 3D-Beschreibung und der Beleuchtung. Rigging: Ein 3D-Modell mit Reglern ausstatten, um Bewegungsabläufe zu vereinfachen, ähnlich wie die Seilmechanik einer Marionette. Shader: Kleine Programme, die Oberflächeneigenschaften von Objekten verändern. Sie ermöglichen komplex aussehende Oberflächen bei einfachen Geometrien. Sie werden entweder mit grafischen Tools wie Hypershade (Maya) oder Slim (Renderman) zusammengesetzt oder in einer C++-ähnlichen Sprache selbst geschrieben. Texturing: Das Anfertigen von Mustern, die ebenfalls zu komplexer aussehenden Oberflächen führen. Um ein überzeugendes Ergebnis zu erzielen, muss die Textur genau auf die Geometrie abgestimmt sein. |
Zusammensetzen
Am Schluss der Produktionskette steht schließlich die nahtlose Montage aller synthetischen und echten Bildelemente, das so genannte Compositing. In manchen Fällen mag das gerenderte Bild direkt zum jeweiligen Film-Frame passen. Häufig kommen aber noch mehrere künstliche Elemente hinzu, die das computergenerierte Element erst passend machen. Ein großes Problem ist dabei die korrekte Farbumwandlung zwischen dem Darstellungsbereich des Computermonitors und den Farben, die zuletzt auf der Leinwand erscheinen. Das geht nicht ohne richtiges Color Management, für das es unter Linux nur wenige fertige Lösungen gibt.
Deshalb basteln sich auch professionelle Studios dafür häufig eigene Lösungen. Dreamworks zum Beispiel konnte den Hersteller des Kolorimeters Eye-One zum Schreiben eines Linux-Treibers motivieren. Den Rest erledigten die hauseigenen Programmierer: Nun kann bei Arbeitsbeginn jeder Grafiker auf Knopfdruck seine Workstation innerhalb weniger Minuten kalibrieren und mit dem Compositing beginnen.
Die verbreitetste Applikation fürs Compositing ist Apple Shake [11], deren Linux-Port vorzüglich funktioniert (Abbildung 4). Das Programm benutzt mehrere Threads, läuft also auf Mehrprozessormaschinen besonders effizient. Compositing stellt im Übrigen an die Hardware ähnliche Anforderungen wie das beschriebene Licht-Setup.
Die Produktionsfirma Digital Domain (Titanic) hat fürs Compositing die Software Nuke geschrieben, die das Unternehmen auch vermarktet [12].

Abbildung 4: Die Compositing-Software Shake lässt den Grafiker alle künstlichen und gefilmten, in einer Knoten-Ansicht geordneten Einzelelemente zum fertigen Bild zusammensetzen.
The End
Linux hat in den meisten professionellen Animationsstudios eine führende Rolle übernommen. Dabei deckt das Betriebssystem alle Bereiche ab, vom Modelling über das Rendering bis zum Compositing. Ausschlaggebend dafür sind vor allem der Kostenfaktor und die etwas geringere Abhängigkeit von einzelnen Betriebssystem- und Softwareherstellern. Ideelles Interesse an freier Software zeigen zwar einzelne Mitarbeiter, die Studios selbst aber weniger. Ihr Beitrag zur Linux-Entwicklung beschränkt sich meist auf den Support-Vertrag mit einem großen Linux-Haus.
|
Infos |
|---|
|
[1] Silicon Graphics: [http://www.sgi.com] [2] Alias Maya: [http://www.alias.com] [3] Sidefx Houdini: [http://www.sidefx.com] [4] Nextlimit: [http://www.nextlimit.com] [5] Massive: [http://www.massivesoftware.com] [6] Boujou: [http://www.2d3.com] [7] 3D Equalizer: [http://www.3dequalizer.com] [8] Pixar Renderman-Produkte:[http://renderman.pixar.com] [9] Mental Ray: [http://www.mentalimages.com] [10] Dreamworks: [http//www.dreamworks.com] [11] Apple Shake: [http://www.apple.com/shake] [12] Digital Domain Nuke: [http://www.d2software.com/nuke.php] |
|
Der Autor |
|---|
|
Barry Kane war Rendering Technical Director bei Filmen wie “Troja”, “Alexander”, “Königreich der Himmel”, “Charlie and the Chocolate Factory” und “Harry Potter 4”. |




