Inhaltsverzeichnis

Über Entity I/O togglebare Materials

Manchmal kann es praktisch sein, einen Button oder eine Textur auf Knopfdruck zu verändern oder bei einer bestimmten Aktion die Textur eines Brushes anzupassen. Das einfachste Beispiel ist ein Aufzug, bei dem die Stockwerk-Nummern angezeigt werden oder ein Button, der seine Textur ändert, sobald man diesen drückt.

Texturen erstellen

LiftSign001.tga
LiftSign002.tga
LiftSign003.tga
LiftSign004.tga
"startframe" "1"
"endframe" "4"
"LightmappedGeneric"
{
  "$baseTexture" "LiftSign"
  "$surfaceprop" "metal"
    "Proxies"
    {
      "ToggleTexture"
      {
        "toggleTextureVar" "$baseTexture"
        "toggleTextureFrameNumVar" "$frame"
      }
    }
}

Entities in Hammer

Nachdem wir das Material erstellt haben, können wir es bereits im Hammer verwenden. Allerdings tut sich noch nicht allzu viel, wenn wir uns die Map anschauen. Daher müssen nun einige Entities erstellt werden. Folgendes wird benötigt:

Um das ganze etwas einfacher zu erklären, wird hier nur ein func_button und ein env_texturetoggle erklärt. Alle weiteren funktionieren entsprechend genauso:

Output Target Entity Target Input Parameter Delay
OnPressed „LiftSignTexToggle“ SetTextureIndex 2 0.00


Dies bedeutet: Beim drücken des Buttons wird unser env_texturetoggle getriggert und gibt unserem Button automatisch die Textur mit dem Index „2“.

Achtung: Der TexturenIndex fängt bei „0“ an, das heisst in diesem Beispiel wären die Indizes 0,1,2 und 3 möglich.

Alle weiteren Texturenindizes könnten über weitere func_buttons oder z.B. durch einen path_track bei OnPass getriggert werden. Lasst Euch was einfallen!