Nicht eingeloggt
Registrieren

Skybox-Textur mit Terragen erstellen

1.) Um was geht es in diesem Tutorial ?

In diesem Tutorial geht es um die Erstellung von quadratischen Texturen die im Unrealed in eine Skybox (würfelförmig) gebaut werden können um einen realistischen Himmel zu simulieren. Die in diesem Tutorial gezeigte Methode ist reichlich primitiv und es gibt sicher bessere Möglichkeiten oder gar Plugins, quadratische Bilder in alle Richtungen zu schiessen. Allerdings ist mir weder eine andere Möglichkeit, noch ein derartiges Plugin bekannt und deshalb muss man hier mit diesem Steinzeit-Trick arbeiten. Aber, meine Oma sagte schon immer zu mir:

"Tobias (Name von der Redaktion geändert), dumm darfst du sein. Aber du musst dir zu helfen wissen."

In diesem Sinne... fangen wir an!



2.) Was ist Terragen ?

Schaut euch zu dieser Frage am besten die Erklärung auf Terradreams.de an:

http://www.terradreams.de/All/Terragen.php



3.) Wo bekomme ich Terragen her?

Das Programm Terragen lässt sich kostenlos auf

http://www.terradreams.de/All/Downloads.php#1

herunter laden. Die kostenlose Version ist in manchen Bereichen etwas beschnitten, aber zum Erstellen von Skyboxtexturen sollte das genügen. Wer trotzdem die komplette Version haben möchte, kann seine kostenlose Version direkt vom Programm aus (kostenpflichtig) registrieren lassen.



4.) Wie gehe ich mit Terragen um ?

Ich werde in diesem Tutorial nicht auf die Handhabung von Terragen an sich eingehen. Nur auf die Erstellung von Skyboxtexturen. Zahlreiche Tips und Tutorials finden sich auf:

http://www.terradreams.de/



5.) Wohin muss ich klicken um die Bilder zu erstellen ?

Erstmal wird Terragen runter geladen, installiert und gestartet. Das sollte noch jeder selber schaffen.
Denkt an meine Oma ;-)

Es sollte sich uns ein Bild eröffnen, das ungefähr so aussieht:



Wie gesagt, will ich hier nicht erklären wie man hübsche Terrains macht, oder seine Sonnenlichtseinstellungen perfektioniert. Erstens ist das nicht Sinn dieses Tutorials, und zweitens kann ich das nicht. Lassen wir also erstmal die Standarteinstellungen (flaches Terrain und Standart-Beleuchtung sammt Standart-Himmel) bestehen. Das kann man alles auch im Nachhinein ändern.

Widmen wir uns gleich dem Render-Fenster das hier im Hintergrund liegt, und tragen gleich die Kameraeinstellungen ein, die wir später brauchen werden.

Fangen wir mit dem Standort der Kamera an.

Die Kamera sollte ziemlich in der Mitte des Terrains stehen, damit man in alle Richtungen schön weit gucken kann. Steht sie z.B. wie voreingestellt am unteren Rand des Terrains, kann man zwar nach vorne hin schöne

Bilder rendern, aber nach hinten hin sieht man das Ende der Landschaft, was wohl nicht Sinn der Sache sein soll.

Setzen wir sie also mit einem Links-Klick in die Mitte des Terrains. Augenmaß reicht hier völlig aus.




Wichtig sind jetzt diese drei markierten Feldchen:



Der Wert im ersten Feldchen bestimmt die Richtung in die die Kamera später schauen soll. Alle drei Felder funktionieren im Gradmaß. D.h. bei "0" sieht die Kamera nach Norden/Vorne, bei "90" sieht sie genau nach rechts und so weiter und so fort.

Sie dreht sich also um so und soviel Grad auf der X/Y-Ebene wobei "0" Grad, genau nach vorne gerichtet sind.
Hier stellen wir fürs erste "0" ein.

Der Wert im zweiten Feldchen bestimmt die Richtung der Kamera auf der Y/Z-Ebene und die "0" zeigt auch hier genau nach vorne.
Stellen wir also auch hier erstmal "0" ein.

Der Wert im dritten Feldchen wird dazu benutzt die Kamera zu drehen so dass das Bild schief steht, was aber hier vollkommen egal ist, weil wir dieses Feldchen nicht brauchen werden. Es muss während der ganzen Prozedur auf "0" stehen.

Jetzt muss der FoV (Field of View = Blickwinkel) der Kamera eingestellt werden. Dazu einfach auf die Camerasettings klicken und im Feld unter Zoom/Magnification den Wert "1" eintragen.




Jetzt sollte die Kamera einen FoV von 90° haben. Genau die Zahl, die wir brauchen um quadratische Skybox-Texturen zu rendern. Jetzt muss noch die Auflösung eingestellt werden. Dazu klicken wir auf "Image Size..." und stellen bei Width (= Breite) und Height (= Höhe) die Kantenlängen unserer Wunschtexturen ein



Je höher die Auflösung gewählt wird, desto schärfer ist das entstehende Bild, und desto besser sieht die Skybox später aus. Allerdings braucht Terragen auch länger zum Rendern. In der kostenlosen Version von Terragen, liegt das Maximum der renderbaren Auflösung bei 1280*960 Pixeln²

Da wir aber quadratische Texturen brauchen, ist das größte was wir aus der kostenlosen Verion von Terragen rausholen können 960*960.



Wichtig:

Um in den Unrealed importiert werden zu können muss das Bild in Länge und Breite einen Wert haben, der auch als Gridsize im Editor ausgewählt werden kann.

Also:

2
4
8
16
32
64
128
256
512
1024


uswusf.


Ambesten rendert man die Bilder mit 960*960 und verkleinert sie dann später entweder auf 512*512, oder man vergrößert sie auf 1024*1024. Man kann sie aber auch gleich nur mit 512er Kantenlänge rendern lassen. Die Bilder sehen dann aber nicht so gut aus.


Jetzt gehts ans Rendern!

Dies ist der Punkt in dem Tutorial andem jeder seine Kreativität spielen lassen, und ein Terrain samt Beleuchtung usw. erstellen sollte. Zu diesem Thema finden sich zahlreiche Tutorials und ein Forum auf:

http://www.terradreams.de/

Klicken wir jetzt hier auf close, überprüfen ob die oben angesprochenen Feldchen alle auf 0 stehen und klicken dann auf "Render Image". Jetzt dauerts ein bisschen bis das Programm aus den gegebenen Informationen ein Bild errechnet. Wenn es fertig ist, erscheint eine Meldung in der Mitte des Bildschirms. Diese bestätigen wir mit "ok" und schliessen dann das Fenster mit dem Bild.

Nun speichern wir das Bild mit einem Klick auf "save" ab.




Dieses Bild kommt später im Unrealed auf die Nord-/Vorderseite der Skybox.

Jetzt geben wir in dem Feldchen unter "head" "90" ein. Das sollte dann so aussehen:




Die Kamera sieht jetzt nach Osten/rechts. Jetzt wieder auf Render Image -> ok -> Save.

Das selbe wiederholen wir jetzt noch mit "180" und "270".

Wir sollten jetzt vier Bilder haben. Eins in jede Himmelsrichtung des Terrains. Für eine Skybox brauchen wir aber noch einen "Boden" und einen "Deckel". Also stellen wir head wieder auf "0", und sorgen mit pitch = 90 dafür, dass die Kamera genau nach oben sieht.




Auch hier wieder Render Image -> ok -> Save. Für den Boden muss der Wert pitch auf 270 stehen. Auch hier Render Image -> ok -> Save. Wir haben jetzt sechs Bilder für sechs seiten der würfelförmigen Seiten einer Skybox.

Diese Bilder müssen jetzt noch in den Unrealed importiert werden.



6.) Wie importiere ich die Bilder in den Unrealed ?

Klickt dazu im Texture-Browser ( ) auf "File" und dann auf "Import". Jetzt wird die gewünschte Textur ausgewählt und auf "Öffnen" geklickt. In dem Fenster das sich dann öffnet ...




... musst du noch den Namen des Packages (Das ist der Name der utx-Datei (ohne utx) in die die Textur rein soll) und unter "Name" den Namen der Textur-Datei angeben. Das Kästchen mit "Group" davor, muss man nicht unbedingt ausfüllen. Es dient nur später der Übersichtlichkeit. Jetzt sollte sich eigentlich das neu erstellte Package öffnen. Wenn nicht wähle es manuell in der Drop-Down-Leiste im Texturbrowser aus.



Du musst nachdem du deine Texturen importiert hast, das Package im Editor aufrufen und auf Speichern klicken. Ansonsten ist das Package weg sobald du den Editor schliesst.



Wichtig:

Niemals in beigelieferten Packages rumpfuschen bzw. reinspeichern, rauslöschen, ersetzen und was weiß ich noch. Das führt zu Fehlern!

Beispielsweise kannst du, wenn du ein Package modifizierst, die Maps, die auf dieses Paket zugreifen, nicht mehr online spielen, weil du andere Files hast als der Host. Du solltest die Texturen unter dem Package myLevel (und das ist jetzt kein Platzhalter sondern der wirkliche Name!) speichern. Das bewirkt, dass sie direkt in das Level selbst und nicht in ein extra Package gespeichert werden.

Das hat folgende Vorteile:

1.) Wenn jemand die Map runterlädt hat er mit der einen Datei (nämlich der Map) alles was er zum Spie- len braucht, und muss sich nicht mit unnötig vielen Dateien rumärgern.

2.) Du musst/darfst das Package nicht extra abspeichern. Es reicht wenn du deine Map sicherst. Allerdings MUSS die Textur dan auch im Level vorkommen. Wenn nicht, wird sie gelöscht sobald du den Editor schliesst. Aber das ist ja kein Problem, weil sie ja in die Skybox kommen. Womit wir auch schon beim nächsten Punkt wären.



7.) Wie erstelle ich eine Skybox ?

Erstellt einen Cube (:BBGeneric: ) mit den Kantenlängen eurer importierten Texturen und subtractet ( ) ihn ausserhalb eures eigentlichen Levels. Er darf keine Verbindung zu euren Level haben, ok? Wählt jetzt die einzelnen Seiten des Brushes einzeln aus und belegt sie einzeln mit den jeweiligen Texturen. (Nord-Seite -> Nord-Textur, Süd-Seite -> Südtextur)

Wählt dazu jeweils die passende Textur im Texture-Browser aus und markiert dann im 3d-Viewport die Seite auf die sie gelegt werden soll und drückt einmal bei gehaltener Shift-Taste die linke Maustaste.

Wenn alle Würfelseiten mit den passenden Texturen belegt sind, wählen wir sie alle aus und aktivieren in den Surfaceproperties (F5) unter dem Reiter "Flags" das Kästchen Unlit.

Jetzt müssen wir dem Editor noch klar machen, dass dieser Würfel und nicht irgendein anderer die Skybox ist. Dazu öffnen wir den Actorbrowser ( ) und wählen unter Info / Zoneinfo den Eintrag SkyZoneInfo aus. Diese SkyzoneInfo fügen wir jetzt in die Skybox ein. Jetzt müssen nur noch alle Texturen in der Map, auf denen später der Himmel zu sehen ist in den Surfaceproperties das Häkchen "Fake Backdrop" aktiviert bekommen und fertig.

Damit der Himmelseffekt auch im Editor sichtbar ist und nicht nur im Spiel muss man noch mit der rechten Maustast auf den oberen Rand des 3d-Viewports klicken und folgendes auswählen: