Ich schreibe da gleich mal was Tutorial zu......So 01 Uhr ist ne gute Zeit für ein paar Erklärungen.....:-)
TerreSculptor
- in den Optionen UDK auswählen, dann hat man das richtige Raster für sein Terrain.
- File-> Export = speichert die .r16 Heightmap des Geländes
- Slopemaps werden über den Extractor erstellt
Aufbau
Das Gelände ist eine Heightmap mit einer Größe von 2017px(UE), entspricht einer realen Größe bei mir von etwa 4x4 Klicks. !Wichtig! Die Splatmap hat die nächste durch 2-teilbare Größe, also 2048px.
Mit Hilfe der Splatmap wurden drei Texturen ineinander geblendet, nach dem Verfahren (Heightblend) wie in der EPIC Wiki erklärt.
Step by Step (kann auch analog für andere Terrain Generatoren genutzt werden)
- Editor auf UDK Einheiten einstellen (Optionen) und die Größe wählen. In meinem Beispiel 2017 - 63 - 4 - 126
- Mit Hilfe der Generatoren Vonroi, Perlin etc. ein Grundgelände erstellen, mit den Filtern wie Erosion usw. verfeinern.
- Modify -> Altitude Bottom Center, das Gelände auf Höhe 0 einrichten. Das sorgt in der UE dafür das Seen oder Meere wirklich auf 0 liegen. Das erleichtert einiges.
- Mit Modify -> Altitude, die Höhengrenzen des Geländes festlegen, wird in m unten in der Statusleiste angezeigt.
- File -> Export, Gelände als .r16 abspeichern
Slopemaps
Die Maps nutzt man, um einen Bereich zu definieren, wo später Unreal automatisch die Texturen anzeigt. 0 - 30 Grad zum Beispiel für Gras.
- Extractor -> Slope
- Einen Bereich mit den Schiebereglern definieren, den Falloff einstellen, das man eine kontrastreiche Map bekommt und diese dann abspeichern. Die meisten nutzen 0-30 für Grass, 30-60 für Dreck, 60-90 für Stein
- Im Grafikprogramm werden dann den einzelnen Kanälen (RGB+A) der Splatmap, je eine Slopemap zugewiesen. Ich habe den Alpha Kanal mal außen vor gelassen.!Wichtig! Die Splatmap muss eine Größe haben, die durch 2 teilbar ist und der Geländegröße am nächsten kommt. Hier 2048px.
Man Kann das Gelände auch noch verfeinern mit Ambient Occlusion Maps und diversen Heighmaps, aber das würde jetzt den Rahmen sprengen.
Unreal Editor
- Das Gelände in Unreal einfügen wie es in der Wiki erklärt ist.
Ich gehe jetzt mal primär auf die Material Einstellungen ein, die sind mit das Wichtigste. Das grundlegende Setup ist die Material Zuweisung nach dem Height-Blend Verfahren.
Landscape Coordinaten -> Texturen -> Layer Blending -> Base Color. Hier wird aber noch zusätzlich unsere Splatmap hinzugefügt und bekommt eigenen Landscape Coordinaten.
Die Landscape Coordinaten auf die Größe des Geländes einstellen, 2017. Im Layer Blending drei Slots erstellen und Height Blending wählen. Die Texturen werden mit dem jeweiligen Layer verbunden.
Je nachdem wie ihr die Kanäle der Splatmap definiert habt (Rot->Grass, Blau->Dreck, Grün->Stein) verknüpft die Kanäle mit dem Height Input im Layer Blending. Das wars auch schon im Groben.
Das gleiche Setup nutzt ihr dann natürlich auch für die Normal Maps ! Copy & Paste, nur die Texturen austauschen.
Da nach kann man noch Detail Blending nutzen oder auf sonstige Arten die Texturen / Materialien verfeinern. Ich teste grade mal an, ob das Ganze nicht prozedural geht, mit einem Zufallsgenerator für den jeweiligen Typ. Dann sieht es nicht so langweilig aus. Was auch ginge, mehrere Slopemaps für den jeweiligen Typ z.B Beispiel Grass, das Grass dann als Material bauen und das dann im Landscape Material verknüpfen. So müsste man auch die 16 Texturen Sperre umgehen und hätte nicht so viele Texturen, da es ja mathematisch berechnet wird.
Viel Spass beim Tüfteln!
Ergebnis