Nicht eingeloggt
Registrieren

Skyboxen f√ľr Fortgeschrittene

Tutorial: Skyboxen f√ľr Fortgeschrittene

eine kleine Studie



  • Einf√ľhrung
  • Techniken f√ľr die Skybox
    • Skyring
    • DistanceFog
    • Weltraum & Planeten
    • Bew√∂lkter Himmel
    • Sonne in der Skybox
    • Dynamische Skybox


1. Einf√ľhrung


Wie schon in der Gliederung angek√ľndigt, werde ich etwas detaillierter auf das Thema Skybox eingehen.
Die Grundlagen, wie man eine Skybox erstellt, setze ich voraus.
Sie sind im Tutorial ‚ÄěSkybox erstellen f√ľr Anf√§nger‚Äú erl√§utert.



Eigentlich eine blöde Frage, aber was ist eine Skybox? Was macht sie?
Diese Fragen sollte man sich doch schon einmal zur Gem√ľte f√ľhren, um besser mit ihr arbeiten zu k√∂nnen.
Eine Skybox ist in ihrem eigentlichen Sinne eine Erweiterung f√ľr die Map, da sie einen schier unendlichen Himmel vorgaukelt und der Map so einen h√∂heren Realit√§tsgrad verleiht. Und das noch ziemlich performance-schonend.
Technisch gesehen ist die SkyZoneInfo eine art Kleine Kamera, die an einem unbeweglichen Punkt in der Mitte der Box sitzt und den selben Sichtwinkel wie der Spieler einnimmt.
Schaut der Spieler nach oben links, schaut die SkyZoneInfo-Kamera auch nach oben links. Schaut er nach unten, schaut die Kamera im exakt gleichen Winkel auch nach unten.
Texturen, die mit der Eigenschaft FakeBackdrop belegt sind, werden ausgeblendet und dahinter erscheinen die Bilder, die die SkyZoneInfo-Kamera sammelt.
Der Effekt des schier endlosen Himmels wird im Grunde nur dadurch erreicht, dass der Punkt, mit dem das Sichtfeld verbunden ist, fixiert ist. Anders als beim Spieler, wo das Sichtfeld mit dem sich bewegendem Spieler verbunden ist.


Doch genug von der Technik, das ist ja schließlich den Entwicklern vorbehalten. Wer seine Vokabeln lernt bringt es ja auch zu einer funktionalen Skybox.
Die Frage die alle interessiert ist jedoch der anspruchsvollste Teil an der Skybox; welche passt zu meinem Level?
Das kann man nat√ľrlich nicht generell beantworten, der kreative Teil ist immer dem Mapper selbst √ľberlassen. Da es ein gro√üer Vorteil ist, die verschiedensten Techniken zu kennen, k√∂nnte dieses Tutorial euch einen kleinen √úberblick verschaffen.


Kommen wir zum Hauptteil:
Die verschiedenen Techniken



2. Der Skyring

Der Skyring ist ein zylinder-förmiger StaticMesh, der nach oben und unten hin offen ist und eine Wolken oder Dunstschicht simuliert.

Ein bekanntes Beispiel daf√ľr ist aus BR-Skyline.


Zum vergrößern
auf Bilder klicken!


Die Map spielt weit oben √ľber dem Grund. Unten ist der Grund zu sehen und oben f√§ngt der Himmel an.
Der Autor hat es sich ziemlich einfach gemacht, denn dadurch, dass er den Skyring zwischen Himmel und Erde positioniert hat, hat er sich einen nahtlosen √úbergang geschaffen, der in das Maplayout passt.


Das ist √ľbrigens eine sehr gute Methode, da man nicht auf die vergleichsweise wenigen Texturen angewiesen ist, die diesen √úbergang haben und verleiht der Skybox ein gewisses Ma√ü an Flexibilit√§t, beispielsweise, wenn man hinterher den Grund oder Himmel ver√§ndern wollte.


Hier wäre das zum Beispiel mit Sternenhimmel. Anstatt extra 6 zusammenpassende Skyboxtexturen zu suchen oder zu machen, kann man die Skybox verändern, andere texturen kombinieren. Das Fading des Skyrings, lässt dabei den Dunst oder das Himmelsbild mit dem Himmel oder der Erde miteinander verschmelzen.


Der Skyring muss nat√ľrlich nicht zwangsl√§ufig Himmel und Erde verbinden. Die Tatsache dass er als Fogring den Blickwinkel etwas nach oben lenkt indem er die Sicht nach hinten auf die nicht vorhandenen Hintergr√ľnde einschr√§nkt, macht ihn auch f√ľr diese Situation sehr hilfreich:


Eine Bergregion muss nicht zwangsl√§ufig gro√üe Berge im Hintergrund haben, man kann alles hinter dem Spielraum in einen sanften Schleier h√ľllen und so den Aufwand am Hintergrund reduzieren. Au√üerdem sieht das in Kombination mit gleichfarbigem, dezenten DistanceFog gleich viel sch√∂ner aus.
Der Effekt lässt sich durch verschieben des Skyrings etwas variieren, ich denke das Ergebnis kann sich sehen lassen.

 




Ein anderes Beispiel eines Skyrings wäre der aus DM-Inferno.


Brodelnde Lava, Flammende Höllenfeuer, untermalt von orangenem DistanceFog. Ein wahnsinnig toller Effekt, der eigentlich sehr simpel erzeugt wurde:


Der Unterschied hierbei ist einfach nur der, dass die Höhlen im Hintergrund Nebensache sind und der animierte Skyring den Großteil der Skybox einnimmt. So drängen die emporlodernden Flammen, das etwas spartanische Höhlenbild in den Hintergrund.
Immerhin hat der Spieler in etwa 80% seines Spiels den Blick horizontal gerichtet. Was interessiert den also was genau √ľber ihm ist?



Andere Formen des Skyrings erscheinen noch simpler, indem man sie einfach f√ľr den Background missbraucht. Das ist kein Skyring mehr in seiner eigentlichen Definition. Dieses Gebilde ist in seiner Herstellung aber viel leichter, als daraus Texturen zu machen.


3. DistanceFog

DistanceFog? Was hat der denn mit ner Skybox zu tun? Dazu braucht man doch nichtmal eine! - Haha! Denkste…
Denn ein Nebeneffekt des DistanceFogs ist, dass er ab einem Gewissen Radius alles ausblendet was der Nebel verschlingt.


So sieht die Sache dann im Editor aus. Ziemlich unschön, im Spiel entwickelt sich das dann sogar zu einem ausgewachsenen BSP-Hole:


Um den entgegenzuwirken braucht man eine Skybox. Das ist so einfach wie genial:

In dieser Map wurde der DistanceFog in ein bestimmtes Grau gefärbt. Dieses nimmt man sich nun aus den Properties und erstellt im TextureBrowser eine ConstantColor, die genau diese Farbe trifft. Dazu helfen dann die Werte damit exakt die Farbe stimmt.



Belegt man jetzt die Skybox mit dieser ConstantColor, haben Skybox und Nebel die selbe Farbe und es wird einfach alles was ausgeblendet wird durch die Sicht in die Skybox ersetzt.
Um das mal zu erläutern:



Alles was hier Rot gefärbt ist, ist ausgeblendet da es außerhalb des Radius liegt. Da in diesem Beispiel die Skybox die Farbe Rot hatte, kann man sehen, dass keine Fehler mehr an den Stellen entstehen wo der Hintergrund ausgeblendet wurde, sondern dass an diesen Stellen die Skybox zu sehen ist.


Das sieht doch gleich viel einladender und sinnvoller aus wenn man diese Methode anwendet und Nebel und Skybox gleichfarbig sind...

Ein Kollege brachte mich mal darauf, dass es m√∂glich ist, keinen DistanceFog aus der ZoneInfo zu nehmen, sondern den VolumeFog eines normalen Volumes. Das h√§tte den Vorteil, dass der VolumeFog schlicht nichts ausblendet und den oben aufgef√ľhrten Fehler nicht verursacht.
Andererseits hat der VolumeFog zwei entscheidende Nachteile:
Den DistanceFog kann man im Editor sehen, den VolumeFog nicht. Der ist nur im Spiel zu sehen, was das Anpassen etwas schwieriger gestaltet. Der andere Nachteil ist die Tatsache, dass das Ausblenden von Objekten im Hintergrund nicht unbedingt schlecht ist! Denn was ausgeblendet wird, wird nicht berechnet, ergo mehr performance.
Im Prinzip die einzig logische Methode um in einer gro√üen, offenen Map Nebel zu benutzen und hinterher noch gute Performance bieten zu k√∂nnen. VolumeFog lohnt sich als nur bei kleineren Maps. Wenn √ľberhaupt.


4. Weltraum & Planeten


Es gibt eine Vielzahl von SciFi-Welten und irgendwann packt einen die Lust so etwas auch einmal zu machen.
Was aber ist eine Space-Map ohne endloses Weltall?
Sehen wir uns mal ein paar Parade-Beispiele an.


Hier eine wunderschöne SkyBox: Ein Haufen Arbeit in Form eines glaubhaften Weltalls mit zahlreichen Effekten und Emittern.

Doch um gleich mal einem Zuvorzukommen:
Es ist ein allgemein verbreitetes Irrtum, Planeten oder Lichtflecken in der Skybox mit Coronen zu machen. Leute, das ist falsch.


Sogar der Autor dieser Box hat es richtig gemacht, indem er die Planeten, Galaxien und Blendflecke aus Sheets gemacht hat.
Der Grund das zu tun ist einfach wie logisch: Coronen haben den Sinn, Texturen immer zum Spieler zu drehen wenn dieser sich bewegt und umsieht.
Eine Skybox braucht das nicht. Da Die SkyZoneInfo immer den Selben Winkel zum Objekt hat, ist es sinnlos wie fehlertr√§chtig, z.B. eine Sonne als Corona zu machen. Sheets erf√ľllen ihren Zweck mehr als genug und sind in jedem Fall die bessere Wahl!



Wenn es um Space-Maps geht, darf DM-Phobos2 nat√ľrlich nicht fehlen!
Und mit 3648x4960 hat sie sogar eine der größten Skyboxen. Das besondere an dieser ist, dass sie keine normale Skybox hat, sondern eine RockingSkyZoneInfo. Diese ist eine Erweiterung zur normalen SkyZoneInfo und hat eine ziemlich lustige Funktion: Sie dreht sich!


Die Rotation wird √ľber die markierten Werte in alle 6 Richtungen gesteuert. Das Drehverhalten ist mit dem eines Movers gleich.
Hier mal eine kurze √úbersicht √ľber die Rotationen:


(Quelle)


Im Grunde kann diese Funktion nur in Verbindung mit Weltraum eingesetzt werden, um Dem Raumschiff, der SpaceStation oder Asteroiden oder sonst was ein Spin gegeben wird und das ganze etwas dynamischer und glaubhafter wirken zu lassen. Dass man diesen Effekt auch falsch einsetzen kann sollte CTF-FaceClassic beweisen, da es der einfachste Weg ist, die Spieler in k√ľrzester Zeit zum erbrechen zu bringen. ; )


Auch eine Skybox die ziemlich einzigartig ist, aus DM-Hyperblast2. Allerdings gibt es wohl nicht allzu viele Möglichkeiten diese Art von Skybox zu verwenden.


5. Bewölkter Himmel


Vielleicht kommt es auch mal zu einem etwas d√ľsteren Layout, f√ľr welches ein bew√∂lkter, trister Himmel gerade zu geschaffen ist.
Ein sch√∂nes Beispiel hierzu ist BR-Anubis, dessen Author einen sehr √ľberzeugenden Himmel geschaffen hat.


In der Erstellung ist diese Skybox simpler als man denken w√ľrde:


Der Hintergrund, in diesem Falle die Pyramiden, f√ľllen die Kulisse etwas damit der Spieler denkt, er sei in einer √Ągyptischen Stadt, umgeben von Pyramiden.
Der Sternhimmel ist ein Skyball aus AW-Stellar, allerdings kaum wirklich zu sehen.
Die Wolken sind der schwierigere Teil, da sie weder stillstehen, noch komplett sich bewegen sollen. Denn w√ľrde die komplette Wolkendecke sich bewegen, w√ľrde das eher einem Sandsturm in riesigen H√∂hen gleichkommen als dass man darauf k√§me, es handle sich um bew√∂lkten Himmel.
Stillstehen kann er auch nicht, denn der d√ľstere Effekt wird gerade durch bewegende Wolken erzielt.

Gel√∂st wurde es hier, indem die Wolken die in der gr√∂√üeren Distanz sind, sich nicht bewegen, die Wolken unmittelbar √ľber dem Spielfeld aber beweglich sind. Das hat den Hintergrund: Je weiter etwas entfernt ist, umso langsamer scheint es sich zu bewegen. Da die Skybox leider keine M√∂glichkeit bietet, der Gr√∂√üe des realen Himmels nachzukommen, muss man hier etwas tricksen um den Effekt realit√§tsnah zu bekommen. Die L√∂sung in diesem Falle: Ein Skyring stellt die entfernte unbewegliche Wolkendecke dar, oben ist ein sheet mit einer animierten Textur welche sich bewegt. Durch das Ausfaden (Transparent werden) des Skyrings nach oben, wird ein nahtloser √úbergang zwischen den beweglichen und unbeweglichen Wolken geschaffen.

Das besondre an einem bewölkten Himmel ist also, um das mal festzuhalten, eine Bewegte Wolkentextur und eine unbewegliche Wolkendecke als Skyring. - Klingt doch einfach. Oder?



6. Sonne in der Skybox


Meiner Meinung nach der Beste Teil an einer Skybox ist es, die ganzen sch√∂nen Emitter zu machen. Doch mal abgesehen von Emittern, die man situationsbedingt einbaut, wie die Explosionen auf dem Planeten in AS-Mothership, gibt es so einige ‚ÄěGenerelle Emitter‚Äú die man f√ľr einige Layouts so gut wie jedes Mal benutzen kann:

Die Sonne

Am Anfang w√§re da die Sonne. F√§lschlicherweise oft durch ein Corona dargestellt, kann man ihr einen viel sch√∂neren Effekt geben, wenn man die Gegebenheiten des Emittersystems nutzt. Allerdings setze ich f√ľr diesen Teil ein solides Grundwissen mit dem SpriteEmitter voraus, ich werde nur die Einstellungen kurz anschneiden und die Besonderheiten Erl√§utern.

Die Besten Texturen daf√ľr finden sich im Package EpicParticles und das einzige was man f√ľr eine Sonne machen muss, ist es, etwa 3-4 Partikel unterschiedlicher Gr√∂√üe auf einem Punkt spawnen zu lassen. Diese l√§sst man in unterschiedliche Richtungen rotieren und die Partikel langsam ein- und ausfaden, damit es aussieht, als sei es ein Partikel.

Da das schwierig zu beschreiben ist, schaut euch am besten mal die Sonne aus AS-Convoy an.
Hier k√∂nnt ihr euch einen Emitter von mir herunterladen, den ich mal f√ľr eine Schneemap gebastelt habe. (den Inhalt des Textfiles kopieren, im Editor rechtsklick->Edit->Paste->To Original Location)



7. Dynamische SkyZoneInfo



Von wegen das geht nicht! Hätte ich auch nicht geglaubt, aber eine Erkenntnis die ich letzt erlangt habe, widerlegte meine Überzeugung, dass eine SkyZoneInfo sich nicht bewegen lasse.
So k√∂nnte man seine SkyZoneInfo durch eine aufregende Kulisse fahren lassen, um das Gef√ľhl von Bewegung zu erzeugen.

Gesehen habe ich das in AS-Convoy:


Das besondre an dieser Skybox ist, dass die RockingSkyZoneInfo an einen Mover Attached ist, der sich um den Mittelpunkt einer kleinen, runden Kulisse in der Skybox dreht und so den Eindruck erweckt, der komplette Konvoy w√ľrde sich tats√§chlich in dieser gigantischen W√ľstenregion bewegen!
Jede Map, die auf fahrenden Z√ľgen oder auf Schiffen im Weltraum spielt, die gerade durch den Hyperraum cruisen, sollten auf so eine tolle Skybox nicht verzichten m√ľssen! Der Aufwand, den selben Effekt ohne diese Skybox nachzustellen w√§re gigantisch. ...und unn√∂tig.

Hier kurz die Einstellungen:

Movement -> HardAttach = True
Movement -> AttachTag = der Tag des Movers

und schon kann man die RockingSkyZoneInfo durch seine Skybox wandern und drehen lassen wie es einem gefällt!



-------------------------

Ich verabschiede ich mich an diesem Punkt, ich hoffe das Tutorial war ein wenig hilfreich. Im Grunde sollte es nur zeigen, dass man durch die richtige Skybox noch mehr aus seiner Map rausholen kann und diese daher nicht vernachlässigen sollte.

Dann bis zum Skybox-Tutorial Nr. 3 !


Viel Spaß beim Mappen!



----
Tutorial by Radon (Radon[at]unrealed.de)
Kopien und Veröffentlichungen ohne
schriftliche Erlaubnis sind untersagt!
----