User Tag List

Ergebnis 1 bis 1 von 1

Thema: 17 - Spiegelungen

  1. #1
    Administrator Avatar von BaShoR
    Registriert seit
    18.06.2010
    Ort
    Oberbayern
    Alter
    26
    Beiträge
    4.194
    Blog-Einträge
    1
    Renommee-Modifikator
    20

    17 - Spiegelungen

    So. Dann möchten wir jetzt zu dem Thema "Spiegelungen" kommen.
    Die Source Engine erstellt ohne euer zutun standardmäßig keine Spiegelungen, das bedeutet, dass nach dem Kompilieren spiegelnde Oberflächen wie Fliesen matt bleiben, anstatt zu reflektieren. Um diesem Makel entgegenzuwirken müsst ihr die hier erklärten Schritte durchführen.

    Erstmal sollte gesagt werden, dass in Source Spiegelungen durch "cubemaps" entstehen.
    Cubemaps sind sozusagen Würfelförmige Kameras, die von dem Punkt aus, an dem sie platziert werden in alle 6 Richtungen (Links, Rechts, Hinten, Vorne, Oben, Unten) ein kleines Bild erstellen, das der Engine hilft, die Spiegelungen in diesem Bereich festzulegen.

    Ich werde euch nun die Grundlagen erklären, anhand eines Beispiels, indem ich einen spiegelnden Fliesenboden haben möchte.
    Ich habe mal eben einen Raum mit der Fliesentextur und ein paar props gebaut.



    So nun möchten wir unseren Boden zum spiegeln bringen.
    Dazu benötigen wir das Entity "env_cubemap", welches wir über die Fliesentextur setzen.



    Jetzt gehen wir noch eben auf die Properties unseres "env_cubemap"-Entitys und gehen dort auf den 2. Punkt: "brush faces". Dort ein kleiner Klick auf Pick und dann drückt ihr im 3D-Fenster auf den Fliesenboden und eine Zahl müsste dort erscheinen, welche die ID des Brushfaces darstellt.



    Diesen Schritt müssen wir aber nicht unbedingt ausführen, da, wenn keine Oberfläche gewählt wurde automatisch alle spiegelnden Oberflächen in der Nähe genommen werden.

    So jetzt können wir unsere Map kompilieren und dann starten wir das Game, in meinem Fall jetzt CSS. Nun müssen wir noch zwei Schritte ausführen, bevor wir unsere Spiegelung bestaunen können.
    Und zwar ist es noch erforderlich den Befehl "buildcubemaps" in die Console einzugeben.



    Zu allerletzt muss nun noch das Game neu gestartet werden, damit die Änderungen auch wirksam werden. Statt eines Spielneustarts reicht es im Normalfall aber auch, vom erstellten Server zu disconnecten und in die Console "mat_reloadallmaterials" einzugeben.
    Am Ende kann es nun so aussehen:





    Zum Vergleich, vorher sah es so aus:



    Cubemaps können auch auf normale Wände etc angewendet werden, darauf möchte ich jetzt aber nicht noch näher eingehen, da es keinen relevanten Unterschied zwischen der Spiegelung auf dem Boden und auf Wänden o.Ä gibt, soll heißen die Prozedur ist dieselbe.
    So ich hoffe ich konnte euch damit, die Grundlagen der Spiegelungen in Source näher bringen.


    Am Ende bleibt nur noch zu sagen, dass ihr die Genauigkeit der Spiegelungen in der Map selbst festlegen könnt. Je mehr Cubemaps ihr setzt, desto genauer werden sie (Mehr Bilder). Setzt am besten auf normalem Boden alle paar Meter eine Cubemap und auf andere kleinere Oberflächen, die später spiegeln auch jeweils eine.
    Es existiert allerdings ein Limit von 256 Cubemaps pro Map und jede Cubemap treibt außerdem eure Dateigröße in die Höhe.

    Bei Maps mit HDR muss man den Buildcubemaps-Vorgang außerdem zwei mal anwenden, einmal mit Ingame aktiviertem HDR und einmal ohne, damit für beide Varianten die richtigen Spiegelungen berechnet werden.



    Teile des Tutorials von Ikontflash. Vielen Dank dafür!
    Geändert von BaShoR (04.05.2011 um 21:46:36 Uhr)

Stichworte

Berechtigungen

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