http://www.haradirki.de

eine Skybox erstellen:

Nun, zuerst will ich klären, was eigentlich überhaupt eine Skybox ist und wozu man sie braucht. Eine Skybox ist ein Rund-Um-Bild, z.B. eine Stadt, eine Landschaft oder auch Inseln usw. Eine Skybox besteht aus 6 Seiten - also für die 4 Wände + je ein Bild für den Boden und die Decke. Der Sinn ist auch schnell erklärt - der Spieler soll denken, er sieht eine weit entfernte Landschaft.

Hier will ich dir zeigen, wie man eine komplett eigene Skybox erstellt - also kannst du dir schonmal überlegen, was du überhaupt machen willst - eine Inselkette, eine Berglandschaft usw.

Also gut, fangen wir an. Zuerst brauchen wir die Bilder, was wohl den grössten Aufwand darstellt. Dazu lädst du dir das Programm "TerraGen" herunter. Dieses Programmm findest du hier:

http://www.planetside.co.uk/terragen/  ( ca 2,54 MB)

Die aktuelle Version ist 0.8.44 und ist momentan für den privaten Gebrauch kostenlos. Nun installierst du das Programm. Da es nichts mit Spielen usw. zu tun hat, brauchst du dir auch keine Gedanken machen, was die Installations-Pfade usw. angeht. Ich habe es ins Verzeichniss "c:\Programme\Terragen" installiert. Nun kopierstt du dir die 2 Dateien "hara1.ter" und "hara1.tgw" aus dem "Terragen-Files"-Ordner in den Ordner von Terragen (bei mir C:\Programme\Terragen). Diese sind in der Offline-Version des Tutorials enthalten. Jedoch kannst du dir die beiden Dateien hier downloaden:

http://www.haradirki.de/tutor-files/hara1.ter

http://www.haradirki.de/tutor-files/hara1.tgw

Nun wollen wir das Programm gleichmal starten:

Das hintere Fenster ist das "Rendering-Controll"-Fenster, das vordere das "Landscape"-Fenster. Fehlt bei dir eines dieser beiden Fenster, kannst du sie über die Knöpfe ganz links laden (das mit dem Monitor ist das "Rendering-Control-Fenster", das mit dem grünen Hügel ist das "Landscape"-Fenster).

Jetzt klickst du ganz oben im Menü auf den Punkt "WorldFile" und wählst hier "open world". Nun kann die folgende Meldung erscheinen:

Hier wählst du "Ja". Nun öffnet sich das "Öffnen"-Fenster. Nun öffnest du die Datei "hara1.gtw". Nun klickst du sie an und drückst auf "OK":

Nun hätten wir schonmal das Laden geschafft :). Nun sollte das kleine Fenster im "Landscape"-Dialog bläulich aussehen:

Jetzt haben wir die Welt-Informationen geladen - jetzt fehlen uns aber noch die Terrain-Informationen. Dazu klickst du im forderen "Landscape"-Fenster bei "Terrain - [NEW] auf "open..." und öffnest die Datei "hara1.ter":

Nun klickst du wieder die Datei an und wählst "OK". Nun kannst du schon unsere Landschaft aus der Vogelperspektive ansehen:

In dem grossen Fenster kannst du ja nun unsere Landschaft aus der Vogelperspektive erkennen. Der Pfeil symbolisiert hier die Kamera, die Spitze ist zeigt an, von welcher Position die Kamera die Bilder ausgibt.

Wenn du diese Sicht ändern willst, kannst du einfach mit der linken Maustaste dorthin klicken, wo du deine Kamera stehen haben willst. Nun kommen wir dazu, unsere 6 Bilder zu erstellen. Dazu habe ich die Kameraeinstellung so belassen, wie der Pfeil beim Laden der Datei steht.

Den Rest des Programmes werden wir uns dem "Rendering-Control"-Fenster widmen - also habe ich dir hier mal eine Großaufnahme des Fensters gemacht. Ganz unten siehst du nochmal die topographische Ansicht unserer Landschaft und daneben den Knopf "Camera Settings":

Diesen Knopf klickst du jetzt an:

Hier trägst du bei "Zoom / Magnification" den Wert "1" ein. Tust du das nicht, werden sich die Bilder später verziehen und passen nichtmehr korrekt dargestellt. Nun klickst du auf "close". Nun erkläre ich dir mal die Einstellungen, die du im "Rendering-Control"-Fenster machen kannst:

"Render Preview" -> klickst du diesen Knopf, so rendert Terragen ein kleines Bild als Vorschau. Wenn du dieses Bild erstellst, solltest du das "Detail" (der Regler untendran) auf die erste Stufe setzen, da sonst das rendern unnötig lange dauert.

"Render Image" -> rendert das fertige Bild

Der Kasten Image Size (in pixels) gibt an, wie gross später unsere Bilder werden. Im Grunde geht hier jedes Format, aber du solltest eines wählen, mit dem der Radiant gut zurecht kommt. Das wären 64x64, 128x128 und. 256x256 Pixel. Für unsere Skybox wählen wir 256x256 Pixel, da es ein guter Kompromiss zwischen Dateigrösse und Qualität darstellt. Jetzt kommen wir zum erstellen unserer 6 Bilder. Eine Skybox besteht, wie oben schon erwähnt, immer aus 6 Bildern:

die Ansicht jeweils einmal von vorne, hinten, links, rechts, oben und unten.

Diese 6 Bilder werden vom gleichen Punkt aus erstellt - lediglich der Kamerablickwinkel ändert sich. Diesen Kamerablickwinkel lässt sich im rechten Teil über die drei Felder "Head", "Pitch" und "Bank" ändern.Für unsere Zwecke reichen allerdings die Punkte "Head" und "Pitch". Beide Werte sollten auf "0" stehen.

Bevor wir allerdings mit den Bildern anfangen, musst du noch das Detail auf die höchste Stufe setzen.

Nun klickst du auf "Render Image". Das Rendern des Bildes kann schon ein bisschen dauern. Wenn der Vorgang abgeschlossen ist, bekommst du das mit einer kleinen Meldung mitgeteilt. Nun kannst du in diesem neuen Fenster, in dem sich auch das gerenderte Bild befindet, das Bild abspeichern. Du gibst dem Bild den Namen "XXX1_rt". Du musst darauf achten, dass das XXX gleich bleibt, und auch die Ziffer danach immer dieselbe ist.

Nun kommen wir zum zweiten Bild. Bevor du dieses Bild renderst, gibst du bei "Head" den Wert "90" an, was 90° bedeutet. Das pitch-Feld lässt du mit dem Wert "0" stehen. Nun klickst du wieder auf "Render Image" - und deine Landschaft wird um 90° gedreht gerendert. Ist das Rendern fertig, speicherst du das Bild unter "XXX1.ft" ab.
  Head-Wert: Pitch-Wert: Dateiname:
Bild3: 180 0 XXX1_lf
Bild4: 270 0 XXX1_bk
Bild5: 0 90 XXX1_up
Bild6: 0 -90 XXX1_dn

Diese 4 Bilder renderst du jetzt so, wie ich es dir bei den ersten beiden erklärt habe. Bei den letzten beiden Bildern musst du eben noch darauf achten, dass du den Pitch-Wert änderst und den Head-Wert auf 0 setzt. Für die bessere Übersicht habe ich dir hier nochmal eine komplette Tabelle erstellt, wo du die Werte für alle 6 Bilder nachsehen kannst:
  Head-Wert: Pitch-Wert: Dateiname:
Bild1:  0 0 XXX1_rt
Bild2: 90 0 XXX1_ft
Bild3:   180 0 XXX1_lf
Bild4:   270 0 XXX1_bk
Bild5:  0 90 XXX1_up
Bild6:   0 -90 XXX1_dn

So, nachdem wir jetzt unsere 6 Bilder endlich haben, müssen wir sie noch in ein Format bringen, dass der Radiant lesen kann, da sie momentan im BMP-Format vorliegen. Also müssen wir sie nachträglich in das JPG-Format ändern. Nun kopierst du diese 6 Bilder in den Ordner "env". Wenn du diesen Ordner noch nicht in deinem Main-Ordner hast, erstellst du ihn einfach.

Jetzt kommen wir zum Shader, der die 6 Bilder erst zu einer Skybox macht. Dazu lädst du dir die Datei "XXX.shader" in dem Ordner "Shader" in einen Texteditor und siehst ihn dir an:

textures/h4ra/XXXskybox
{

       
qer_editorimage textures/assault/awall_m04
 

surfaceparm noimpact
surfaceparm nolightmap
surfaceparm sky

     
 q3map_sun 0.266383 0.274632 0.358662 100 50 55
 q3map_surfacelight 80

        skyparms env/berg1 - -
}

  
Nun erkläre ich dir mal, was die folgenden Zeilen hier bedeuten:

textures/h4ra/XXXskybox

Hier gibst du den Namen für deinen neuen Shader an. Dieser Name erscheint dann später im Radiant.  

qer_editorimage textures/assault/awall_m04

Dies ist das Bild, dass die Skybox im Radiant repräsentiert. Ich habe hier eine Standart-Textur angegeben. Natürlich kannst du auch ein anderes Bild benutzen.  

q3map_sun 0.266383 0.274632 0.358662 100 50 55
Gibt den Wert an, welche Farbe der Schein der Sonne in deiner Map hat.
  

q3map_surfacelight 80
Dieser Wert gibt die Helligkeit an, die von der Oberfläche der Skybox ausgestrahlt wird 
  

skyparms env/XXX1 - - 
Hier gibst du den Namen von deinen 6 Bildern ein. Wichtig ist, dass ihr NUR den Teil VOR dem Unterstrich in diese Stelle eintragt, also in unserem Fall XXX1 - -. Würde deine 6 Bilder weltraum1_rt usw. heissen, so müsstest du hier weltraum1 eintragen.
 

Nun speicherst du diesen Shader unter dem Namen XXX.shader ab. Nun kopierst du diese Datei in den Ordner "main/scripts". Hier findest du auch eine Datei, die "shaderlist.txt" heisst. Diese öffnest du jetzt und fügst am Ende der Datei noch eine neue Zeile ein, in die du "XXXX" schreibst. Nun wird unser Shader beim Öffnen des Radianten geladen.

zurück zur Hauptseite