Funktionsprinzip des GtkRadiants
Last Updated on 19. March 2022 by Victor Karp
Dieses Tutorial erklärt, wie das Erstellen von Maps im GtkRadiant prinzipiell funktioniert und was es dabei zu beachten gibt. Wie du deinen ersten eigenen Raum baust, lernst du im Ein erster Raum im GtkRadiant Tutorial, welches auf dieses Tutorial folgt.
Brushes
Der größte Teil der Struktur eines Levels besteht aus Brushes. Ein neuer Brush ist immer würfelförmig und kann beliebige Dimensionen haben. Einzelne Brushes sind immer konvex, d.h., ihre Flächen zeigen immer nach außen und es gibt keine Innenwinkel. Du kannst jeder Oberfläche eines Brushes eine andere Textur zuweisen. Hier eine Szene aus drei Brushes, die jeweils vollständig mit der gleichen Textur belegt sind.
Brushes lassen sich auch anschrägen und zerschneiden, um komplexere Formen zu erzeugen. Außerdem wurden auf dem nächsten Bild nur die relevanten Oberflächen texturiert. Alle im Spiel nicht sichtbaren Flächen benutzen die spezielle Caulk Textur. Wie du Brushes zerschneiden kannst, lernst du im Tutorial über das Clipping Tool und im Tutorial über komplexe Formen mit Brushes.
Patches
Patches werden benutzt, um gebogene und runde Oberflächen zu erzeugen. Es gibt verschiedene Arten von Patches, die unterschiedliche Funktionen erfüllen können. Das nächste Bild zeigt einige davon. Das Tutorial Runde Wände und Rohre mit Patches geht im Detail darauf ein, wie Patches funktionieren.
Entities
Entities sind Objekte, die zusätzlich zur Levelgeometrie im Level platziert werden können. Dazu gehören z.B. Spawnpunkte, Flaggen für CTF, Waffen, Munition, Lichter oder 3D Modelle. Das Tutorial über Waffen, Munition und das Entity Menü erklärt dazu mehr.
Der Nullpunkt eines Entitys darf nicht in einem Brush stecken, da die Map sonst leakt. Davon ausgenommen sind alle Brushes, die als detail markiert wurden oder generell nicht zum Void abdichten, wie z.B. Wasser.
Wenn du nicht sicher bist, wo der Nullpunkt eines Entitys ist, wähle das Entity aus und drücke W, um das Translate Tool zu aktivieren. Der Nullpunkt ist die Stelle, an der sich das kleine Koordinatenkreuz zum Verschieben des Entitys befindet.
Eine besondere Form von Entities sind Brush Entities. Dabei handelt es sich um Brushes, die bestimmte Funktionen bekommen haben, wie etwa Türen, Jump Pads, bewegliche Plattformen oder Todeszonen am Boden von Fallgruben. Weitere Tutorials dazu findest du in der Tutorialübersicht – suche nach Tutorials mit den Wörtern “func” und “trigger” im Titel.
Compiling – BSP, VIS und LIGHT
Bevor man ein eigenes Level im Spiel starten kann, muss man es compilen. Dabei wird das Level vom .map Format ins .bsp Format umgewandelt, sodass es vom Spiel gelesen und gestartet werden kann. Das Compiling besteht aus bis zu drei Schritten: Geometrie (BSP), Performanceoptimierung (VIS) und Beleuchtung (LIGHT). Damit man ein Level starten kann, muss man mindestens die Geometrie compilen.
Wie das geht, erfährst du unter anderem im Map kompilieren und starten Tutorial.
Void und Leaks
Der leere Raum, in dem eine Map schwebt, heißt Void. Damit Level für die Quake 3 Engine erfolgreich compiled werden können, darf es keine Verbindung vom Inneren dem Map zum äußeren Void geben. Die Map muss also “luftdicht” sein.
Beim Compilen der Geometrie (BSP) versucht der Compiler, von jedem Entity aus das Void zu erreichen. Wenn er das nicht schafft, ist die Map dicht. Wenn es eine Verbindung zum Void gibt, hat die Map ein Leak.
Leaks sind schlecht für die Performance, da sie Optimierungen in der Geometriephase (BSP) und Performanceoptimierungsphase (VIS) des Compilings unmöglich machen. Fertige Level sollten niemals Leaks enthalten.
Das nächste Bild zeigt einen Raum mit einer Wand, die nicht richtig zum Void abschließt. Beim Compilen findet der Compiler einen Weg vom Rocketlauncher zu dieser Lücke. Er zeigt die gefundene Route und gibt eine Fehlermeldung aus.
Das nächste Tutorial erklärt, wie du deinen ersten eigenen Raum im GtkRadiant bauen kannst.
Besuche die Quake 3 Mapping Tutorial Hauptseite für weitere Tutorials.