Hallo Mapper-Community

Wie versprochen gibts heut das Textur-Toggle-Tutorial. Damit ist es möglich Texturen auf Brushes "umzuschalten".
Sehr nützlich für zB. laufende Uhren, Counter, Anzeigetafeln aber auch um zB: langsam Schnee erscheinen zu lassen etc., eurer Phantasie sind hier wenig grenzen gesetzt.

Als erstes brauchen wir eine "Multi-Frame-Textur". Das ist im Grunde ganz einfach. Macht euch mehre Phasen eurer Textur (zB: einen Counter ....das heisst alle haben den selben Hintergrund aber fortlaufende Nummern in der Mitte). Diese speichert ihr unter dem Schema xxxx001.tga, xxxx002.tga und so weiter, wobei das xxxx für den Namen der Textur steht (zB. counter001.tga).
Danach macht ihr euch einen .txt file mit dem Namen eurer Textur (hier also counter.txt).

in diesen Textfile kommen die Zeilen:

"startframe" "1" <--- erste Bildnummer (immer 1!)
"endframe" "10" <-- kommt darauf an wieviele Phasen eure Textur hat, in diesem Fall 10 also heisst das letzte Bild counter010.tga.

Den .txt-file abspeichern und zusammen mit euren Texturen in den materialsrc-Ordner eures jeweiligen Mods kopieren. Danach compiliert ihr den .txt-file mit vtex.exe (drag&drop auf vtex.exe!). Ihr braucht die tga-files nicht compilieren, das macht der .txt-file für euch!

Jetzt sollte in eurem jeweiligen materials-Ordner die compilierte Textur als vtf-file liegen. (counter.vtf).

Erstellt nun einen neuen .txt-file und benennt ihn in xxxx.vmt um. (xxxx wieder für Name der Textur, also counter.vmt) Danach editiert ihr diesen file damit er etwa so aussieht:

Code:
"LightMappedGeneric"
{
"$baseTexture" "pfad/texturname"
"Proxies"
{
"ToggleTexture"
{
"toggleTextureVar" "$baseTexture"
"toggleTextureFrameNumVar" "$frame"
}
}
}

Achtung: Bei der Zeile "$baseTexture" bitte Texturpfad und Texturname ausgehend vom materials-Ordner angeben. (zB: custom/counter)

So nun ist unsere schaltbare Textur fertig zum benutzen. Damit sie funktioniert müssen wir diese auf ein Brush-Entity mit einem Namen legen. (zB: ein func_brush). Dazu macht ihr euch einen Brush und macht diesen über tie_to_entity zu einem func_brush und gebt bei name einen Namen ein . (hier: goalscreen) ..evtl. bei Solidity: always oder none einstellen - default ist: toggle ,dass heisst man kann die "Durchlässigkeit" umschalten mit use!!



Danach packt ihr irgendwo in die Map ein env_texturtoggle. Auch diesem einen Namen geben (hier: tex_toggle), und bei Target_Brush(es) den Namen unseres Brushes angeben ( goalscreen) .





Jetzt brauchen wir nur noch einen Auslöser für das umschalten. Ich nehm hier einen trigger_multiple (ihr könnt nat. auch anderes nehmen zB: func_timer o.ä.). Bei diesem müsst ihr nun im Output-Tab einen neuen Output adden und folgendes eingeben:



So nun sollte beim auslösen des Triggers (meiner wird durch einen Ball ausgelöst), die Textur jeweils ein Bild weiter geschaltet werden. Wenn ihr beim Trigger im Output-Tab unter Via this Input: SetTextureIndex angebt könnt ihr im Feld: with a parameter override of auch direkt die Nummer des nächsten Bildes angeben (also springen).

So ich hoffe das war für alle verständlich. Bei Fragen bitte hier posten, ich versuche Sie dann zu beantworten. Beispielmaps gibts diesmal nicht da diese ohne die jeweilige Textur nix bringen würde.

Viel Spass beim rumexperimentieren und viel Erfolg mit euren Maps

Eurer
__________________
gener8or