Haradirki.de

Einführung in die Materials:
Dateien: keine

Nachdem wir jetzt schon einige Zeit mit Materials gearbeitet haben um eigene Texturen und eigene Decals einzufügen, wollen wir uns nun mal näher damit befassen. Um eine Textur einzufügen, benötigt man die Datei vtex.exe ( auch "Valve Texture Tool" genannt). Das vtex.exe Tool erstellt dann aus TGAs *.vtf Dateien. Diese werden so benannt, wie auch die tga vorher auch hieß. Wandelt man z.B. das Bild test.tga um, bekommt man die Datei test.vtf als Ergebnis. Jedoch werden diese Texturen alleine nicht angezeigt.

Um eine Textur im Hammer Editor und später auch in der Map darzustellen, benötigt man zum einen die Textur selbst, zum anderen aber noch das Material (*.vmt). Erst wenn diese Datei vorhanden ist, kann die Textur im Hammer Editor korrekt angezeigt werden. Doch sehen wir uns mal ein solches Material an:

"LightmappedGeneric"
{
"$basetexture" "test/haradirki"
}

Nun zur Erklärung:

LightmappedGeneric: Gibt den Shader-Typ an. Hier hat man die Wahl zwischen LightmappedGeneric, der häufigste Shader wenn du die Textur normal beleuchtet haben willst. Dann gibt es noch UnlitGeneric für Oberflächen, die immer beleuchtet sind, z.B. Monitore etc. Die letzte Möglichkeit ist VertexLitGeneric, diesen Shader benutzt man für Models.

{, } : Damit legt man die Eigenschaften des Materials fest. Jedes Material muss 2 solche geschwungenen Klammern haben, sonst funktioniert das Material nicht.

"$basetexture" "test/haradirki": Gibt den Pfad und den Namen der Textur an. Hier musst du die Endung *.vtf weglassen.

"": Die Anführungszeichen sind wichtig und dürfen ebenfalls nicht weggelassen werden. Sie begrenzen nämlich einen Befehl.

//: In einigen Materials befinden sich 2 solcher Slashs, dahinter befinden sich meist Kommentare. Alles, was sich hinter 2 Slashs befindet, ist nicht wichtig und zählt nur zu Kommentar-Zwecken.

 

Sehen wir uns nun ein Beispiel für ein Material an:

//Dies ist eine normale Textur, die die Textur "wand/sandsteinmauer.vtf" in das Spiel einfügt.
"LightmappedGeneric"
{
"$basetexture" "wand/sandsteinmauer"
"$surfaceprop" "brick"
}

Hier habe ich noch die folgende Zeile ergänzt:

"$surfaceprop" "brick": Diese gibt an, wie die Einschusslöchern von Waffen aussehen und welcher Sound dabei abgespielt wird. Weitere Möglichkeiten wären "rock", "concrete", "glass", "carpet" oder "sand". Hier gibt es jedoch noch viele mehr.

Zum Schluss will ich dir noch ein paar Zusätze zeigen, die sich oft in Materials finden:

  • "$model" 1: Dieser Zusatz ist nötig, wenn es sich um eine Textur für ein Model handelt. Der Shader-Typ für Models ist natürlich dann auch nicht "LightmappedGeneric", sondern "VertexLitGeneric".
  • "$decal" 1: Dieser Zusatz ist für Decals wichtig.
  • "$selfillum" 1: Dieser Zusatz bringt die Textur dazu, sich selbst zu beleuchten. Wichtig dafür ist der Alpha-Kanal der Textur.
  • "$nocull" 1: Dieser Zusatz ist wichtig, wenn die Textur von beiden Seiten gesehen werden soll. Wichtig für Glas.
  • "$alpha" 0.5: Durch diesen Zusatz wird die Textur durchsichtig. Die Zahl kann zwischen 0 und 1 sein.
  • "$envmap" "env_cubemap": Durch diesen Zusatz reflektiert die Textur. Jedoch wird dafür eine Cubemap benötigt.
  • "%keywords" "stein boden": Durch den Einstatz von passenden Keywords kann man die Textur im Hammer Editor noch besser finden.

 

 

 

zurück zur Hauptseite

Half-Life 2 Hammer Tutorial, Copyright (c) 2005 Dirk "Haradirki" Marmann, erstellt mit Wordpad

Dieses Tutorial ist grundsätzlich Freeware und darf für den persönlichen Gebrauch weiterkopiert werden. Es darf allerdings NICHT ohne meine Einverständniss auf anderen Homepages als HTML-Datei oder zum Download angeboten werden. Es darf nichts hinzugefügt, verändert oder gelöscht werden. Weiterhin darf es nicht auf digitalen Medien, z.B. CD-Medien veröffentlicht werden, wenn ich nicht ausdrücklich meine Einverständniss dazu gegeben habe. Alle Rechte bleiben beim Autoren. Wird aus diesem Tutorial zitiert, währe ich sehr dankbar, wenn ihr dabei auf eine meiner beiden Homepages http://www.haradirki.de oder http://www.dead-in-bed.net hinweisst.

 

http://www.haradirki.de   http://www.dead-in-bed.net