Haradirki.de

Eine 3D Skybox erstellen
Beispielmap: indextut45.zip

Im vorhergehenden Thema haben wir gelernt, wie man eine 2D Skybox erzeugt. Im Gegensatz zu einer 2D Skybox, die nur aus 6 Texturen besteht, besteht eine 3D Skybox wie der Name schon sagt aus echten 3D-Objekten. Diese kannst du ganz normal aus Brushs bauen. Wichtig dabei ist folgendes:

  • 3D Skyboxen sind "Miniwelten", d.h. sie werden später auf das 16-fache ihrer Größe vergrößert und dann dargestellt. Wenn du also einen Brush mit den Maßen 8x8x8 Units hast, wird er dann 16 mal so groß dargestellt. Daher müssen wir im Editor diese Brushs auf 1/16 der Größe verkleindern, so dass sie dann im Spiel so aussehen, wie wir es wollen.
  • In einer 3D Skybox dürfen sich keine Playerstarts, NPCs oder sonstige "aktiven" Entities befinden.
  • Jede 3D Skybox benötigt ein "light_environment" Entity und ein "sky_camera" Entity.
  • du kannst in der 3D Skybox ganz normal Displacements einsetzen, ebenso kannst du auf Seiten von Brushs, die im Spiel nicht sichtbar sind, die Textur "tools/toolsnodraw" benutzen.

Nun wollen wir unsere 3D Skbox erstellen. Du solltest dazu im absoluten Zentrum deiner Map (bei den Koordinaten 0 / 0 / 0) das Entity "sky_camera" erstellen .Dieses Entity dient als Referenz für die 3D Skybox. Von diesem Entity aus blicken dann die Spieler aus der Map in die 3D Skybox.

Nun erstellst du 6 Brushs mit der Textur "tools/toolsskybox" um das "sky_camera" Entity, damit kein Leak entsteht:

sky_camera

Nun wollen wir ein prop_static erstellen, bei "World Model" verwenden wir das hier: "models/props_buildings/row_corner_1.mdl". Wenn du nun auf "Apply" drückst, hast du eine kleine Häuserzeile. Diese kannst du nun schön an das cam_skybox Entity anpassen. Wichtig ist, dass man von dem Model nur die Vorderseite sieht, also die Häuserfront. Da es keinen Boden gibt, könnte es hier sehr unschön aussehen in der Map. Bei mir sieht es so aus:

prop_static

Nun wollen wir uns ein Gebäude aus einem Brush erstellen und dann in die Skybox setzen. Dies soll ein Hochhaus sein. Zunächst erstellen wir es richtig schön groß. Die Seiten, die der Spieler nicht im Spiel sehen kann, belegen wir dabei mit der "tools/toolsnodraw" Textur. Dann kommt das wichtigste. Wir verkleinern den Brush. 1/16 ist das gleiche wie die Zahl 0.0625. Nun selektieren wir den Brush, den wir verkleinern wollen, und gehen im Menü auf "Tools" und dort auf "Transform". Hier wählen wir nun "Scale" und geben bei X, Y, und Z jeweils die Zahl 0.0625 ein. Dann drücken wir auf "OK". Auf magische Weise ist nun unser Brush geschrumpft:

scale

Nun fehlt nur noch das "light_environment" Entity. Sobald das gesetzt ist, kannst du die Map schon probehalber compilieren. Bei mir sieht es so aus:

ingame screenshot

Wie du in der Beispielmap sehen kannst, besteht unsere Map eigentlich wirklich nur aus einer Box, jedoch wenn man sich in der Map bewegt, kommt es einem so vor, als befänden sich aussen um den Raum Straßen und Häuser. Valve hat übrigens eine Beispielmap beim Hammer Editor dazu gepackt, diese nennt sich "sdk_3d_skybox.vmf" und befindet sich im im Ordner "Mapsrc" im Ordner "cstrike".

 

zurück zur Hauptseite

Half-Life 2 Hammer Tutorial, Copyright (c) 2005 Dirk "Haradirki" Marmann, erstellt mit Wordpad

Dieses Tutorial ist grundsätzlich Freeware und darf für den persönlichen Gebrauch weiterkopiert werden. Es darf allerdings NICHT ohne meine Einverständniss auf anderen Homepages als HTML-Datei oder zum Download angeboten werden. Es darf nichts hinzugefügt, verändert oder gelöscht werden. Weiterhin darf es nicht auf digitalen Medien, z.B. CD-Medien veröffentlicht werden, wenn ich nicht ausdrücklich meine Einverständniss dazu gegeben habe. Alle Rechte bleiben beim Autoren. Wird aus diesem Tutorial zitiert, währe ich sehr dankbar, wenn ihr dabei auf eine meiner beiden Homepages http://www.haradirki.de oder http://www.dead-in-bed.net hinweisst.

 

http://www.haradirki.de   http://www.dead-in-bed.net