De/3D Skybox: Difference between revisions

From Valve Developer Community
< De
Jump to navigation Jump to search
(fixed the worst things...)
m (Multipage removal)
 
(18 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:3D Skybox}}
{{LanguageBar|title = 3D Skybox}}
{{otherlang2
{{subpage|[[Skybox Basics]]}}
|ru=3D Skybox:ru
|it=3D Skybox:it
|en=3D Skybox
}}


Eine ''3D Skybox'' kann eine eindrucksvolle Ergänzung der visuellen Erscheingung eines Levels darstellen. Die 3D Skybox ist ein extra vom Leveldesigner konstruierter Levelbereich, der außerhalb der Grenzen des spielbaren Bereichs der Map liegt. Der Client rendert alle [[Leaf:de|leaves]] in der 3D Skybox seperat und mit einer eigenen Projektionsmatrize. Dies ermöglicht den Eindruck eines viel größeren Levels zu Erschaffen ohne unnötig Resourcen zu verschwenden. 3D Skyboxen sind nicht interaktiv – der Spieler und andere Entities können nicht in den Bereich der 3D Skybox gehen.
Eine ''3D Skybox'' kann eine eindrucksvolle Ergänzung der visuellen Erscheinung eines Levels darstellen. Die 3D Skybox ist ein extra vom Leveldesigner konstruierter Levelbereich, der außerhalb der Grenzen des spielbaren Bereichs der Map liegt. Der Client rendert alle {{L|Visleaf|leaves}} in der 3D Skybox seperat und mit einer eigenen Projektionsmatrize. Dies ermöglicht den Eindruck eines viel größeren Levels, ohne dabei unnötig Resourcen zu verschwenden. 3D Skyboxen sind nicht interaktiv – der Spieler und andere Entities können den Bereich der 3D Skybox nicht betreten.


In der 3D Skybox können [[Brush:de|Brushes]] und [[Model:de|Models]] standardmäßig wie im normalen Level genutzt werden. Nahtlohse Übergänge der Levelgeometrie zu der 3D Skybox sind durchaus möglich und werden in vielen Maps offizieller Source Spiele, wie [[Counter-Strike: Source]], verwendet.
In der 3D Skybox können {{L|Brush|Brushes}} und {{L|Model|Models}} standardmäßig wie im normalen Level genutzt werden. Nahtlohse Übergänge der Levelgeometrie zu der 3D Skybox sind durchaus möglich und werden in vielen Maps offizieller Source Spiele, wie {{L|Counter-Strike: Source}}, verwendet.


{{note:de|Eine 3D Skybox ist kein Ersatz für eine [[2D skybox:de|2D Skybox]]. Die 2D Skybox ist immer im Hintergrund der 3D Skybox. Um die standard 2D Skybox zu editieren oder zu ändern siehe [[Skybox (2D):de|Skybox (2D)]].}}
{{Note|Eine 3D Skybox ist kein Ersatz für eine {{L|2D skybox|2D Skybox}}. Die 2D Skybox ist immer im Hintergrund der 3D Skybox. Um die standard 2D Skybox zu editieren oder zu ändern siehe {{L|Skybox (2D)}}.}}


{{note:de|Portal developers:  ''3D Skyboxen rendern nicht richtig, wenn sie durch ein Portal hindurch beobachtet werden.'' - [[Image:3dSkyboxProb.png|30 px|Beispiel]].}}
{{Note|Portal developers:  ''3D Skyboxen rendern nicht richtig, wenn sie durch ein Portal hindurch beobachtet werden.'' - [[File:3dSkyboxProb.png|30 px|Beispiel]].}}


{{note:de|In Left 4 Dead ist die Standardskalierung 1:32, NICHT 1:16 (aber 1:16 funktioniert richtig!)}}
{{Note|In Left 4 Dead ist die Standardskalierung 1:32, NICHT 1:16 (aber 1:16 funktioniert richtig!)}}


{{note:de|Um Beleuchtungsprobleme zu vermeiden, sollte kein [[light:de|Licht]] benutzt werden (oder irgend etwas anderes ohne Env_ Präfix)}}
{{Note|Um Beleuchtungsprobleme zu vermeiden, sollte kein {{L|light|Licht}} benutzt werden (oder andere Lichter ohne das Env_Präfix)}}


==Vorteile==
==Vorteile==


Standard Skyboxen sind einfache 2D [[Texture|Texturen]], die so auf einen Würfel abgebildet werden, dass sie das Level umrunden. 3D Skyboxen ermöglichen eine Erweiterung der 2D Skybox, da sie mit Hilfe normaler Brushgeometrie und Entities erstellet werden und relativ zur absoluten Position des Spielers im eigentlichen Level gerendert werden. Weiterhin wird dadurch die Nutzung von Parallaxen in der Skybox möglich.
Standard Skyboxen sind einfache 2D {{L|Texture|Texturen}}, die so auf einen Würfel abgebildet werden, dass sie das Level umrunden. 3D Skyboxen ermöglichen eine Erweiterung der 2D Skybox, da sie mit Hilfe normaler Brushgeometrie und Entities erstellet werden und relativ zur absoluten Position des Spielers im eigentlichen Level gerendert werden. Weiterhin wird dadurch die Nutzung von Parallaxen in der Skybox möglich.


Der Hauptvorteil der Benutzung von 3D Skyboxen ist, dass sie dem Leveldesigner erlaubt, eine Map viel größer aussehen zu lassen, als es mit der standard Weltgeometrie möglich ist. Die größte Welt, die ohne eine 3D-Skybox erzeugt werden kann, ist 32768 Einheiten in jede Richtung groß. Unter Verwendung einer 3D Skybox kann die Map um das bis zu 16-fache erweitert werden.
Der Hauptvorteil der Benutzung von 3D Skyboxen ist, dass sie dem Leveldesigner erlaubt, eine Map viel größer aussehen zu lassen, als es mit der standard Weltgeometrie möglich ist. Die größte Welt, die ohne eine 3D-Skybox erzeugt werden kann, ist 32768 Einheiten in jede Richtung groß. Unter Verwendung einer 3D Skybox kann die Map um das bis zu 16-fache erweitert werden.
Line 33: Line 29:
* Unterstützen Materialien wie sie im spielbaren Bereich verwendet werden können, dazu zählen normal mapping, Wasser, Umgebungsmapping, Proxys etc.
* Unterstützen Materialien wie sie im spielbaren Bereich verwendet werden können, dazu zählen normal mapping, Wasser, Umgebungsmapping, Proxys etc.
* Sind nicht-interaktiv – Spieler und andere Welt-Entities können 3D Skyboxen nicht betreten. Die 3D Skybox ist nur eine visuelle Erweiterung der Map.
* Sind nicht-interaktiv – Spieler und andere Welt-Entities können 3D Skyboxen nicht betreten. Die 3D Skybox ist nur eine visuelle Erweiterung der Map.
* Können mit Brushes, Displacements, statischen oder dynamischen Props, Licht, Brush-Entities und Point Entities (wie [[env_sprite:de|env_sprite]]) ausgestattet werden.
* Können mit Brushes, Displacements, statischen oder dynamischen Props, Licht, Brush-Entities und Point Entities (wie {{L|env_sprite}}) ausgestattet werden.
* Jedes Modell, das in der 3D Skybox platziert wird, muss die Skalierung der Skybox kompensieren. Standardmodelle ([[Prop_Types_Overview:de|Props]]) werden für die 3D Skybox nicht richtig skaliert. Spezielle 1/16 Versionen müssen verwendet werden. Für [[Half-Life 2]] können diese Props im <code>models/props_skybox</code>-Verzeichnis gefunden werden.
* Jedes Modell, das in der 3D Skybox platziert wird, muss die Skalierung der Skybox kompensieren. Standardmodelle ({{L|Prop_Types_Overview|Props}}) werden für die 3D Skybox nicht richtig skaliert. Spezielle 1/16 Versionen müssen verwendet werden. Für {{L|Half-Life 2}} können diese Props im <code>models/props_skybox</code>-Verzeichnis gefunden werden.
* Sollten keine [[info_player_start:de|info_player_start]], NPCs oder Monsters enthalten.
* Sollten keine {{L|info_player_start}}, NPCs oder Monsters enthalten.
* haben in Relation zum spielbaren Bereich kleinere Lightmap- und Texturauflösungen aufgrund der Skalierung, mit der sie erstellt werden.
* haben in Relation zum spielbaren Bereich kleinere Lightmap- und Texturauflösungen aufgrund der Skalierung, mit der sie erstellt werden.
* Müssen ihre eigene Lichtquelle haben, obwohl ein [[light_environment:de|light_environment]] im nicht-Skybox Bereich ebenfalls für die 3D Skybox Beleuchtung verwendet wird.
* Müssen ihre eigene Lichtquelle haben, obwohl ein {{L|light_environment}} im nicht-Skybox Bereich ebenfalls für die 3D Skybox Beleuchtung verwendet wird.
* Das [[sky_camera:de|sky_camera]]-Entity muss benutzt werden, um die Position der 3D Skybox in Relation zum Level zu definieren.
* Das {{L|sky_camera}}-Entity muss benutzt werden, um die Position der 3D Skybox in Relation zum Level zu definieren.
* 3D Skyboxen haben ihre eigenen, in der [[sky_camera:de|sky_camera]]-Entity einstellbaren, Nebelparameter.
* 3D Skyboxen haben ihre eigenen, in der {{L|sky_camera}}-Entity einstellbaren, Nebelparameter.
* Geometrie in der 3D Skybox kann nicht durch Leaves optimiert werden. Deshalb sollte man kostspielige Materialien mit Bedacht verwenden.
* Geometrie in der 3D Skybox kann nicht durch Leaves optimiert werden. Deshalb sollte man kostspielige Materialien mit Bedacht verwenden.
* Eine Map muss ein <code>[[light_environment:de|light_environment]]</code> enthalten, andernfalls werden Modelle in der 3D Skybox falsch leuchten. Ein <code>light_environment</code> in dem nicht-Skybox Teil der Map hebt den Bedarf eines in der 3D Skybox auf.
* Eine Map muss ein <code>{{L|light_environment}}</code> enthalten, andernfalls werden Modelle in der 3D Skybox falsch leuchten. Ein <code>light_environment</code> in dem nicht-Skybox Teil der Map hebt den Bedarf eines in der 3D Skybox auf.


==Konstruktion von 3D Skyboxen==
==Konstruktion von 3D Skyboxen==
* Eine Anmerkung über das folgende Verfahren: Point-Entities werden nicht runterskaliert.
* Eine Anmerkung über das folgende Verfahren: Point-Entities werden nicht runterskaliert.


# Eine [[sky_camera:de|sky_camera]]-Entity am Weltnullpunkt (Koordinaten 0, 0, 0), dem Mittelpunkt des Maprasters, hinzufügen. Die [[sky_camera:de|sky_camera]] ist ein Referenzpunkt, der vom Renderer genutzt wird, um die 3D Skybox an der Hauptmap auszurichten. In anderen Worten agiert es als Markierung, die dem Renderer mitteilt, wie sich der 3D Skyboxnullpunkt und der Weltnullpunkt zueinander verhalten. Man kann sich den Prozess so vorstellen, als würde man die 3D Skyboxgeometrie auswählen und dann die [[sky_camera:de|sky_camera]]-Entity in dieser Auswahl mit dem Weltnullpunkt '''(0,0,0)''' ausrichten. Die Geometrie wird zurück zur Position in der Welt ''übersetzt''. Das ist das gleiche Konzept, wie das Rendern der Skybox in der Engine.
# Eine {{L|sky_camera}}-Entity am Weltnullpunkt (Koordinaten 0, 0, 0), dem Mittelpunkt des Maprasters, hinzufügen. Die {{L|sky_camera}} ist ein Referenzpunkt, der vom Renderer genutzt wird, um die 3D Skybox an der Hauptmap auszurichten. In anderen Worten agiert es als Markierung, die dem Renderer mitteilt, wie sich der 3D Skyboxnullpunkt und der Weltnullpunkt zueinander verhalten. Man kann sich den Prozess so vorstellen, als würde man die 3D Skyboxgeometrie auswählen und dann die {{L|sky_camera}}-Entity in dieser Auswahl mit dem Weltnullpunkt '''(0,0,0)''' ausrichten. Die Geometrie wird zurück zur Position in der Welt ''übersetzt''. Das ist das gleiche Konzept, wie das Rendern der Skybox in der Engine.
# Einige verschiedene Teile des Levels, die man für eine Richtlinie zur Skalierung und Positionierung in der 3D Skybox verwenden kann, auswählen. Übliche Elemente zum Auswählen für diesen Zweck würden einige große Strukturen sein, wie Wände, Klippen, Berge etc. Das definiert die Grenzen der Map. Man muss sicher gehen, dass man die [[sky_camera:de|sky_camera]], die man erstellt hat, ausgewählt hat. {{note:de|Es ist wichtig '''nicht''' irgendwelche Entities sondern nur Brushes auszuwählen. Modelle können nicht als Referenzgeometrie verwendet werden, weil Modelle im Hammer Editor nicht runterskaliert werden können.}}
# Einige verschiedene Teile des Levels, die man für eine Richtlinie zur Skalierung und Positionierung in der 3D Skybox verwenden kann, auswählen. Übliche Elemente zum Auswählen für diesen Zweck würden einige große Strukturen sein, wie Wände, Klippen, Berge etc. Das definiert die Grenzen der Map. Man muss sicher gehen, dass man die {{L|sky_camera}}, die man erstellt hat, ausgewählt hat. {{Note|Es ist wichtig '''nicht''' irgendwelche Entities sondern nur Brushes auszuwählen. Modelle können nicht als Referenzgeometrie verwendet werden, weil Modelle im Hammer Editor nicht runterskaliert werden können.}}
# '''Copy''' aus dem '''Edit''' Menü auswählen oder Cstrg+C drücken.
# '''Copy''' aus dem '''Edit''' Menü auswählen oder Cstrg+C drücken.
# '''Paste Special''' aus dem '''Edit''' Menü auswählen. Die '''Number of copies to paste''' muss auf '''1''' und alle anderen Werte auf '''0''' gesetzt werden. '''OK''' drücken. Das erstellt eine Kopie der ausgewählten Geometrie.
# '''Paste Special''' aus dem '''Edit''' Menü auswählen. Die '''Number of copies to paste''' muss auf '''1''' und alle anderen Werte auf '''0''' gesetzt werden. '''OK''' drücken. Das erstellt eine Kopie der ausgewählten Geometrie.
# '''Scaling Texture Lock''' in der Toolbar anschalten, wenn es noch nicht aktiviert ist. Das Symbol ähnelt <tl>. Dadurch werden die Texturen mitsamt der Geometrie geschrumpft.
# '''Scaling Texture Lock''' in der Toolbar anschalten, wenn es noch nicht aktiviert ist. Das Symbol ähnelt <tl>. Dadurch werden die Texturen mitsamt der Geometrie geschrumpft.
# Geometrie ausgewählt lassen und '''Transform''' aus dem '''Tools''' Menü auswählen. Den Radiobutton zum '''Skalieren''' auswählen. Den Wert '''.0625 für X, Y und Z''' eingeben. Das ist das dezimale Äquivalent zu 1/16 – die Skalierung der 3D Skybox. '''OK'''anklicken. {{note:de|Wenn man Texturen auf der Geometrie entsprechend skalieren will, muss man sicher gehen, dass Texture Lock aktiviert ist.}}
# Geometrie ausgewählt lassen und '''Transform''' aus dem '''Tools''' Menü auswählen. Den Radiobutton zum '''Skalieren''' auswählen. Den Wert '''.0625 für X, Y und Z''' eingeben. Das ist das dezimale Äquivalent zu 1/16 – die Skalierung der 3D Skybox. '''OK'''anklicken. {{Note|Wenn man Texturen auf der Geometrie entsprechend skalieren will, muss man sicher gehen, dass Texture Lock aktiviert ist.}}
# Jetzt hat man eine 1/16 Skalierung der Referenzgeometrie. Nun muss es zu einem anderem Teil der Karte gezogen (bewegt) werden, wo die 3D Skybox erstellt werden soll. Es ist egal, wo das ist, solange es keinen Teil der Haupt-Levelgeometrie berührt.
# Jetzt hat man eine 1/16 Skalierung der Referenzgeometrie. Nun muss es zu einem anderem Teil der Karte gezogen (bewegt) werden, wo die 3D Skybox erstellt werden soll. Es ist egal, wo das ist, solange es keinen Teil der Haupt-Levelgeometrie berührt.
# Die [[sky_camera:de|sky_camera]]-Entity aus dem normalen Mapbereich löschen, in dem man startete. ''Wichtig'': nur die [[sky_camera:de|sky_camera]]-Entity in der 3D Skybox sollte auf der Map bleiben. In L4D2 (und möglicherweise anderen Source Spielen) wird das Vergessen dieses Schrittes (mehrere sky_cameras auf der Map zu haben) darin resultieren, dass alle Navigationsbereiche blockiert sind.
# Die {{L|sky_camera}}-Entity aus dem normalen Mapbereich löschen, in dem man startete. ''Wichtig'': nur die {{L|sky_camera}}-Entity in der 3D Skybox sollte auf der Map bleiben. In L4D2 (und möglicherweise anderen Source Spielen) wird das Vergessen dieses Schrittes (mehrere sky_cameras auf der Map zu haben) darin resultieren, dass alle Navigationsbereiche blockiert sind.
# Die 3D Skybox-Geometrie um die Referenzgeometrie, die als Führung verwendend, bauen. Man kann Skyboxgeometrie erstellen, die die Referenzgeometrie nahtlos berührt. Man kann Brushes und Displacements verwenden. Modelle können auch platziert werden, da die 3D Skybox aber eine 1/16 Skalierung besitzt, muss jedes Modell ebenfalls eine 1/16 Skalierung besitzen. Das Modell <code>hl2\models\props_skybox\coast01.mdl</code> ist ein Beispielmodell mit 1/16 Skalierung. Die Kamera in Höhe des Spielers zu platzieren verschafft ein gutes Gefühl dafür, wie die 3D Skybox gerendert aussehen wird.
# Die 3D Skybox-Geometrie um die Referenzgeometrie, die als Führung verwendend, bauen. Man kann Skyboxgeometrie erstellen, die die Referenzgeometrie nahtlos berührt. Man kann Brushes und Displacements verwenden. Modelle können auch platziert werden, da die 3D Skybox aber eine 1/16 Skalierung besitzt, muss jedes Modell ebenfalls eine 1/16 Skalierung besitzen. Das Modell <code>hl2\models\props_skybox\coast01.mdl</code> ist ein Beispielmodell mit 1/16 Skalierung. Die Kamera in Höhe des Spielers zu platzieren verschafft ein gutes Gefühl dafür, wie die 3D Skybox gerendert aussehen wird.
# Einen hohlen Brush Würfel um die Referenzgeometrie hinzufügen und das <code>tools\toolsskybox</code> Material zuweisen. Der 3D Skybox-Bereich muss mit diesem Würfeln versiegelt werden.
# Einen hohlen Brush Würfel um die Referenzgeometrie hinzufügen und das <code>tools\toolsskybox</code> Material zuweisen. Der 3D Skybox-Bereich muss mit diesem Würfeln versiegelt werden.
# Die gesamte Referenzgeometrie '''außer''' die [[sky_camera:de|sky_camera]]-Entity entfernen. Es funktioniert vielleicht am besten, wenn die Referenzgeometrie in ihre eigene Visgroup hinzugefügt wird, sodass sie an- und ausgestellt oder ersetzt werden kann. Sie muss vor dem Kompilieren ausgestellt werden oder wird in die 3D Skybox kompiliert.
# Die gesamte Referenzgeometrie '''außer''' die {{L|sky_camera}}-Entity entfernen. Es funktioniert vielleicht am besten, wenn die Referenzgeometrie in ihre eigene Visgroup hinzugefügt wird, sodass sie an- und ausgestellt oder ersetzt werden kann. Sie muss vor dem Kompilieren ausgestellt werden oder wird in die 3D Skybox kompiliert.
# Die Originale Map benötigt noch das <code>tools\toolsskybox</code> Material wo der Himmel zu sehen seien soll. Es werden jetzt die 3D und die 2D Skybox gerendert.
# Die Originale Map benötigt noch das <code>tools\toolsskybox</code> Material wo der Himmel zu sehen seien soll. Es werden jetzt die 3D und die 2D Skybox gerendert.


Line 69: Line 65:
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip HL2 sample VMF for 3D Skybox water/world]
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip HL2 sample VMF for 3D Skybox water/world]


{{envart}}


[[Category:Level Design:de]]
{{envart}}{{envart}}
[[Category:Glossary:de]]
{{ACategory|Level Design}}{{ACategory|Tutorials}}{{ACategory|Skybox}}{{ACategory|Source}}
[[Category:Tutorials:de]]
[[Category:Skybox:de]]
[[Category:German]]

Latest revision as of 03:54, 12 July 2024

English (en)Deutsch (de)Italiano (it)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Eine 3D Skybox kann eine eindrucksvolle Ergänzung der visuellen Erscheinung eines Levels darstellen. Die 3D Skybox ist ein extra vom Leveldesigner konstruierter Levelbereich, der außerhalb der Grenzen des spielbaren Bereichs der Map liegt. Der Client rendert alle leaves(en) in der 3D Skybox seperat und mit einer eigenen Projektionsmatrize. Dies ermöglicht den Eindruck eines viel größeren Levels, ohne dabei unnötig Resourcen zu verschwenden. 3D Skyboxen sind nicht interaktiv – der Spieler und andere Entities können den Bereich der 3D Skybox nicht betreten.

In der 3D Skybox können Brushes(en) und Models(en) standardmäßig wie im normalen Level genutzt werden. Nahtlohse Übergänge der Levelgeometrie zu der 3D Skybox sind durchaus möglich und werden in vielen Maps offizieller Source Spiele, wie Counter-Strike: Source(en), verwendet.

Note.pngBemerkung:Eine 3D Skybox ist kein Ersatz für eine 2D Skybox(en). Die 2D Skybox ist immer im Hintergrund der 3D Skybox. Um die standard 2D Skybox zu editieren oder zu ändern siehe Skybox (2D)(en).
Note.pngBemerkung:Portal developers: 3D Skyboxen rendern nicht richtig, wenn sie durch ein Portal hindurch beobachtet werden. - Beispiel.
Note.pngBemerkung:In Left 4 Dead ist die Standardskalierung 1:32, NICHT 1:16 (aber 1:16 funktioniert richtig!)
Note.pngBemerkung:Um Beleuchtungsprobleme zu vermeiden, sollte kein Licht(en) benutzt werden (oder andere Lichter ohne das Env_Präfix)

Vorteile

Standard Skyboxen sind einfache 2D Texturen(en), die so auf einen Würfel abgebildet werden, dass sie das Level umrunden. 3D Skyboxen ermöglichen eine Erweiterung der 2D Skybox, da sie mit Hilfe normaler Brushgeometrie und Entities erstellet werden und relativ zur absoluten Position des Spielers im eigentlichen Level gerendert werden. Weiterhin wird dadurch die Nutzung von Parallaxen in der Skybox möglich.

Der Hauptvorteil der Benutzung von 3D Skyboxen ist, dass sie dem Leveldesigner erlaubt, eine Map viel größer aussehen zu lassen, als es mit der standard Weltgeometrie möglich ist. Die größte Welt, die ohne eine 3D-Skybox erzeugt werden kann, ist 32768 Einheiten in jede Richtung groß. Unter Verwendung einer 3D Skybox kann die Map um das bis zu 16-fache erweitert werden.

Da 3D Skyboxen seperat gerendert werden, sind sie nicht an die selbe maximale Zeichendistanz, wie sie im spielbaren Bereich definiert ist, gebunden.

Basischarakteristiken

3D Skyboxen haben folgende Charakteristiken:

  • Werden (standardmäßig) mit 1/16 Skalierung im Hammer Editor erzeugt und dann mit der 16-fachen Größe von der Engine gerendert, um zur Weltgeometrie zu passen.
  • Unterstützen Materialien wie sie im spielbaren Bereich verwendet werden können, dazu zählen normal mapping, Wasser, Umgebungsmapping, Proxys etc.
  • Sind nicht-interaktiv – Spieler und andere Welt-Entities können 3D Skyboxen nicht betreten. Die 3D Skybox ist nur eine visuelle Erweiterung der Map.
  • Können mit Brushes, Displacements, statischen oder dynamischen Props, Licht, Brush-Entities und Point Entities (wie env_sprite(en)) ausgestattet werden.
  • Jedes Modell, das in der 3D Skybox platziert wird, muss die Skalierung der Skybox kompensieren. Standardmodelle (Props(en)) werden für die 3D Skybox nicht richtig skaliert. Spezielle 1/16 Versionen müssen verwendet werden. Für Half-Life 2(en) können diese Props im models/props_skybox-Verzeichnis gefunden werden.
  • Sollten keine info_player_start(en), NPCs oder Monsters enthalten.
  • haben in Relation zum spielbaren Bereich kleinere Lightmap- und Texturauflösungen aufgrund der Skalierung, mit der sie erstellt werden.
  • Müssen ihre eigene Lichtquelle haben, obwohl ein light_environment(en) im nicht-Skybox Bereich ebenfalls für die 3D Skybox Beleuchtung verwendet wird.
  • Das sky_camera(en)-Entity muss benutzt werden, um die Position der 3D Skybox in Relation zum Level zu definieren.
  • 3D Skyboxen haben ihre eigenen, in der sky_camera(en)-Entity einstellbaren, Nebelparameter.
  • Geometrie in der 3D Skybox kann nicht durch Leaves optimiert werden. Deshalb sollte man kostspielige Materialien mit Bedacht verwenden.
  • Eine Map muss ein light_environment(en) enthalten, andernfalls werden Modelle in der 3D Skybox falsch leuchten. Ein light_environment in dem nicht-Skybox Teil der Map hebt den Bedarf eines in der 3D Skybox auf.

Konstruktion von 3D Skyboxen

  • Eine Anmerkung über das folgende Verfahren: Point-Entities werden nicht runterskaliert.
  1. Eine sky_camera(en)-Entity am Weltnullpunkt (Koordinaten 0, 0, 0), dem Mittelpunkt des Maprasters, hinzufügen. Die sky_camera(en) ist ein Referenzpunkt, der vom Renderer genutzt wird, um die 3D Skybox an der Hauptmap auszurichten. In anderen Worten agiert es als Markierung, die dem Renderer mitteilt, wie sich der 3D Skyboxnullpunkt und der Weltnullpunkt zueinander verhalten. Man kann sich den Prozess so vorstellen, als würde man die 3D Skyboxgeometrie auswählen und dann die sky_camera(en)-Entity in dieser Auswahl mit dem Weltnullpunkt (0,0,0) ausrichten. Die Geometrie wird zurück zur Position in der Welt übersetzt. Das ist das gleiche Konzept, wie das Rendern der Skybox in der Engine.
  2. Einige verschiedene Teile des Levels, die man für eine Richtlinie zur Skalierung und Positionierung in der 3D Skybox verwenden kann, auswählen. Übliche Elemente zum Auswählen für diesen Zweck würden einige große Strukturen sein, wie Wände, Klippen, Berge etc. Das definiert die Grenzen der Map. Man muss sicher gehen, dass man die sky_camera(en), die man erstellt hat, ausgewählt hat.
    Note.pngBemerkung:Es ist wichtig nicht irgendwelche Entities sondern nur Brushes auszuwählen. Modelle können nicht als Referenzgeometrie verwendet werden, weil Modelle im Hammer Editor nicht runterskaliert werden können.
  3. Copy aus dem Edit Menü auswählen oder Cstrg+C drücken.
  4. Paste Special aus dem Edit Menü auswählen. Die Number of copies to paste muss auf 1 und alle anderen Werte auf 0 gesetzt werden. OK drücken. Das erstellt eine Kopie der ausgewählten Geometrie.
  5. Scaling Texture Lock in der Toolbar anschalten, wenn es noch nicht aktiviert ist. Das Symbol ähnelt <tl>. Dadurch werden die Texturen mitsamt der Geometrie geschrumpft.
  6. Geometrie ausgewählt lassen und Transform aus dem Tools Menü auswählen. Den Radiobutton zum Skalieren auswählen. Den Wert .0625 für X, Y und Z eingeben. Das ist das dezimale Äquivalent zu 1/16 – die Skalierung der 3D Skybox. OKanklicken.
    Note.pngBemerkung:Wenn man Texturen auf der Geometrie entsprechend skalieren will, muss man sicher gehen, dass Texture Lock aktiviert ist.
  7. Jetzt hat man eine 1/16 Skalierung der Referenzgeometrie. Nun muss es zu einem anderem Teil der Karte gezogen (bewegt) werden, wo die 3D Skybox erstellt werden soll. Es ist egal, wo das ist, solange es keinen Teil der Haupt-Levelgeometrie berührt.
  8. Die sky_camera(en)-Entity aus dem normalen Mapbereich löschen, in dem man startete. Wichtig: nur die sky_camera(en)-Entity in der 3D Skybox sollte auf der Map bleiben. In L4D2 (und möglicherweise anderen Source Spielen) wird das Vergessen dieses Schrittes (mehrere sky_cameras auf der Map zu haben) darin resultieren, dass alle Navigationsbereiche blockiert sind.
  9. Die 3D Skybox-Geometrie um die Referenzgeometrie, die als Führung verwendend, bauen. Man kann Skyboxgeometrie erstellen, die die Referenzgeometrie nahtlos berührt. Man kann Brushes und Displacements verwenden. Modelle können auch platziert werden, da die 3D Skybox aber eine 1/16 Skalierung besitzt, muss jedes Modell ebenfalls eine 1/16 Skalierung besitzen. Das Modell hl2\models\props_skybox\coast01.mdl ist ein Beispielmodell mit 1/16 Skalierung. Die Kamera in Höhe des Spielers zu platzieren verschafft ein gutes Gefühl dafür, wie die 3D Skybox gerendert aussehen wird.
  10. Einen hohlen Brush Würfel um die Referenzgeometrie hinzufügen und das tools\toolsskybox Material zuweisen. Der 3D Skybox-Bereich muss mit diesem Würfeln versiegelt werden.
  11. Die gesamte Referenzgeometrie außer die sky_camera(en)-Entity entfernen. Es funktioniert vielleicht am besten, wenn die Referenzgeometrie in ihre eigene Visgroup hinzugefügt wird, sodass sie an- und ausgestellt oder ersetzt werden kann. Sie muss vor dem Kompilieren ausgestellt werden oder wird in die 3D Skybox kompiliert.
  12. Die Originale Map benötigt noch das tools\toolsskybox Material wo der Himmel zu sehen seien soll. Es werden jetzt die 3D und die 2D Skybox gerendert.

Testen

Wenn die 3D Skybox richtig versiegelt wurde, kann die Map kompiliert und die 3D Skybox in der Engine überprüft werden.

Beispiele


Environment articles:
Skies and environment maps Source Source: Skybox (2D)Skybox (3D)HDR SkiesSkybox with TerragenSkybox with Terragen - AdvancedList of skies


Source 2 Source 2: Skybox (3D)

Terrain and displacement mapping DisplacementsCreating Holes in DisplacementsDigital Elevation ModelsCreating custom terrain with Worldmachine
Environment articles:
Skies and environment maps Source Source: Skybox (2D)Skybox (3D)HDR SkiesSkybox with TerragenSkybox with Terragen - AdvancedList of skies


Source 2 Source 2: Skybox (3D)

Terrain and displacement mapping DisplacementsCreating Holes in DisplacementsDigital Elevation ModelsCreating custom terrain with Worldmachine