3D-Modelling
Eine Zeitreise mit NMY

Sebastian Wunnicke, Art Director NMY
Autoren:
Sebastian Wunnicke, Senior 3D Artist bei NMY
Eric Eschrich, ehemaliger Head of Design bei NMY

In den letzten zehn Jahren hat sich der Workflow zur Erstellung von 3D-Assets grundlegend geändert. Früher waren Modellierung und Texturierung zwei voneinander abgegrenzte Prozesse: Zuerst wurde das 3D-Modell gebaut und optimiert, danach die UV-Map erstellt – und dann das fertige Modell texturiert. Wichtig dabei war immer der Polycount und die Auflösung der Texturen. Die zunehmende Wichtigkeit von Sculpting-Programmen wie Zbrush und damit verbundenen Low Poly- bzw. High Poly-Modellen haben die Anforderungen an Entwickler und Artists jedoch drastisch verändert – und den herkömmlichen Workflow komplett auf den Kopf gestellt.

3D-Modelling-Workflow

Früher war der 3D-Modelling-Workflow recht überschaubar und die einzelnen Arbeitsschritte klar voneinander getrennt. Wenn der Modelling-Prozess beendet und das Modell abgenommen war, musste der Artist noch eine UV-Map erstellen, die als 2D-Textur gespeichert wird und als Verbindung zwischen 3D-Modell und Textur fungiert. UV-Maps sollten gut lesbar sein, im Modell benachbarte Teile auch auf der Textur nebeneinander liegen. Außerdem war wichtig, dass alle UV-Shells gleich skaliert sind, damit es keine großen Unterschiede in der Texturauflösung gibt.

Danach startete die Texturierung in einem klassischen Bildbearbeitungsprogramm wie Photoshop. Falls nach dem Texturieren noch große Änderungen am Modell vorzunehmen waren, musste die jeweilige UV-Map angepasst und entsprechende Änderungen auf die Textur übertragen werden. Deshalb war es schon damals wichtig, das Modell frühzeitig mit Kunden oder Mitarbeitern abzustimmen, um unnötige Änderungen zu vermeiden. Bei der klassischen Methode gibt es trotzdem nur zwei größere Prozesse – Modellierung und Texturierung – sowie final das UV-Mapping.

Von High Poly und Low Poly

Der zeitgemäße High Poly- bzw. Low Poly-Workflow ist weitaus komplexer und die Arbeitsschritte sind mehr miteinander verbunden. Jeder einzelne Arbeitsschritt muss ordentlich und gewissenhaft ausgeführt werden, da Fehler unweigerlich Einfluss haben auf alle nachfolgenden Prozesse und am Ende nur noch sehr schwer zu korrigieren sind. ohne wieder ganz am Anfang des Workflows einzusteigen.

Wir starten mit dem High Poly-Modell, das wir in allen Details und noch recht losgelöst von technischen Limits in einem Sculpting-Programm erstellen oder – bei Hardsurface Objekten – in einem klassischen 3D-Modelling-Programm, wie 3D Studio Max, Maya oder Blender. Das High Poly-Modell wird abgenommen und wir können mit dem Low Poly-Modell beginnen.Dazu benutzen wir das High Poly-Modell als Referenz und bauen das Low Poly-Modell als Hülle außen herum. Hier müssen wir schon auf die Anforderungen von Realtime Engine eingehen und den Polycount im Auge halten.

Des Weiteren ist wichtig, dass die grobe Form der beiden Modelle möglichst deckungsgleich ist. Das Low Poly-Modell sollte das High Poly so wenig wie möglich durchdringen. Nur so können wir gewährleisten, dass die Textur beim Baking („Backen“ bzw. Kombinieren) ohne Artefakte oder Fehler übertragen wird.

High Polly und Low Polly
Modell von High Poly und Low Poly

… bis zum UV-Mapping

Der nächste Arbeitsschritt ist das UV-Mapping, das wir schon vom klassischen Workflow kennen. Allerdings gibt es hier einige entscheidende Unterschiede. Es ist zum Beispiel wichtig, die UVs an allen 90-Grad-Kanten zu schneiden und damit getrennte UV-Shells zu erstellen. Sonst werden beim Baking schwarze Nähte sichtbar, die über der Textur liegen. Dadurch kann die UV-Map sehr kleinteilig und unübersichtlich werden, gerade bei anorganischen Modellen mit vielen Kanten. Normalerweise würde das große Probleme mit sich bringen und wir könnten eine solche UV-Map unmöglich zum Texturieren in Photoshop benutzen. Zum Glück gibt es inzwischen moderne 3D-Texturierungstools, wie Substance Painter, die auch autogenerierte und komplett unübersichtliche UV-Maps lesen und bearbeiten können. Auch praktisch: Ist die UV-Map erst einmal erstellt, ist sie quasi fertig.

Das UV-Mapping wird dadurch sogar vereinfacht. Dank diverser Auto-UV-Tools setzen wir heute nur noch Seams an den harten Kanten und müssen uns nicht mehr um die weitere Aufteilung der UV-Shell kümmern. Dafür tritt jetzt ein anderer Prozess in den Vordergrund: das Erstellen eines Cages („Käfigs“), den wir später zum Baken brauchen. Beim Baking übertragen wir die hochauflösenden Details unserer vorher erstellten High- und Low Poly-Meshes durch Emittieren von Rays auf die performante Low Poly-Geometrie. Zum Texturieren und auch Baken setzen wir Substance Painter ein. Vorteil hier: Die Texturen werden gleich richtig benannt und (automatisch) in Substance Painter eingepflegt. Nach dem Baken können wir also direkt mit dem Texturieren fortfahren.

Das Cage-Modell legen wir wie eine schützende äußere Hülle um das High Poly-Modell. Der Cage muss dabei die exakt gleiche Topologie haben wie das Low Poly-Modell. In den meisten Fällen reicht es aus, wenn wir das Low Poly mit einem Push Modifier aufblasen. So vermeiden wir am Ende Artefakte und Fehler auf der Textur.

Wenn High Poly, Low Poly und Cage richtig aufgesetzt sind, lassen wir Substance Painter die Texturen baken. Ob alles geklappt hat, können wir direkt danach im 3D-Viewport begutachten.

UV-Mapping zur Vorbereitung in 3D
UV-Mapping zur Vorbereitung in 3D

3D-Texturing mit Substance Painter

Wie bereits erwähnt, ist Substance Painter ein 3D-Texturing Tool. Damit können wir das 3D-Modell mit verschieden Brushes direkt bearbeiten und haben eine ähnliche Ebenenhierarchie wie in Photoshop. Die besondere Stärke von Substance Painter liegt aber in prozeduralen Texturen. Beim Baken stehen uns unterschiedliche Texturen – etwa Normal, Ambient Occlusion oder Curvature Maps – zur Verfügung. Mit Hilfe dieser Maps können wir beim Texturieren Erhebungen oder Vertiefungen ausmaskieren, d.h. nur Bereiche bearbeiten, die oben, unten in einer bestimmten Himmelsrichtung oder in einem vorher definierten Winkel liegen.

Wir können z.B. alle Kanten auswählen und sie mit Kratzern hervorheben, tiefer liegende Bereiche mit Rost versehen oder Moss an einem Baum nur in einer Richtung wachsen lassen. Substance Painter liefert uns viele Ebenen mit, die wie Ebenenkompositionen funktionieren und die wir auf jedes Modell ziehen können. Es ist auch möglich, unsere selbst erstellten Ebenen in eine Smart Material-Ebenengruppe umzuwandeln und mit anderen Artists zu teilen. Nach dem Texturieren lässt sich unser Modell auch beleuchten und wir können Lichter in die Textur baken. Gerade bei mobilen Anwendungen mit wenigen oder gar keinen Lichtern ist diese Vorgehensweise unerlässlich.

Kurzum: Substance Painter ist sehr komplex, bietet dem Anwender aber auch sehr viele Möglichkeiten. Mit etwas Übung ist es möglich, Texturen in einer Qualität zu erstellen, die wir in Photoshop kaum erreichen könnten.

Einsatz von Substance Painter
Texturieren & Baken: Einsatz von Substance Painter

Arbeiten in Zbrush

In Verbindung mit dem Substance Painter erzielt Zbrush das beste Ergebnis. Das Besondere an Zbrush ist die hohe Polygondichte der Modelle: Bei herkömmlichen 3D-Programmen oder Realtime Engines müssen wir als Artist stets auf den Polycount achten, um die Performance nicht zu gefährden. In Zbrush können wir den Polycount mit Leichtigkeit auf mehrere Millionen bringen – pro Modell. Das heißt in der Praxis: Wir können problemlos einen Charakter bauen, der aus 50 einzelnen Modellen besteht – und jedes dieser Modelle hat einen Polycount von 2 Millionen, ohne nennenswerten Einfluss auf die Performance.

Diese riesige Anzahl an Vertices können wir natürlich nicht mehr einzeln anfassen oder hin- und herbewegen, wie wir das z.B. in 3D Studio Max machen würden. Stattdessen nutzen wir Pinsel und Werkzeuge, die klassischen Bildhauerwerkzeugen nachempfunden sind.

Das Arbeiten in Zbrush fühlt sich sehr direkt und intuitiv an: Wir arbeiten mit einer Art digitalen Modelliermasse, können detailliert arbeiten und müssen uns während des Sculpting bzw. High Poly-Modellings kaum Gedanken machen über Performance oder technische Restriktionen. Erst wenn das High Poly-Modell komplett fertig und vom Kunden oder Art Director abgenommen ist, erstellen wir ein Low Poly-Modell und übertragen die Details auf eine Textur. Diese veränderte Vorgehensweise hatte großen Einfluss auf unsere Arbeit als 3D Artists, denn es ergaben sich plötzlich viele neue Möglichkeiten und Herausforderungen.

Sogar die Ausbildung veränderte sich dadurch: Künstlerische Disziplinen wie Zeichnen, Bildhauerei und händisches Modellieren wurden plötzlich wieder sehr wichtig und in die Lehrpläne vieler Ausbildungsstätten, Universitäten und Kunstschulen aufgenommen. Trotzdem ist technisches Verständnis nach wie vor essentiell – und ohne ein sauberes Low Poly-Mesh kommen wir am Ende zu keinem guten Ergebnis.

Zbrush für das Finish
Zbrush für das Finish

Der High- bzw. Low Poly-Workflow ist in den letzten Jahren immer wichtiger und in modernen 3D-Produktionen unerlässlich geworden. Obwohl er heute viel komplexer ist und damit auch fehleranfälliger als klassische Methoden, überwiegen die Vorteile am Ende deutlich. Die von einem High Poly erstellten Texturen sehen auch mit wenig Aufwand beim Texturieren extrem hochwertig aus und lassen sich gut optimieren. Die einzelnen Arbeitsschritte sind klar voneinander getrennt und können problemlos auf unterschiedliche Artists oder Outsourcer aufgeteilt werden.

Möchtest du mehr über 3D-Modelling erfahren?