23 | Spiegel und Portale

Spiegel

Einen Spiegel seht ihr schon ganz am Anfang des Spiels im Trainingslevel. Für einen Spiegel braucht ihr nichts weiter als einen Brush, dessen Vorderseite ihr mit der Textur common/mirror1 oder mirror2 belegt. mirror1 ist eine saubere Oberfläche, mirror2 ist dreckig.

Mittig vor den Spiegel setzt ihr noch das Entity misc/misc_portal_surface – das wars auch schon. Ihr solltet vor den Spiegel einen Brush mit der clip Textur zu setzen, die den Spieler immer mindestens 16 Units vom Spiegel trennt. Ansonsten seht ihr die Waffe eures Spiegelbildes im Spiegel stecken, wenn ihr direkt davor steht.

WICHTIG: Spiegel dürft ihr nicht gegenüberstellen, sodass ihr den einen Spiegel im anderen Spiegel sehen könnt, da es ansonsten Darstellungsfehler gibt.

Portale

Wie man ein Portal mit dem Portalmodel baut, konntet ihr bereits in Tutorial 21 lesen. Aber es gibt auch noch die Möglichkeit, Portale auf Brushes zu legen. Quake 3 kann das zwar von Hause aus, liefert aber keine Textur dafür mit. Die Textur common/portal ist leider funktionslos. Deshalb müssen wir selber eine machen.

Die Portaltextur selber machen

Dazu werden wir einen Shader brauchen. Shader habe ich schon mehrmals erwähnt und ich will in diesem Tutorial nicht im Detail auf sie eingehen, aber um ein funktionierendes Portal zu erstellen, brauchend wir zwingend einen Shader.

Öffnet das Verzeichnis baseq3\scripts in eurem Quake 3 Verzeichnis. In diesem Verzeichnis sind die Quake 3 Shader enthalten – normale Textdateien mit der Endung .shader anstatt .txt.

Wir brauchen eine neue Textdatei mit der Endung .shader. Die schnellste Lösung ist, einen beliebigen Shader zu kopieren und dessen Inhalt zu löschen. Gebt dem neuen Shader den Namen portalshader. Der Name ist frei wählbar, er dient nur der Wiedererkennung.

In die Datei kopiert ihr folgenden Text hinein:

textures/common/workingportal
{
    qer_editorimage textures/sfx/portal_sfx1.tga
    surfaceparm nolightmap
    surfaceparm noimpact

    portal
    {
        map textures/sfx/portalfog.tga
        blendfunc blend
        tcMod rotate 5
        depthWrite
        alphaGen portal 500
    }
}

Die erste Zeile gibt an, wie die Textur heißen soll und in welchem Ordner man sie findet.

qer_editorimage sagt dem Editor, welches Vorschaubild er später benutzen soll. Ich hab mich dabei für die runde Portaltextur aus dem SFX Verzeichnis entschieden.

surfaceparm noimpact macht das Portal zu einer Art schwarzem Loch: alles Geschosse, die darauf aufkommen, verschwinden. Raketen explodieren also nicht, sie sind einfach weg. Wer lieber will, dass Geschosse auf dem Portal explodieren, entfernt diese Zeile. Geschosse können in Quake 3 nicht durch Portale fliegen, das ist technisch nicht möglich.

map textures/sfx/portalfog.tga brauchen wir, damit unser Portal im Gegensatz zur mitgelieferten common/portal Textur funktioniert. Damit geben wir an, dass unser Portal die Textur sfx/portalfog über das Portal legen soll. Diese Textur wird umso deckender, je weiter man vom Portal weggeht.

Wie weit in Units man weggehen muss, bis man nicht mehr durch das Portal blicken kann, gibt die Zeile alphaGen portal 500.

tcMod rotate 5 sorgt dafür, dass sich diese Textur mit einer Geschwindigkeit von 5 Grad pro Sekunde. Die beiden Werte 500 und 5 könnt ihr auch ändern und schauen, wie sich das im Spiel auswirkt.

Den Shader eintragen

Jetzt müssen wir den Shader noch in die Datei shaderlist.txt eintragen, die sich auch im Verzeichnis baseq3\scripts befindet. Schreibt dazu am Ende des Dokuments in eine neue, freie Zeile portalshader. Dann könnt ihr das Textdokument schließen.

Das Portal bauen

Um das Portal zu bauen, erstellt ihr einen neuen Brush. Öffnet das Texturverzeichnis common. Es enthält jetzt die neue Textur „workingportal“ mit einem weißen Wirbel als Symbol gibt. Falls der Radiant schon während des Erstellens des Shaders geöffnet war, müsst ihr ihn zuerst neu starten, bevor ihr die neue Textur findet. Die legt ihr dann auf eine Seite des Brushes. Das eigentliche Portal erstellt ihr genau wie im Teleportertutorial beim Punkt Teleporter-Model einfügen (2) mit den Entities misc_portal_surface, misc_portal_camera und einem target_position. Das Teleportermodel braucht ihr dafür nicht, denn deshalb haben wir ja eine Portaltextur gemacht.

Dieser Beitrag wurde unter Tutorials abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s