Quake 3 Radiant – Skybox und Sonne
Last Updated on 7. January 2022 by Victor Karp
Dieses Tutorial erklärt, wie du eine Skybox erstellen und die Richtung, Helligkeit und Farbe der Sonne bestimmen kannst.
Du kannst die Beispielmap für dieses Tutorial hier herunterladen.
Table of Contents
Was ist eine Skybox?
Eine Skybox vermittelt den Eindruck einer Landschaft außerhalb des spielbaren Bereiches. In Quake 3 können Skyboxen einen beweglichen Wolkenlayer haben, der in vielen Level zu sehen ist. Die Stimmung des Levels kann maßgeblich durch die Farbe und Beleuchtung der Skybox beeinflusst werden.
Die Eigenschaften der Skybox (Wolken, Hintergrundtextur, Licht) werden in einem Shader definiert.
Wie man eine Skybox verwendet
Du kannst jede beliebige Oberfläche zu einer Skybox machen, indem du ihr eine Skyboxtextur zuweist. Du findest die Quake 3 Skybox Texturen im Texturbrowser im Ordner skies.
In der Beispielmap habe ich die Textur skies/kc_dm10sky verwendet.
Skyboxbrushes werden wie normale Wandbrushes verwendet. Sie sind lückenlos an andere Brushes angesetzt, sodass es kein Leak ins Void gibt. Du solltest Skyboxen passgenau erstellen und nicht einfach eine große Box um dein Level erstellen, denn das macht die Performanceoptimierung schwierig.
Die Skybox im Spiel begutachten
Kompiliere die Map mit BSP und -light, um die Beleuchtung durch die Skybox im Level zu sehen. Für dieses Tutorial verwende ich die das Compilepreset Q3Map2: (final) BSP -meta, -vis, -light -fast -filter -super 2 -bounce 8
des Radiants.
Die Lichteinstellungen der Skybox geben die Lichtfarben und -helligkeiten vor. Du kannst das diffuse Ambientlicht einer Skyboxtextur nicht im Editor beeinflussen, ohne den Shader zu bearbeiten. Die Sonne lässt sich jedoch sehr einfach ändernn.
Die Sonne der Skybox deaktivieren
Bevor du eine eigene Sonne konfigurierst, solltest du die Sonne der Skybox deaktivieren. Die beiden Sonnen würden sich ansonsten addieren.
Selektiere dazu einen beliebigen normalen Brush in deiner oder der Beispielmap, der kein Brushentity ist; also keine func und kein trigger. Drücke dann die Taste N, um das Entitymenü zu öffnen.
Suche in der unteren Box mit Variablen nach dem Eintrag Ignore Shader Sun und aktiviere ihn. Das fügt den neuen Key _noshadersun mit einem Wert von 1 (aktiviert) ein.
Wenn du die Map mit dieser Änderung erneut kompilierst, ist das direkte Sonnenlicht verschwunden. Die Skybox gibt nur noch diffuses Ambientlicht ab.
Eine eigene Sonne einstellen
Um eine eigene Sonne zu erstellen, gehst du so ähnlich vor wie bei einem Spotlight.
Füge über das Rechtsklickmenü in einem 2D Viewport ein light Entity und ein target/target_position ein. Richte das light auf das target aus, in dem du zuerst das light und dann das target auswählst. Drücke, Strg + K, um die Verbindung herzustellen.
Durch die Ausrichtung von light und target_position bestimmst du den Einfallswinkel der Sonne. An welchem Ort innerhalb der Map sie sich befinden und wie weit sie voneinander entfernt sind, ist egal.
Um das light zu einer Sonne zu machen, wähle es aus und öffne das Entitymenü mit N. Aktiviere unten in der Box mit Variablen den Eintrag Sun. Das erzeugt einen neuen Key _sun mit einem Wert von 1.
Es gibt im Entitymenü weitere interessante Einstellungen für die Sonne. Lies dir dazu bei Interesse die vorhandenen Variablen und die Erklärungen in der Infobox oben im Entitymenü durch.
Du kannst die Farbe der Sonne ändern, indem du das light auswählst und mit der Taste K das Farbmenü öffnest.
Nach einem erneuten Compile solltest du die Map mit der neuen Sonne sehen können.
Eigene Skyboxshader erstellen
Wenn du eigene Skyboxen erstellen möchtest, helfen dir die Tutorials über Eine eigene Skybox in Terragen und den Verbesserten Skybox Shader weiter.
Besuche die Quake 3 Mapping Tutorial Hauptseite für weitere Tutorials.