Den Oldwood Baum zum Leben erwecken

Die meisten Spieler verstehen konzeptionell, was es braucht, um ein Videospiel auf einer bestimmten Ebene zu erstellen. Selbst wenn sie nicht genau wissen, wie oder warum, wissen sie, dass es eine Menge Arbeit gibt, die damit verbunden ist, Einsen und Nullen in eine lebendige Welt zu verwandeln. Diesen Monat öffnen wir den Umschlag ein wenig mehr, um euch ein besseres Verständnis dafür zu vermitteln, wie weit wir gehen, um eine Umgebung zu schaffen, die sich organisch anfühlt und euch dazu einlädt, ihre ungeahnten Tiefen zu erkunden, während wir uns mit dem neu ernannten Senior Environment Artist Jimmy Lane zusammensetzen, der den Prozess der Erstellung der Oldwood Baums in Faerthale detailliert beschreibt.


Jimmy: Bevor auch nur eine einzige Skizze gezeichnet wird, beginnt der Welterschaffungsprozess mit der Überlieferung des Spiels. Die Vorgabe für Oldwood lautete: "In einer Welt sehr alter Dinge sind die Bäume von Oldwood wirklich uralt. Aber sie sind nicht mehr in so großer Zahl wie früher, und dieser breite Streifen ist alles, was übrig blieb, als die Elfen Faerthale gründeten. Der Oldwood-Wuchs ist unermesslich hoch, außergewöhnlich breit und in angemessenem Abstand voneinander angeordnet. "


Um diese Herausforderung zu meistern, mussten wir einen Baum dieser Größe anders bauen als einen normalen Baum. Andere Bäume in Pantheon haben die gleiche Texeldichte (Detaildichte), erfordern aber nicht die Skulptur, die ein 5+ Etagenbaum haben würde.


1. Erstes Design des Konzepts

Mehrere Optionen erstellt von Lead Concept Artist, Jared Pullen, unter der Leitung von Lead Writer JN Gerhart.


1-sm.jpg


Letztendlich wurde der untenstehende Baum wegen seiner interessanten Wurzelstruktur, seiner gewundenen Natur und der allgemeinen Breite seines Daches ausgewählt.


2-sm.jpg

2. Oldwood Baum Greybox

Erste Iteration

Ich habe einen schnellen Bildblock mit zspheres in zbrush gemacht und es im Spiel geworfen. Sofort war klar, dass wir NavMesh und Kollisionsprobleme haben würden. Die Wurzelstrukturen waren auf der Unterseite zu klein, so dass wir das Design an die Spiel- und Leistungsanforderungen anpassen mussten.


3-sm.jpg


Zweite Iteration

Diese Dinger sind riesig! Also war unsere nächste Hürde, die wir nehmen mussten, die Schaffung von Details auf Spielerebene, unten an der Basis, ohne dass es zu Problemen kam.


5-sm.jpg


Dritte Iteration

Das fing an, dorthin zu gelangen. Die dritte Iteration ermöglichte fünf einzigartige Wurzelverbindungen zum Boden. Zusätzlich wanderte die Wurzelstruktur nach außen und fuhr dann zurück zu einem Mittelpunkt unter der Erde, so dass sie auf Felsen oder Felsvorsprüngen stehen konnte.


6-sm.jpg


Obwohl wir den Asset bereits in zwei Hauptobjekte aufgeteilt hatten, stellten wir fest, dass wir den Asset in mehrere Teile aufteilen mussten, um Qualität und Leistung auf einem Niveau zu halten. Du kannst nicht einfach Unity (und deine Maschine, nachdem Unity es bekommen hat) bitten, dieses einzelne zusammenhängende fünfstöckige Objekt zu laden. Also haben wir einen Plan erstellt, um die Objekte zu trennen:

  • Wurzelbasis - die gedreht und skaliert werden kann
  • drehbarer Stamm
  • Zweig-/Frond-Struktur
  • Plugin für Wurzelgrundlagen nach Bedarf
  • Ranken nach Bedarf


7-sm.jpg


Ein Plugin-Rootkit nahm Gestalt an, das den Baum ergänzt und es ihm ermöglicht, sich über eine Fläche zu erstrecken, so dass Helden Baumbereiche (z.B. in einem Lager) szenenartig platziert werden können und sich für Spieler abheben. Das Root-Kit endete als ein eigener Satz von Teilen, die auf der ganzen Welt verwendet werden sollen, so dass wir jetzt nicht näher darauf eingehen werden.


8-sm.jpg


Zu diesem Zeitpunkt wurde das Benchmark-Image, das wir im letzten Monat im Newsletter veröffentlicht haben, fertiggestellt. Es half uns, uns über die beabsichtigte wahre Natur dieser Bäume zu informieren:

  • Wir brauchten eine große Biegung im Stamm mit einer möglichen Stammalternative, die den gleichen primären Vorteil nutzte, aber auch gebogen wurde, um eine weniger ausgeprägte Form zu schaffen.
  • Die Zweige mussten immer weniger und größer werden, während gleichzeitig weiterhin eine große Vordachabdeckung zur Verfügung stand. Am Ende haben wir etwa drei verschiedene Zweigtypen entwickelt, auf die ich im folgenden Abschnitt eingehen werde.

Mit der Greybox und dem genehmigten Rendering gingen wir weiter zur hochauflösenden Modellierungsphase, die zufällig eines meiner Lieblingsthemen ist.


Modellierung des Stammes

Mir wurde immer gesagt, dass die Referenz König ist. Jedes Mal, wenn wir etwas erschaffen, haben wir immer eine Referenz zum Vergleich. Die Wahl, dem Modell Äste hinzuzufügen, basierte auf einigen älteren Zypern und Olivenbäumen, die wir gefunden hatten.


8.5-sm.jpg


Detaillierung der Basis

Es war eigentlich eine überraschende Aufgabe, sich mit dem Inneren dieser zu befassen. Da der Spieler hineingehen kann, musste auch der Innenraum gestaltet werden. Auf Vorschlag von Bruno haben wir es so gestaltet, dass es von selbst zur maximalen Wiederverwendung platziert werden kann.


9-sm.jpg


Endgültiges Baummodell

Der Stamm und die Basis wurden separat behandelt, so dass wir sie drehen und einen anders aussehenden Baum bekommen konnten. Von hier aus gehen die Bäume weiter zur Retopologie (Low Res Mesh Creation), UVs, Texturierung und Spieleintegration, wie es bei jedem anderen Asset der Fall ist.


10-sm.jpg


Wenden wir uns also einen Moment lang den Ästen und Blättern zu, die den Baum schmücken.


3. Fronds/Cards Erstellungs-Pipeline

Das Projekt Faerthale hat es uns ermöglicht, Themen anzugehen, die im Spiel noch nie zuvor behandelt wurden. Ich möchte, dass ihr euch eine Sekunde Zeit nehmt und über all die verschiedenen Bäume in all den verschiedenen Spielen nachdenkt, die ihr jemals gespielt habt. Bis jetzt hatte Pantheon noch nie einen echten fertiggestellten Baum. Alles, was ihr in Bezug auf Bäume in AVP oder Thronefast gesehen habt, waren Platzhalter aus dem Temp Asset Store. Die Zeit, die ihr uns für die Entwicklung von Pipelines gegeben habt, hat es uns ermöglicht, etwas zu schaffen, das die zerstörungsfreie Erstellung, das effiziente Rendering, iterative Ergebnisse und die automatisierte, arbeitsintensive Arbeit erleichtert.


Bevor wir eintauchen, müssen wir darauf hinweisen, dass Spiele etwas anders an Bäume herangehen als ein Film. In einem Film könnt ihr jedes einzelne Blatt in maximaler Qualität rendern, und es wird nur Zeit für das endgültige Rendern einbringen, aber nicht die Art und Weise beeinträchtigen, wie der Film angesehen wird. Für ein Spiel müssen wir viele Blätter auf ein einzelnes Zweignetz legen und dieses gesamte Netzwerk dann als ein einziges Bild darstellen. Wir nennen diese Zweignetze "fronds" oder "cards". Ziel ist es, das Beste aus so wenig wie möglich herauszuholen, was der Benutzer in Echtzeit rendern muss.


Hier ist der Überblick über unseren Erstellungsprozess und die damit verbundenen Programme:

  • Hochauflösendes Blattmodell - Maya & Zbrush
  • Niedrigauflösendes Blattmodell & UV - Maya
  • Texturierung der Blätter - Substance Painter
  • Cardbake - Substance Designer
  • Packet für Speedtree - Substance Designer
  • Frond Erstellung & Batch Bake - Speedtree
  • Eingabe von Speedtree Batch Bake & Repacking - Substance Designer
  • Zusammenfassung mehrerer Fronds & Export der endgültigen Textur - Substance Designer
  • Kartennetz herstellen - Maya
  • Abschlusstest - Unity

Obwohl es wie viele Schritte aussehen mag, haben wir die Entwicklung in die Pipeline aufgenommen, um die Routinearbeiten zu automatisieren. Aufgrund unserer Pipeline kann die Zeit, die wir aufwenden, auf die eigentliche kreative Aufgabe ausgerichtet werden, die Konzepte von 2D- auf 3D-Spieltauglichkeit zu bringen. Der Kern dieses Prozesses ist nicht-destruktiv, was bedeutet, dass wir dein einziges tolles Blatt wechseln, einen Rebake machen und es innerhalb von etwa zwei Minuten automatisch in alle Zweige und im Spiel füllen können.


Das bedeutet auch, dass ihr das Blatt, mit dem es begonnen hat, vollständig ersetzen könnt und einen ganz anderen Look bekommt! Also lasst uns in die Tiefe gehen:


1. Hochauflösendes Blattmodell - Maya & Zbrush


11-sm.jpg

Jerry Kulkis, unser Umweltkünstler, schuf die Voraussetzungen für das, was ihr hier in Schritt eins, zwei und drei seht. Die primären Dinge, auf die wir uns in diesem Stadium konzentrieren müssen, sind Silhouette und Krümmung. Um einen guten Bake-Vorgang zu erreichen, braucht es Tiefe/Krümmung, damit wir Informationen darüber malen können.


2. Niedrigauflösendes Blattmodell & UV - Maya

Jetzt müssen wir ein Netz mit geringerer Auflösung aus dem Modell machen, es UVen und exportieren. Dieser Schritt ist eigentlich nur ein Absprungbrett. Da das Netz es nie ins Spiel schafft, sondern nur ausgebacken wird, kann die Auflösung des Netzes und seiner UVs viel weniger optimiert werden als sonst. Zbrush auto Zremesher/Dynamesh für die Netzstruktur und eine schnelle Planarprojektion machen die Rechenleistung ihrer Maschine zum einzigen Zeitbegrenzer hier.


3. Texturierung der Blätter - Substance Painter

Substance Painter ist unser Werkzeug der Wahl für die Texturierung und bewährt sich jeden Tag, wenn wir es auf Herz und Nieren prüfen. Eine der Methoden, die wir bei der Texturierung zu nutzen versuchen, ist das Stapeln von Masken, so dass wir jederzeit zurückgehen und Änderungen vornehmen können. Einer der Hauptvorteile bei der Verwendung dieses Setups ist, dass wir uns dem, wie es im Spiel aussehen wird, ziemlich nahe kommen, während wir zeichnen. Wenn es also falsch aussieht, können wir es frühzeitig wissen und ändern.


13-sm.jpg


4. Cardbake - Substance Designer

Sobald wir unsere Painter-Karten exportiert haben, müssen wir unsere hochauflösende Skulptur sowie die Texturen auf etwas Brauchbareres brennen. Ein Bake Plane wird schnell in Maya erstellt, basierend auf der Größe des Blattes, dann gehen wir zu Substance Designer.


14-sm.jpg


15-sm.jpg


Wir haben eigentlich ein Baking-Preset, das alle Namen und Baker-Typen bereits konfiguriert hat. Alles, was wir also tun müssen, ist, die exportierten Bilder von Painter, der hochauflösenden Skulptur aus Zbrush, zu finden und dann mit dem Baking zu beginnen!


5. Designer Pack für Speedtree

Sobald der Baking-Vorgang abgeschlossen ist (es ist sehr schnell), müssen wir all diese Texturen in etwas packen, was Speedtree möchte. Wir haben ein Designer-Diagramm erstellt, bei dem wir nur die Bildeingaben ändern müssen, und es wird die gesamte Verpackungsarbeit für uns übernehmen!


16-sm.jpg


6. Speedtree frond Erstellung & Batch bake

Bevor wir direkt zu Speedtree gehen, müssen wir ein Netz mit niedrigerer Auflösung erstellen, das wir als Blattkarte verwenden können. Diese Karte ist das eigentliche Mesh-Asset, mit geeigneten UVs unter Verwendung der gebackenen und gepackten Karten aus Teil 5, die um den Ast in Speedtree platziert sind.


17-sm.jpg


Speedtree macht unsere Arbeit mit der gebotenen Flexibilität einfach. Mit der Version 8.4 sind wir in der Lage, nicht nur alle Fronds zu erstellen, sondern auch deren Ausgabe zu erstellen. Die einzigen Probleme, die wir haben, sind, dass es nicht so viele Custom Maps anbietet, wie wir es gerne hätten, und dass es keine A-Kanal-Packung gibt. In einer perfekten Welt würden wir weniger Bilder an Speedtree ausgeben, so dass es weniger zu beachten gibt.


7. Designereingabe von Speedtree Batch Bakes

Hier nehmen wir ein weiteres bereits erstelltes Diagramm, verbinden unsere neu exportierten Bilder aus Speedtree und gehen weiter.


18-sm.jpg


8. Zusammenfassung mehrerer Fronds & Export der endgültigen Textur - Substance Designer

Um uns die beste Leistung zu bieten, platzieren wir mehrere Fronds auf einem Bild. Dies ermöglicht nicht nur Effizienz, sondern auch Vielfalt. Wir haben den Material-Transformations-Knoten, der mit dem Designer ausgeliefert wird, genommen und so modifiziert, dass wir auch unsere Packmaps mitgeben können.


19-sm.jpg


Von dort aus platzieren wir einfach so viele Gegenstände, wie wir für die Szene benötigen, auf engstem Raum wie möglich. Diese Diagrammstruktur ist wiederverwendbar, aber typischerweise ist die Platzierung/Lage der Fronds komplett manuell.



9. Kartennetz herstellen - Maya

Der nächste Schritt ist, den Atlas zu nehmen und mit der Erstellung des eigentlichen Netzes zu beginnen, das entlang eines Zweiges in der Engine erstellt werden soll. Effizienz ist König, und oft muss man zurückgehen und auf der Polygonzahl iterieren, um den Mittelweg von Leistung und Qualität zu erreichen.


20-sm.jpg


10. Abschlusstest in Unity

Sobald die Textur in der Engine genehmigt ist, würden wir normalerweise die Fronds auf natürliche Weise entlang der Äste eines Baumes in Speedtree streuen. Für den Oldwood-Baum haben wir jedoch eine Reihe von Mega-Zweigen geschaffen, die typische Bäume in den Schatten stellen. Diese Megazweige werden dann standardmäßig an bestimmten Stellen entlang des Baumes platziert und können verschoben werden, um den Anforderungen an Beleuchtung und Design optimal gerecht zu werden.


21-sm.jpg


22-sm.jpg


23-sm.jpg