http://www.haradirki.de

Alphatexturen:

Beispielmap: "tutor58.map"
Ergebnismap: "tutor59.map"

Hier will ich dir erklären, was es sich mit den sogenannten "Alpha"-Texturen auf sich hat. Ich habe dir eine kleine Map gebaut, in der sich 2 Mauer-Teile befinden. Hier wollen wir Stacheldraht obendran setzen, dass es nach etwas aussieht. Für den Stacheldraht gibt es natürlich eine passende Alpha-Textur, sie heisst "alpha/fence_m06b".

Doch bevor wir beginnen, will ich dir zunächst erklären, wieso Alpha-Texturen überhaupt Alpha-Texturen heissen. Der Name kommt nämlich nicht von ungefähr. Bilder enthalten immer einen Kanal für die Grundarben Rot, Gelb und Blau. Sie sind für die normale visuelle Darstellung verantwortlich. Hinzukommt bei den Alpha-Texturen der Alpha-Kanal - er ist dafür zuständig, welche Teile der Textur auch wirklich dargestellt werden. Im Alpha-Kanal gibt es nur 2 Farben: Weiss (steht für den Teil der Textur, der dargestellt wird) und schwarz (steht für den Teil der Textur, der nicht dargestellt werden soll). Solche Texturen kann man auch mit relativ wenig Aufwand selbst erstellen, das zeige ich dir jedoch an anderer Stelle.

In unserem Fall mit dem Stacheldraht ist es so, dass der Stacheldraht selbst dargestellt wird - aber um die Drähte herum wird dann nichts dargestellt, d.h. hier ist die Textur durchsichtig. Damit diese Darstellung auch im Radiant und später im Spiel auch zu 100 % funktioniert, braucht man natürlich auch wie immer einen Shader, der der Textur bestimmte Eigenschaften verleiht.

Jetzt erstellst du auf den beiden Mauern jeweils ein Brush, der 40 Units hoch ist und 8 Units breit ist. Diesen belegst du mit der "Nodraw"-Textur (diese findest du unter "common/nodraw"):

Nun lädst du den gesamten Texturenordner "Alpha". Wie du siehst, haben alle Texturen einen weissen Rand. Du wählst hier die Textur "alpha/fence_m06b" aus. Wie du im oberen Bild sehen kannst, ist der Nodraw-Brush nur halb so gross wie der Mauer-Brush. Das ganze hat auch seinen Sinn - wir wollen die Textur später nur auf einer Seite des Nodraw-Brushes setzen, daher benutzen wir natürlich die Seite des Brushs, die die Mitte der Mauer bildet. Also selektierst du nun diese eine Seite des Nodraw-Brushes:

Diese Seite belegst du jetzt mit der Textur "alpha/fence_m06b". Das gleiche machst du jetzt noch mit dem anderen Brush. Dann sieht das ganze so aus:

Wenn du willst, kannst du die Map gleichmal testen und compilieren. Dabei wirst du 2 Dinge feststellen:

  • man kann durch den Stacheldraht-Brush hindurchlaufen
  • man sieht ihn von der Seite nicht (oder nur wenig)

Diese beiden Punkte lassen sich natürlich umgehen. Zuerst erledigen wir Punkt 2, da er sehr leicht zu erledigen ist - dazu erstellst du einfach 2 Brushes an der Seite des Nodraw-Brushes:

Nun kommen wir zum Problem Nr. 1. Je nachdem, wieviel Realismus du in deiner Map haben willst, kannst du nun wählen, ob der Stacheldrahtzaun "nur" als Sperre dienen soll, oder ob er auch gleich Schaden verteilen soll, wenn sich eine Spielfigur dem Zaun nähert.

  • Kommen wir zunächst zum einfachen blocken:

    Hier benutzt du einfach statt der "nodraw"-Textur eine der vielen Clip-Texturen. Ebenfalls kannst du natürlich auch den Nodraw-Brush lassen und einfach einen grösseren Brush mit der Clip-Textur um den Zaun herumbauen.

  • Nun noch die Erklärung, wie man einen richtigen Stacheldraht (mit Verletzungen) baut:

Hierzu baust du um den Stacheldraht noch einen weiteren Brush, den du mit der Textur "Trigger" (diese findest du unter "common/trigger") belegst. Nun lässt du den Trigger-Brush selektiert und klickst 2 mal mit der rechten Maustaste und wählst hier "Trigger" und als Unterpunkt "trigger_hurt". Nun drückst du die Taste "N" um das Entity-Fenster zu öffnen. Hier gibst du ein:

  • Key: "dmg"
    Value: "50"

Hierzu mal ein Bild:

Dmg bedeutet "Damage", also schaden. Es kommt darauf an, ob deine Map eine Singleplayer- oder Multiplayermap wird. Während man normal in Singleplayermaps eher eine geringe Value (z.B. 5) benutzt, benutzt man im Multiplayer die Value 50, manchmal sogar mehr. Die Stacheldrahtzäune in Beach haben z.B. eine Value von 50.

 

zurück zur Hauptseite