UDK TTW Making of

[UDK] The Thick Wood Making of
Ich dachte mir, ich erstelle ein kleines Making of zu meinem letzten Waldprojekt für das UDK. :)

Landscape erstellen:

Da der Wald im Vordergrund steht und nicht die Landschaftsform, reicht dafür ein einfaches Landscape Mesh aus. Die grobe Form dafür habe ich mir in Mudbox erstellt.

Nachträglich das Mesh mithilfe von World Machine verfeinert und zum Schluss noch mal in Mudbox leicht überbearbeitet.

Ein Tutorial für World Machine gibt es bei Polycount von choco

 Die Heightmaps habe ich aus Mudbox gebakte. Alle anderen Maps aus World Machine. Die nun erstellten Maps habe ich in Photoshop angepasst, gedreht und passend nachbearbeitet. Aus allen Maps zusammen Anschließend die Diffuse Map erstellt.

Die Maps für  das Landscape Mesh haben eine Größe von 1009x1009px. Die Maps für das Landscape Material jeweils eine 1024²px

Im UDK hab ich mir ein Landscape mit 1009x1009 erstellt und die Heightmap sowie die Alphamaps mit der Information für die Layer importiert und nach dem erstellen noch die Höhe des Landscape Meshes von 256 auf 92 runterskaliert.

Landscape Material:

Nach Erfolgreichen Landscape Import, brauche ich noch die Texturen. Die benötigten Alpha Maps hab ich zu einer RGBA Textur zusammengestellt und anschließend alle Texturen importiert.

Das Material beginne ich mit einer Materialfunction wo ich die Landscape Diffuse Textur mit kachelbaren Texturen kombiniere (diese enthalte alle detail Texturen). So sieht man aus weiter Entfernung die Landscape Diffuse Textur und aus der Nähe die gekachelten Texturen.

Für mehr Variation hab ich mir noch eine zweite Materialfunction erstellt. Diese Enthält 4 weitere Texturen inkl. Details. Auch diese werden wieder mit der Landscape Diffuse Textur Multipliziert.

Nun erstelle ich das Landscape Material. Als erstes füge ich die 2 Materialfunctions ein und die RGBA Textur. Diese Splitte ich in die 4 Alpha Texturen auf. Auch hier ist es Wichtig, alle Alphas mit -1009 zu skalieren damit sie sich perfekt an das Landscape Mesh anpassen.

Als nächstes Füge ich alle Komponenten zusammen.

Hier der komplette Mattree, zum sauberen anpassen, kann man sich noch ein Instance Material erstellen und darüber in Echtzeit die Werte anpassen:

Um später Wege, Waldboden usw. selbst noch auf zumalen hab ich ein paar Texturen dem Layer Blend hinzugefügt (diesen sollte man aber intelligente Namen als Paint_Color123 geben :P ).

Das fertige Landscape sieht nun so im UDK aus:

Fernansicht

Nahansicht

Erstellen von Pflanzen:

Die ganze Welt sieht momentan noch leer aus, dass ändert sich jetzt, dafür nutze ich StaticMeshes. Das UDK bietet zwar die Speedtree Technologie, allerdings ist das eine abgespeckte 5.0.2 Version und bietet mir für das Projekt nicht alle benötigten Fähigkeiten. Z.B das benutzen des UDK Foliage Mode, Vertex Color Animation und bestimmte Anzahlen von MatIDs. Hinzu kommt, das durch die Boneanimation die Masse an gebrauchten Pflanzen im UDK zuviel Leistung für späteres flüssiges Spielen benötigen würde.

Als erstes suche ich mir verschiedene Pflanzen Texturen, bzw. gehe mit der Kamera selbst in den Wald. Die gesammelten Texturen stelle ich anschließend in Photoshop frei. Aus einzelnen Ästen und Blättern füge ich nach und nach kleine Sträucher von Blättern zusammen daraus wiederum erstelle ich verschiedene Variationen. Hier 2 Beispiele:

Nun baue ich mir aus den Texturen: Bäume, Sträucher, kleine Pflanzen, Farne usw zusammen. Dazu erstelle ich in 3dsmax eine Ebene, lege die Textur drauf und schneide die Blätter nacheinander aus.

Diese kopiere ich ein paar mal und ordne sie zueinander neu an, sodass die Blätter Volumen bekommen. Wichtig hierbei ist, das die enden der Äste aus der sicht des späteren Spielers nicht mehr sichtbar sind.

Aus einfachen Zylindern erstelle ich den Stamm und die Äste. Alle nichtsichtbaren stelle werden entfernt und nach obenhin optimiert. Anschließen klebe ich die erstellten Blätter an den Baum (damit es einfacher geht hab ich stellenweise ein Placement Script verwendet).

Finaler Baum im UDK

Alle Bäume haben 1-3 Level of Detail Meshes inkl. Billoards.
Mehr Content Bilder gibt es hier.


UDK Foliage Mode:

Mit dem Foliage Mode hab ich die Welt mit Pflanzen bemalt. Der Foliage Mode hat allerdings sehr große Probleme mit vielen Pflanzen und wird mit der Zeit sehr träge besonders beim Löschen von Objekten. Ebenen und Profile gibt es zur Zeit im Foliage Mode nicht.

Daher habe ich eine Kopie des Level mit dem Landscape Mesh mehrfach unterteilt, diese als einzelne Levels gespeichert und so mit die volle Geschwindigkeit für dem Foliage Mode. (Die Landscape Meshes werden in der finalen Version wieder gelöscht) (funktioniert nicht mit der UDK-2011-12 Version).


Tutorial Links:

Damit sich die Pflanzen später auch alle Bewegen habe ich ihnen VertexColors vergeben oder sie direkt über das Material animiert. Den Mattree dafür gibt es in meinem UDK Grass Tutorial
Worldposition Offset

Das Gras und auch einige andere Pflanzen nutzen eine Worldposition Textur. Hier ein Tutorial dazu.

Die Steine habe ich nach Sascha Henrichs Procedural Stone Tutorial erstellt.

Lighting / Environment / Post Processing:

Um den finalen Look zu finden habe ich viele Tests gemacht. Hier meine finalen Scene Settings:

Optimierung und Leistung:

Zum Schluss noch ein paar Zahlen zur Optimierung und Leistung:

Foliage Mode:
tree instance placement:

Instance Per Cluster     500
Cluster Radius        4096
Cull Distance Start    30000
Cull Distance End    35000

LoD Range        10096

antoher Foliage:

Instance Per Cluster     1000
Cluster Radius        1024

Cull Distance Start    4500
Cull Distance End    5000

LoD Range        2048

Landscape LoD Range    10096


upgrade 19.06.2012