mrwonko.de


Terrain Erstellung mit EasyGen

In advanced. Tags: Terrain. By Darth Arth (Artur L.).

Voraussetzungen

Tutorial

In dieser Lehreinheit (Tutorial) erstellen wir einen Terrain für JKII mit Hilfe von EasyGen.

EasyGen ist ein Programm zum Erstellen von Terrains für auf Q3-Engine basierte Spiele. EasyGen ist sehr einfach zu bedienen, wenn man weiß worauf es ankommt. Mit EasyGen kann man sehr schöne Landschaften erstellen und diese dann für eigene Maps benutzen. Die hier erstellten Terrains sind ohne Blending, das heißt, es gibt nur eine Textur und nicht mehrere mit weichem Übergang.

Installation

  1. Die ZIP-Datei in einen Ordner entpacken

  2. EasyGen.exe starten

  3. Beim ersten Start des Programms wird man nach ein paar Einstellungen gefragt:

image

Bei den Einstellungen ist die Angabe des Work mod-Pfades wichtig. Hier muss der Pfad zu deinem Jedi-Knight2 base-Ordner stehen. Die Bitmaps Ordner sind zweitrangig, diese müssen nur existent sein. Player size definiert die Größe des Spielers. Die Angaben stimmen mit den von JKII überein. Der Rest ist nicht besonders wichtig.

Wenn du möchtest, kannst du noch, unter Ignore brushes with shaders, die Q3-common-Shaders gegen die system-Shaders aus JKII austauschen, dies ist aber nicht zwingend notwendig..

Erklärungen zu EasyGen

Nach dem du EasyGen installiert und konfiguriert hast, starte das Programm.

Zuerst ein paar Erklärungen zu den Grid Einstellungen:

Divisions
Anzahl der Zellen in welche das Terrain aufgeteilt wird
Widths
Breite und Länge des Terrains in Map-Einheiten. Entspricht genau den Einheiten aus dem Radiant-Editor
Div.Widr.
Breite und Länge einer einzelnen Zelle im Terrain. (je kleiner die Zellen, desto feiner das Terrain. Geht jedoch auch kosten der Performance, da viel mehr Brushes erstellt werden müssen. Man sollte keine Zellen definieren, die kleiner sind als 64-Einheiten)

In dem 3D-Fenster bewegt man sich wie folgt:

image

Bevor wir unser Terrain formen, müssen wir noch ein Paar Einstellungen vornehmen. In diesem Tutorial arbeiten wir ja nicht mit Alpha-Map Terrains, wir müssen aber trotzdem ein Paar Kleinigkeiten festlegen, sonst kann die Export-Funktion nicht benutzt werden.

EasyGen konfigurieren

Klicke jetzt auf Alphamap.

image image

Dann in dem Pallete-Raster auf das kleine Quadrat oben links und wähle ein Farbe, z.B. Dunkel-Blau, Klicke dann auf OK.

image

Als nächstes müssen wir einen Texturen-Ordner auswählen. Geh ins Menu auf Textures > Add folder

image

Jetzt wählen wir einen Texturen-Ordner. Dieser ist für uns unwichtig, da wir ja diese Funktion, sowieso nicht nutzten wollen.

Das Programm braucht jedoch die Einstellungen, um die Export-Funktion durchführen zu können (Q3-bedingt).

Wähle am besten einen kleinen Texturen-Ordner, wie z.B. common, da das Laden der Texturen eine Weile dauern kann.

image

Nach dem die Texturen geladen wurden, klicke unten links (in dem Texturen-Fenster), eine der Texturen an.

Z.B. common/mp_blue.

image

Terrain-Erstellung

Nachdem wir unsere minimalen Alphamap-Einstellungen vorgenommen wurden, können wir uns der Formung unseres Terrains widmen.

Klicke jetzt auf Modifier und wähle Cone. In der Mitte des Terrains erscheint der Modifier (Modifikator, eine rote Draht-Box). Man erkennt, wie sich an dieser Stelle das Terrain verformt hat.

Den Modifikator kann man bewegen, in dem man die Taste Strg festhält und die linke Maustaste benutzt.

image

Mit der Leertaste kann man dann an der Stelle, wo sich der Modifikator gerade befindet, die Änderung des Terrains zuordnen. Wenn du mehrmals auf der gleichen Stelle die Leertaste drückst, wächst der Hügel entsprechend höher.

image

Wenn du die Taste Shift (Umschalttaste) festhältst und dann die rechte Maustaste benutzt, kannst du die Breite des Modifikators ändern:

image image

Mit der Taste Strg und der rechten Maustaste kannst du die Höhe des Modifikators ändern.

image image

Probiere die einzelnen Modifikatoren durch, um deren Wirkung zu testen. Einige, wie z.B. Smooth, dienen dazu, das Terrain wieder abzuflachen. Versuche einfach, ein wenig mit allen zu arbeiten, um ein Gefühl für die Wirkung zu bekommen.

Nach dem du das Terrain fertig geformt hast, sollten wir es speichern.

image

Geh ins Menü und wähle File > save.

image

Gebe dann einen Dateinamen ein, z.B. terrain1 und klicke auf Speichern. Dieser Schritt ist sehr wichtig, falls du später an dem Terrain noch Änderungen vornehmen möchtest.

image

Exportieren

Jetzt können wir das Terrain exportieren. Gehe ins Menü und wähle File > Export > Terrain entity (.map)

image

Dann erscheint eine Dialogbox, in der man verschiedene Export-Einstellungen vornehmen kann.

In dem Bereich Save what (was speichern), wähle nur Save the map.

Bei General/Wolrdspawn wählen wir noch zusätzlich Insert into a skybox und Add an info_player_start. Damit wird unser Terrain gleich in eine Skybox verpackt und auch den Player-Startpunkt gesetzt bekommen.

image

Unter Shader stellen wir jetzt die Texturen ein, die unser Terrain aufgelegt bekommt. Da wir keine Alphamap-Terrains nutzen, müssen wir hier andere Texturen eintragen.

Unter top trage bitte die Textur ein, die als Oberfläche des Terrains dient, z.B. yavin/grass. Unter botton, sides (die unsichtbaren Wände), trage bitte system/caulk ein.

Die Einstellung common/caulk kommt von Q3, denn dort sind die system-shader alle im common-Ordner gespeichert. Bei JKII liegen diese jedoch im textures/system. Deswegen müssen wir common/caulk gegen system/caulk tauschen.

Wenn du mal zukünftig ein neu erstelltes Terrain in eine Map einfügen möchtest, kannst du die 2 Optionen bei General/Worldspawn auch weg lassen. Damit werden die Skybox und info_player_start nicht unnötig erstellt.

image

Nach dem alle Export-Einstellungen vorgenommen wurden, speichern wir unser Terrain als Map. Klicke in dem Export-Optionen Fenster auf Continue >>. Gib jetzt als Dateinamen terrain1 ein und klicke auf Speichern.

image

Wenn die Map gespeichert wurde, können wir EasyGen beenden.

Feintuning im GTK Radiant

Jetzt werden wir unser Terrain im Editor laden. Da wir das Terrain samt Skybox und "info_player_start" exportiert haben, können wir es wie eine normale Map öffnen. Gehe ins menu und wähle File > Open und lade unsere terrain1.map.

image

Ups, was ist das denn ? unsere Skybox ist rot !?. Hmm..., na ja, das EasyGen hat zwar für unser Terrain den system/caulk shader benutzt, so wie wir es eingegeben haben. Für die Skybox hat EasyGen jedoch den Q3-Shader benutzt. Das ist aber nicht weiter schlimm, wir tauschen einfach den nicht existierenden Shader gegen den richtigen aus.

image

Gehe ins Menü und wähle Textures > Find/Replace (Suchen/Ersetzen).

image

Klicke jetzt mit der Maus in das obere Eingabefeld Find,

image

dann im Texturen-Fenster auf den roten Shader caulk image.

textures/common/caulk erscheint unter Find (Suche)

image

Jetzt klicke mit der Maus in das untere Eingabefeld,

image

und dann in dem Texturenfenster auf den lila Shader caulk image.

In unterem Eingabefeld erscheint textures/system/caulk.

image

Um den Q3-Shader durch den richtigen zu ersetzen, klicke jetzt auf Apply.

image

Man könnte natürlich die Namen der Texturen auch per Hand eintragen, da diese jedoch oft sehr lang sind, verschreibt man sich gerne. Daher ist diese Methode sicherer und bequemer.

Klicke jetzt auf Close, um das Fenster zu schliessen.

image

Jetzt ist unsere Skybox mit der richtigen Caulk-Textur belegt.

image

So kann es aber nicht bleiben, da wir dann im Spiel hässliche Grafikfehler hätten.

Markiere jetzt die inneren Seiten der Skybox-Brushes, in dem du sie mit Strg + Alt + Shift und der linken Maustaste anklickst.

image

Geh jetzt ins Menü und lade die Skies-Texturen ( Textures > Skies )

Suche dann einen Sky-Shader mit dem Namen Yavin image und klicke ihn an.

image

So, jetzt ist unsere Skybox perfekt :D

Drücke jetzt die Esc-Taste und markiere unser Terrain-Entity. Hier müssen wir nämlich noch ein paar Änderungen vornehmen.

image

Nachdem unser Terrain markiert ist, drücke die N- Taste um die Entity-Eigenschaften anzuzeigen.

Lösche jetzt alles raus (Eigenschaft mit der Maus anklicken und dann auf Del Key/Pair klicken), außer classname func_group

imageimage

Drücke dann die Esc-Taste.

Danach speichern wir unsere Map und kompilieren sie mit FastVis (nolight) (im GTK Radiant ab Version 1.4 erst -meta dann -vis -fast)

Im Spiel sieht das ganze dann so aus:

image

Gratuliere, du stehst auf deinem eigenem Terrain :D

Download

Download der Tutorial Map (.map - Datei enthalten)

Tip

Wenn du an dem Terrain was verändern möchtest, mache es bitte im EasyGen und exportiere es noch mal. Ändere das Terrain-Entity nicht im GTKradiant, vor allem schneide nichts raus mit der SCG-Subtract Funktion und verschiebe keine Vertexe.

Wenn du es tust, kriegst du im Spiel merkwürdige Grafikfehler und komische Schatten. Wenn du die Oberfläche zum Teil mit einer anderen Textur belegen möchtest, benutzte immer die Strg + Alt + Shift Tasten-Kombination, um die einzelnen Faces zu markieren. Passe immer auf, dass du nicht aus Versehen die inneren Caulk-Seiten des Terrains mit einer normalen Textur belegst!