Cinematics mit Ingame Assets
comment
Feature

Cinematics mit Ingame Assets

Das Rollenspiel Divinity 2 glänzt mit vielen tollen Zwischensequenzen. Für deren Erstellung haben die Grafikspezialisten von Virgin Lands größtenteils Assets aus dem Spiel verwendet. Hier erklären sie, wie das funktioniert.

Making Games

@ Facebook

Making Games

@ Twitter

Dtp Entertainment kam mit der Anfrage auf uns zu, Cinematics zum Rollenspiel Divinity 2 zu erstellen. Die Aufgabe bestand darin, bereits vorhandene Levelgeometrien und 3D-Echtzeitcharaktere aus dem Spiel für den Einsatz innerhalb von Cinematics aufzuarbeiten und dort einzusetzen. Die Echtzeitdaten wurden beim Entwickler Larian Studios in Belgien erstellt und uns zur weiteren Bearbeitung zur Verfügung gestellt. Insgesamt wurden drei Cinematics mit Lauflängen von jeweils ca. einer Minute erstellt. Die komplette Umsetzung erfolgte innerhalb von zwei Monaten.
Die Methode, vorhandene Geometrien zu verwenden, ist im Vergleich zu einer kompletten Neuerstellung der 3D-Materialien sowohl zeit- als auch kostensparend. Mit einer zielgerichteten Aufbereitung und Nachbearbeitung lassen sich überzeugende und hochwertige Ergebnisse erzielen. Die prinzipbedingt vorhandenen technischen und folglich auch optischen Einschränkungen von Echtzeitdaten werden somit umgangen.
Das Verfahren, vorhandene Echtzeitdaten zu übernehmen, technisch aufzuwerten und für Cinematics einzusetzen, hatten wir bereits in den letzten Jahren bei diversen Projekten angewandt – darunter die Cinematics für Anno 1701, der Messe-Trailer zu Sacred 2 oder die Zwischenfilme von Siedler 6, um nur ein paar zu nennen.

Mithilfe von ZBrush haben wir die 3D-Köpfe aus dem Spiel mit zusätzlichen Details versehen.

3D-Charaktere
Zunächst wurden die von Larian Studios gelieferten 3D-Lowpoly-Charaktere in 3D-StudioMax eingelesen und auf einen einheitlichen Maßstab für Cinematics-Zwecke eingestellt. Die Geometrie der Charaktere wurde in 3D-StudioMax tesseliert, das heißt über das Meshsmooth-Tool verfeinert. Da das Tool mit vereinheitlichten Rundungen arbeitet, haben wir diese anschließend in Smoothing-Groups unterteilt und nach den entsprechenden Bedürfnissen unterschiedlich gewichtet. Somit konnten wir die einzelnen Bereiche der kompletten Charakterkontur spitzer oder weicher (flacher) ausarbeiten.
Bezüglich der Texturen haben wir ebenfalls zunächst das vorhandene Material aus dem Spiel zur weiteren Verarbeitung aufbereitet. Uns lagen neben den Diffuse-Texturen Normal- und Specularmaps vor. Um eine detailreiche Darstellung zu ermöglichen, haben wir die Diffuse-Texturen in einer höheren Auflösung gespeichert und zusätzlich im Detail weiter ausgearbeitet.
Anhand der Diffusetexturen haben wir Maskierungen für die unterschiedlichen Materialien vorgenommen. Im Wesentlichen wurden dabei Oberflächen für menschliche Charaktere inklusive Kleidung erarbeitet: Haut, Stoff, Leder und Metall. Für die einzelnen Materialien wurden anschließend Shader ausgearbeitet. Somit konnten wir beim Rendering ermöglichen, dass sich materialspezifische Eigenschaften wie Glanz, Transparenzen oder Transluzenzen auch in der Renderoptik glaubwürdig wiedergegeben werden.
Da die Divinity-2-Cinematics Gesichter oftmals in Closeup-Einstellungen zeigen, haben wir die tesselierten Lowpoly-Geometrien in ZBrush gesondert nachbearbeitet. Sie wurden verfeinert, und wir haben den Gesichtern weitere Details hinzugefügt. Auch die Texturen wurden nochmals verfeinert und schließlich mit hochauflösenden Überarbeitungen versehen.

Die einzelnen Bearbeitungsschritte für die 3D-Echtzeitcharaktere: Bild 1 zeigt jeweils die LowRes-Figur aus dem Spiel in Wireframe-Optik, Bild 2 inklusive der Texturen. Bei Bild 3 sehen wir die Figur tesseliert, inklusive zugewiesener Smoothing Groups. Bild 4 zeigt schließlich die hochauflösende Figur inklusive Shader-Einstellungen für das Rendering.

Die einzelnen Bearbeitungsschritte für die 3D-Echtzeitcharaktere: Bild 1 zeigt jeweils die LowRes-Figur aus dem Spiel in Wireframe-Optik, Bild 2 inklusive der Texturen. Bei Bild 3 sehen wir die Figur tesseliert, inklusive zugewiesener Smoothing Groups. Bild 4 zeigt schließlich die hochauflösende Figur inklusive Shader-Einstellungen für das Rendering.

3D-Levelgeometrien
Aufbereiten: Wie bei den Charakterdaten wurden auch hierfür vorhandene Lowpoly-Geometrien aus dem Spiel übernommen und auf einen Cinematics-Maßstab vereinheitlicht.
Hintergrundelemente, die innerhalb der Cutscenes in Closeup-Einstellungen gezeigt wurden, haben wir durch zusätzliche Modellierungsdetails verfeinert. Anschließend wurden hochauflösende Texturen ausgearbeitet und den Objekten zugewiesen. Wie bei den Charakteren haben wir schlussendlich auch für die Hintergrundobjekte Shader ausgearbeitet und entsprechend der Materialien für das Rendering zugewiesen.
3D-Projektionen: Um eine effektive und flexible Produktion zu ermöglichen, arbeiteten wir mit 3D-Projektionen für die Hintergründe. Entsprechend haben wir die Hintergründe zum Teil über 3D-Modellierung erzeugt, zum Teil per 2D-Mattepaintings erarbeitet. Die Vorteile dieser Aufteilung sind eine flexible und zielgerichtete 2D-Nachbearbeitungsmöglichkeit, das Vermeiden von 3D-Szenenkomplexität und somit auch Einsparungen bei der Berechnungszeit der einzelnen Bilder.
Unter Zuhilfenahme von Lowpoly-Geometrien haben wir Kameraeinstellungen festgelegt, die als Projektionsperspektiven funktionierten. Diese wurden als Greyshading probegerendert und auf Funktionalität hinsichtlich ihrer Animationstauglichkeit überprüft. Weitere Mattepainting-Ebenen (zum Beispiel für Wolken) wurden als Billboards zur weiteren Projektionen angelegt und animiert.

3D-Projektion: Neben der eigentlichen 3D-Geometrie im Vordergrund der beiden Bilder sind im oberen Bild zusätzlich auch Rechtecke im Hintergrund zu sehen. Auf diese haben wir dann Matte-Painting-Elemente wie Plattformen oder Wolken projiziert.

3D-Projektion: Neben der eigentlichen 3D-Geometrie im Vordergrund der beiden Bilder sind im oberen Bild zusätzlich auch Rechtecke im Hintergrund zu sehen. Auf diese haben wir dann Matte-Painting-Elemente wie Plattformen oder Wolken projiziert.


Animationen
Animations-Setups für Charaktere: Wie bereits oben erwähnt haben wir die 3D-Spielfiguren zur Verfeinerung der Optik bereits tesseliert. Diese Unterteilung der Geometrie ermöglichte es uns, das Skinning der Charaktere entsprechend detailreich auszugestalten. Teilweise konnten wir dabei auf die vorhandenen Ingame-Skinnings aufbauen und die Setups weiter ausarbeiten. Im Bereich der Gesichter kamen Morphtargets zum Einsatz. Für jeden Charakter wurde im Vorfeld der Animationsarbeiten ein komplettes Set an Gesichtsausdrücken erstellt und entsprechend zugewiesen.
Körperanimationen: Menschliche Körperanimationen wurden größtenteils über Motioncapturing-Daten animiert, Hände und Gesichter anschließend per Keyframe-Animation manuell erstellt. Auch Monstercharaktere und Drachenhaben wir per Hand und keyframe-basierend animiert.

Anhand von Grey Shadings (Bild links) wurden die Projektionen inklusive Kamerabewegungen überprüft. Im rechten Bild ist das finale Ergebnis zu sehen.Anhand von Grey Shadings (Bild links) wurden die Projektionen inklusive Kamerabewegungen überprüft. Im rechten Bild ist das finale Ergebnis zu sehen.

Einige Animationen, die für Ingame-Zwecke erstellt wurden, konnten wir direkt in den Cinematics weiter verwerten. Da diese in der Regel im Loop funktionieren, war es beispielsweise bei einer Massenszene möglich, diese direkt in ein Crowd-System einzubinden.
Nach Abschluss der Animationsarbeiten haben wir für alle Charaktere sogenannte Point-Caches gespeichert. Diese beinhalten Informationen hinsichtlich der Positionsveränderung der einzelnen Vertices der Charaktere, und zwar für jedes Frame einer Animation.
Gerade bei den Massenanimationen ist das Generieren von Point-Caches von entscheidendem Vorteil, da so das große Speicheraufkommen nicht innerhalb von 3D-StudioMax verwaltet werden muss, sondern auf einen Server ausgelagert werden kann.

Um eine zielgerichtete Umsetzung der Bildatmosphäre zu gewährleisten, haben wir im Vorfeld Mood Paintings (oberes Bild) erstellt. Diese verdeutlichen die Licht- und Farbstimmung jeder Szene und wurden mit dem Kunden vor der 3D-Umsetzung abgestimmt. Das Bild unten zeigt die final gerenderte Szene.


Effekte, Rendering und Post Production:
Für die Darstellung der einzelnen Effekte verwendeten wir unterschiedliche Zusatztools: Animierte Wolken wurden mit dem Plugin Afterburn umgesetzt. Bei den Raucheffekten kam FumeFX zum Einsatz, Partikeleffekte wie zum Beispiel Funken wurden mit dem 3D-StudioMax-internen Particle-Flow berechnet.
Jedes Frame haben wir in einzelne Layer unterteilt. Grundsätzlich wurden dabei Hintergrund, Charaktere und Effekte getrennt voneinander berechnet:. Zur flexiblen Bildgestaltung haben wir mit dem OpenEXR-Format (32 Bit) gearbeitet. Das Format bietet den Vorteil, dass die Belichtungsstärke nachträglich angepasst werden kann, ohne dabei Details zu verlieren. Außerdem lassen sich in das Format neben den Farb- und Alphainformationen auch Daten für Bildtiefe und Bewegungsinformation einbinden.

Grundlage für die Cinematics-Umsetzung waren vom Entwickler gelieferte Skripte für die einzelnen Filme. Vor Beginn der eigentlichen Animationsarbeiten haben wir dann in Abstimmung mit dtp entertainment und Larian Studios ein Storyboad erstellt, das die einzelnen Schnitte und den Gesamtablauf verdeutlicht.

Die einzeln abgemischten Ebenen wurden anschließend innerhalb von After Effects in einer Gesamtkomposition angelegt. Dort haben wir mittels zuvor berechneter Bildmasken letzte Effekteinstellungen wie Tiefenunschärfe und Motion Blur eingestellt. Die kompletten Cinematics wurden schließlich zur weiteren Verarbeitung unkomprimiert dem Kunden übergeben.

Die Cutscenes von Divinity 2 bestehen aus mehreren Ebenen: Bild 1 zeigt die Hintergrundebene, auf Bild 2 ist die Vordergrundgeometrie zu sehen. Bild 3 zeigt die Charaktere, Bild 4 schließlich die finale Zwischensequenz mit der Komposition aller Ebenen.

Die Berechnungen der Frames erfolgte über den Vray-Renderer in einer Auflösung von 1280 mal 720 Bildpunkten. Pro Frame lag die Berechnungszeit bei durchschnittlich zwei Stunden, deshalb haben wir für die Berechnung aller Einzelbilder ein Rechnernetzwerk mit 60 Computern eingesetzt.
Tobias Weingärtner, Stefan Spatz

Tobias Weingärtner
ist Geschäftsführer bei der Virgin Lands Animated Pictures GmbH.

Tobias war vor 13 Jahren Mitbegründer von Virgin Lands und ist seitdem als Geschäftsführer tätig. Sein Schwerpunkt liegt neben der Betreuung von technischen Visualisierungen
(www.vl-tv.de) auf dem neuen Bereich Filmanimation. Hierfür erarbeitet Virgin Lands derzeit Hintergründe für eine Fernsehserie und befindet sich in der Startphase einer größeren Kinoproduktion.

Stefan Spatz
ist Lead Artist bei der Virgin Lands Animated Pictures GmbH.

Stefan arbeitet seit zehn Jahren bei Virgin Lands und ist federführend verantwortlich für technische Lösungen bei Games-Projekten. Seit zwei Jahren arbeitet er fokussiert für Projekte aus dem Film- und Fernsehbereich.