Nicht eingeloggt
Registrieren

Terrain Tutorial UnrealED2.0: Tesselated Cubes

Das Tutorial ist von mir geschrieben, die Technik hatte mir S'Calain vor Ewigkeiten mal gezeigt...

In diesem Tutorial geht es nicht darum wie man am besten ein Terrain baut, sondern nur darum wie man ein Terrain aus Tesselated Cubes baut (auch wenn ich später noch etwas anderes erklären werde).
Diese Tutorial ist für fortgeschrittene Mapper gedacht. Ihr solltet wissen, wie man mit dem Editor umgeht, ganz wichtig sind die Funktionen: VertexEditing, Intersect und Deintersect. Wenn ihr damit noch nicht klarkommt, dann lest euch bitte vorher die entsprechenden Tutorials durch, da ich es nicht noch mal erklären werde. Schaut einfach mal bei www.UnrealEd.info vorbei, dort findet ihr sicher die passenden Tutorials



Bevor ihr mit dem Terrain anfangt solltet ihr euch einen Plan machen oder zumindest mal überlegen, wie das Terrain aussehen soll.

Tesselated Brush
Also, wir benutzen für unser Terrain nicht den TerrainBrush sondern TesselatedCubes. Um einen solchen Cube zu bauen, müsst ihr nur in dem EigenschaftenMenü für den Cube ganz unten Tesselated auf True stellen. Auf den beiden Bilder unten könnt ihr den Unterschied sehen.



Der Tesselated Cube hat den Vorteil, dass man seine Vertexe (Eckpunkte) verscheiben kann wie man will, ohne das ein BSP-Fehler auftritt.

Terrain bauen
Wir fangen mit einem Tesselated Cube an, die Abmasse 256WEx256WEx256WE behalten wir bei. Wir bauen uns jetzt aus Tesselated Brushs die Grundform unseres Terrains, wichtig dabei ist nur das ihr die Brushes nicht dreht, sonst kann es dann doch zu Fehlern kommen. Plannt am besten gleich die Flächen, auf denen später die Skybox zu sehen ist mit ein. Dann haben wir am Ende quasi ein komplettes Ausenareal fertig.
Das ganze sollte dann ungefähr so aussehen. Ich habe jetzt natürlich ein ganz einfaches Beispiel genommen, man kann das natürlich auch viel komplizierter machen.

tc3.jpg

Als nächstes bauen wir eine normalen Cube der mindestens genau so groß ist wie unser Terrain, in meinem Fall wären das 768WEx1024WEx1280WE und verscheiben den Redbrush jetzt so das er unser Terrain einschliesst. Jetzt Deintersecten wir den Brush und bekommen dadurch unseren Terrainbrush (auch wenn dieser noch nicht wirklich wie ein Terrain aussieht. Der Brush sollte dann so aussehen.

tc4.jpg

Jetzt folgt das langweiligste am Terrainbau, das VertexEditing! Jetzt müssen wir fast jeden Vertex etwas verscheiben, damit wir Unregelmäsigkeiten ins Terrain bekommen. Sonst sieht es ja nicht realistisch aus. Dadurch das wir vorher schon deintersected haben, haben wir jetzt auch viel weniger Vertexe zu verschieben. Wenn ihr damit fertig seit, subtracted den Brush, texturiert ihn und aligned die Flächen noch etwas (Tipp: Nehmt dazu nur AlignToFloor, wenn ihr den Brush immer so dreht, dass auch die Wände mal oben oder unten sind, erhaltet ihr ein sehr gutes Ergebniss). Ihr solltet auf jeden Fall die Flächen auf den später die Skybox zu sehen ist mergen (alle Flächen auswählen und AlignToFloor und WallPan alignen, danach Rechtsklick auf den Bursh und unter Polygons Merge drücken, nach dem Rebuild sind die einzelnen Flächen zu einer Fläche geworden).
Normalerweise sollte das ganze dann so aussehen.

tc5.jpg

Das sieht schon mal nicht allzu schlecht aus, aber eben langweilig. Man kann es natürlich so lassen, mit ein paar Pflanzen und guter Ausleuchtung sieht auch solches Terrain (für eine gute Map sollte es natürlich im vieles größer sein) auch gut aus.
Ich werde im nächsten Abschnitt erklären wie wir das Terrain noch verschönern können.

Felsen und Steine bauen
Wir haben also unser Terrain fertig, es sieht zwar noch etwas leer aus, aber das ändern wir. Ein paar große und klein Felsen können nicht schaden.

Beginnen wir mit den Kleinen!
Wir öffnen dazu den ShapeED und bauen uns dort ein rundes Shape, es sollte unregelmäßig abgrundet sein und nicht größer als 128WEx128WE. Den grünen Pivot verschieben wir so, das er nicht in der unmittelbaren Mitte des Shapes ist. Als erstes erzegen wir durch ExtrudeShape einen ca. 64WE unförmigen Cylinder. Dann erzeugen wir über ExtrudeToPoint eine unförmige Pyramide, diese sollte ca. 32WE hoch sein, wir setzten die Brushes über einandern, bauen wieder einen großen Redbruh und intersecten einen Redbrush (es ist ratsam sich dafür einen sehr großen Extraraum zu bauen). Im unterem Bild seht ihr den Redbrush, zusätzlich habe ich damit schon ein paar Stein gebaut, diese solltet ihr als SemiSolidBrush adden, da sonst BSP-Fehler entstehen.

tc6.jpg

Ok, kommen wir nun zu den großen Felsen, die Methode die ich jetzt erkläre ist sicher nicht die beste, aber es geht schnell und man erhält recht gute Ergebnisse. Leider kann es auch hier zu BSP-Fehlern kommen.
Als erstes brauchen wir wieder einen unförmigen Zylinder, dieser sollte etwas größer sein, so 512WEx384WEx256WE. Ganz wichtig ist hierzu ein sehr großer Raum, den wir extra bauen müssen.
So und nun drehen wir den Brush immer etwas und verschieben ihn so das wir, wenn wir ihn dann deintersecten oben abschrägen. Dies machen wir an fast allen Seiten, wir ihr das macht ist egal, Hauptsache ist wir bekommen am Enden eine solchen Redbrush raus.
(Ich kann es wirklich nich besser erklären, ohne hunderte Bilder zu benutzen.)

tc7.jpg

Diesen Redbrush adden wir dann wieder als SemiSolidBrush ins Terrain, am besten so das er wie eine kleine Felssäule aussieht. Man kann so auch komplette Felsenwände bauen.

Letzte Bemerkungen
Nun könnt ihr noch ein paar Decopflanzen einfügen (ich habe auch noch ein kleines Wasserloch eingebaut), oder was euch eben einfällt. Wenn es eine richtige Map werden soll, dann ist es auf jeden Fall empfehlenswert noch ein paar Gebäude einzubauen und ihr solltet das Terrain nicht so groß machen, da die alte Engine nicht allzu viele Polygone auf einmal verarbeiten kann. Bei mir sieht es am Schluss so aus:

tc8.jpg


Bei euch kann das natürlich anders aussehen. Und es sollte vor allem größer sein!^^
Ich hoffe das Tutorial war verständlich, falls noch Fragen offen sind, könnt ihr mir über das Forum eine PM schrieben.

Author: Ralf Helbig - milb
Editors: UnrealED2.0
Tex' used: HourIndusX_UT.utx