Textur scrollen lassen

Eine Textur scrollen lassen konnte man schon in Half-Life, man erinnere sich an die Fliessbänder. In Half-Life 2 werden solche Effekt etwas anders als in Half-Life gemacht und darum soll es hier gehen.

Half-Life 2 verwendet hierfür das Material-Proxy-System. Material-Proxies dienen dazu Materialen dynamisch im Spiel zu verändern, wie z.B. zu scrollen.

Materlien bestehen immer aus mindestens zwei Dateien, einem .vtf, welches die Textur enthält und einem .vmt, das Einstellungen enthält.

Erstellen des .vtf's

Man erstellt in seinem lieblings Bildbearbeitungprogramm die Textur, die man scrollen lassen will, und hält sich dabei an die bekannte Regel, dass Breite und Höhe Quadrate von 2 sein müssen beginnent bei 16 (16, 32, 64, 128, 512, 1024, 2048). Sie wird hier beispielhalber scroll_test benannt. Diese speichert man dann als .tga mit dem Namen scroll_test.tga in sourcesdk_content\<modname>\materialsrc ab und zieht sie auf die vtex.exe, zu finden in sourcesdk\hin. Dadurch wird in <modname>\materials eine Datei namens scroll_test.vtf angelegt.

Erstellen des .vmt's

In <modname>\materials erstellt man eine Datei mit dem gleichen Namen wie das .vtf aber mit .vmt als Extension, also scroll_test.vmt, öffnet diese mit einem Texteditor und schreibt folgendes hinein:

"LightmappedGeneric"
{
    "$basetexture" "scroll_test"

    "Proxies"
    {
        "TextureScroll"
        {
            "texturescrollvar" "$basetexturetransform"
            "texturescrollrate" .5
            "texturescrollangle" 90
        }	
    }
}
  • LightmappedGeneric
    Das ist der Grundtyp des Materials
  • $basetexture
    Dies ist die grundlegende Textur dieses Materials, das scroll_test.vtf.
  • Proxies
    Dieser Block beinhaltet alle Proxies, die das Material verwenden soll.
  • TextureScroll
    Dieser Proxy sorgt dafür, dass die Textur scrollt.
  • texturescrollvar
    Da ein Material mehrere Layer haben kann, muss festgelegt werden, welcher Layer von diesem Proxy gescrollt werden soll. In diesem Falle wird mit $basetexturetransform der $basetexture-Layer, also das scroll_test.vtf, gescrollt.
  • texturescrollrate
    Die Geschwindigkeit mit der gescrollt wird.
  • texturescrollangle
    Der Winkel unter dem gescrollt wird, z.B. bedeutet 90, dass im 90°-Winkel, also von unten nach oben gescrollt wird.

Verwendung

Hat man das Meterial erstellt kann man es in Hammer auf einem normalen Brush verwenden, es sind keine Entities nötig.

Links

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life_2/tutorials/textur_scrollen_lassen.txt · Zuletzt geändert: 2005/04/05 02:08 von HammerBlade