User Tag List

Ergebnis 1 bis 1 von 1

Thema: 12 | Eine Skybox erstellen und den Lichteinfall ändern

  1. #1
    Super-Moderator Avatar von DaEngineer
    Registriert seit
    23.06.2010
    Beiträge
    1.485
    Blog-Einträge
    2
    Renommee-Modifikator
    20

    12 | Eine Skybox erstellen und den Lichteinfall ändern

    Eine Skybox ist nichts anderes als ein Brush mit einer Skyboxtextur, die durch einen Shader (das ist eine spezielle Textdatei) die Anweisung bekommt, Bilder auf eine ganz bestimmte Art zu projizieren, sodass der Eindruck eines Himmels entsteht. Wo diese Skyboxbrushes in den Originalmaps beginnen, könnt ihr ganz leicht testen, indem ihr mit einer Waffe mit sichbaren Projektilen (Rocket Launcher, Plasmagun, BFG...) in den Himmel schießt. Sobald die Projektile den Brush berühren, werden sie verschluckt.

    Für dieses Tutorial verwende ich die Tutorialmap aus Tutorial 11. Ladet sie hier herunter:q3tutorial12.zip

    Lasst uns aus der Decke im großen Raum eine Skybox machen. Klickt die Decke dazu mit [STRG]+[SHIFT]+[LMT] an, da wir nur die Unterseite texturieren müssen und nicht den ganzen Brush. Wählt aus dem Texturmenü die Textur skies/toxicskytim_dm8.

    Wenn ihr genau hinseht, wird euch auffallen, dass um viele der Texturen ein weißer Rahmen ist und um manche nicht. Hat eine Textur einen weißen Rahmen, bedeutet das, dass es sich um eine Textur mit Shader handelt. Die Texturen im skies-Verzeichnis, die keinen Rahmen haben, sind nur Texturen und keine Skyboxen. Das könnt ihr euch für die Zukunft schon mal merken, wenn ihr verschiedene Skies ausprobiert.

    Damit sind wir eigentlich schon fertig und können unsere Map erst mit BSP -meta, dann mit -light -fast kompilieren.

    Name:  q3tut12_01.jpg
Hits: 196
Größe:  20,9 KB

    Es gibt aber noch etwas über Skyboxen zu wissen. Nämlich, wie sie eigentlich eure Map beleuchten und wie ihr den Einfallswinkel des Lichts ändern könnt. Die mitgelieferten Skyboxtexturen machen auf zwei Arten gleichzeitig Licht: zum Einen werfen sie es wie eine echte Sonne auf eure Map, d.h., die Schatten in eurer Map sind parallel zueinander und das Licht wird auf Distanz nicht schwächer.

    Zum Anderen leuchtet die Oberfläche des Skyboxbrushes selbst mit einem Licht, das wie einfache light Entities auf Distanz schwächer wird.

    Wie stark diese beiden Lichtquellen leuchten und in welche Richtung der Lichteinfall gerichtet ist, könnt ihr den Skyboxtexturen im Radiant nicht ansehen. Aber zumindest die Richtung des Lichteinfalls sowie dessen Farbe und Helligkeit kann man ändern. Dazu müssen wir das "Optionsmenü" unserer Map öffnen. Selektiert dazu einen beliebigen Brush. In dieser Tutorialmap gibt es keine Brush-Entities, also Brushes mit speziellen Funktionen, deshalb könnt ihr jeden beliebigen nehmen. Wenn wir Brush-Entities hätten, dürftet ihr diese für den nächsten Schritt nicht auswählen, da ihr sonst die Eigenschaften des Brush-Entities und nicht die der ganzen Map ändern würdet.

    Wenn ihr einen Brush selektiert habt, drückt [N]. In dem Bereich, in dem ihr bereits angegebene Keys und Values ablesen könnt, steht bisher nur classname worldspawn. Sucht im untersten Bereich das Kästchen Ignore Shader Sun und macht ein Häkchen hinein. Sofort wird der Key _noshadersun mit dem Wert 1 eingetragen. Ab jetzt hat unsere Skybox nur noch Oberflächenlicht und keine Sonne mehr.

    Lasst uns eine neue Sonne machen. Dazu brauchen wir zwei Entities: ein target/target_position und ein normales light. Fügt beide in eurer Map ein. Als Lichtstärke gebt ihr 80 an. Platziert das light oberhalb des targets. Deselektiert alles, selektiert dann zuerst das light und danach zusätzlich das target. Die Reihenfolge ist hierbei wichtig! Drückt [STRG]+[K]. Eine grau-blaue Linie ist jetzt zwischen beiden Entities, um zu zeigen, dass sie verbunden sind.

    Die Farbe des lights könnt ihr wie im Lichttutorial beschrieben mit [K] ändern. Wir müssen auch noch festlegen, dass es unsere Sonne sein soll, denn das weiß der Editor bisher nicht. Öffnet deshalb bei selektiertem light das Entitymenü mit [N]. Sucht ganz unten die Box mit dem Titel Directional und macht einen Haken hinein. Dadurch wird der neue Key _sun mit dem Wert 1 eingetragen. Und schon haben wir eine neue Sonne. Die Ausrichtung der Linie vom light zum target_location gibt dabei an, welchen Einfallswinkel das Licht hat.

    Die Farbe der Sonne und die des Lichts der Skyboxoberfläche sollten idealerweise genau gleich sein. Denn wenn die beiden Lichter zusammenkommen, seht ihr "Ränder", falls die Farben sich zu sehr unterscheiden. Zum besseren Verständnis habe ich meine Sonne pink gemacht. Das Oberflächenlicht der Skybox ist jedoch gelblich-orange.

    Name:  q3tut12_02.jpg
Hits: 200
Größe:  43,0 KB

    Wenn die Farben gleich sind, merkt man nichts von den zwei Lichtquellen der Skybox.

    WICHTIG:
    Skyboxen benutzen inzwischen kein Oberflächenlicht mehr. Diese Methode hat nämlich den unangenehmen Nebeneffekt, Oberflächen, die sich näher an der Skybox befinden, heller zu beleuchten als solche, die weiter weg sind. Solange ihr euch noch an den Radiant herantastet und die Grundlagen lernt, könnt ihr vorerst bei der alten Methode bleiben. Wenns dann etwas mehr sein darf, lest euch Tutorial 28, gefolgt von Tutorial 40 durch.
    Geändert von DaEngineer (09.01.2016 um 00:53:30 Uhr)

Ähnliche Themen

  1. Man sieht Brushes durch die Skybox, warum?
    Von MoOnLiGht im Forum Counterstrike Source
    Antworten: 25
    Letzter Beitrag: 03.08.2010, 20:15:21
  2. Eine Only T or CT Zone
    Von B.I.G. im Forum Counterstrike Source
    Antworten: 16
    Letzter Beitrag: 30.06.2010, 06:45:49
  3. [CS:S] 12 - Skybox & Sonne
    Von DaEngineer im Forum Source Engine
    Antworten: 0
    Letzter Beitrag: 28.06.2010, 15:32:46

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]