Kapitel 20 · Half-Life 2 & CS: Source

EIGENE TEXTUREN

Autor: Fragpoint
Downloads: Beispielmap 18

Gleich vorweg, dieses Tutorial erklärt Euch nicht, wie Ihr eigene Texturen zeichnerisch erstellen könnt. Es geht hierbei vielmehr darum, wie man selbst erstellte Texturen in "CS: Source" einbinden und im Hammer bzw. Spiel benutzen kann. Als Grundlage für diese Anleitung diente mir das Tutorial von -explicit- und www.SnarkPit.com. Wollt Ihr wissen, wie man eine Textur selbst zeichnet, könnt Ihr das in diesen Tutorials nachlesen.
Für "CS: Source" müsst Ihr wie bei fast jedem Spiel beachten, dass die von Euch erstellte Textur immer nur eine Seitenlänge haben darf, die eine 2er-Potenz ist (zum Beispiel 2², 2³, etc.). Ist Eure Textur also zum Beispiel 512 x 512 Pixel (Länge x Breite) groß, würde sich diese ohne Probleme in das Spiel einbinden lassen. Mögliche Seitenlangen wären daher zum Beispiele 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 oder 2048, sofern die Engine die Größe unterstützt.
Wäre die Textur dagegen 513 x 256 Pixel groß, würde die Grafik nicht funktionieren, was man schon allein aus der ungeraden 513 erkennen kann. Die Abmessung 512 x 256 würde hingegen wieder funktionieren. Am besten sind aber Texturen, die gleich lange Seitenflächen haben. Im Übrigen sind keine Seitenflächen über 2048 Pixel möglich.
Hoffentlich war das jetzt am Anfang nicht gleich zu verwirrend für Euch.

Als nächstes müssen wir noch kurz auf das Grafikformat eingehen. Wir verwenden dazu mal eine von mir erstellt Textur mit einer Größe von 256 x 256 Pixel. Macht auf diese Grafik bitte einen Rechtsklick und speichert sie auf Eurem Desktop ab:

image192.jpg

Wie Ihr sehen könnt, ist diese Datei im so genannten JPG-Format. Damit wir diese jedoch in ein für "CS: Source" benutzbares Format umwandeln können, muss diese JPG ins TGA-Format umgewandelt werden. Öffnet die Textur daher mit Photoshop oder einem anderen Grafikprogramm, das das TGA-Format unterstützt. Ich verwende für dieses Tutorial Photoshop 7. Geht dort auf "Datei -> Speichern unter".

image193.jpg

Im neuen Fenster wählen wir als Dateiformat "Targa (*.TGA;*.VDA;*.ICB;*.VST)" aus.

image194.jpg

Anschließend werden wir nach einem Klick auf den Speicher-Button noch kurz gefragt, in welcher Farbtiefe wir abspeichern wollen. 24 Bit würde hier genügen, da wir keinen Alphakanal für die Textur benötigen. Es schadet aber auch nicht, wenn Ihr die Grafik in 32 Bit abspeichert. Die Datei wird dadurch nur etwas größer.

image195.jpg

So, das war es erst einmal mit den Vorbereitungen. Jetzt interessiert es uns sicherlich, wohin wir diese Textur kopieren müssen, damit sie der Hammer auch findet. Öffnet dazu erst einmal den Explorer von Windows und geht in folgendes Verzeichnis (Übrigens sollte Steam während der folgenden Arbeitsschritte an sein):

C:\Programme\Valve\Steam\SteamApps\EUER-USERNAME\sourcesdk_content\cstrike\materialsrc


In diesem Verzeichnis erstellen wir nun über einen Rechtsklick einen neuen Ordner, dem wir den Namen "customs" geben. Verwendet bitte für dieses Tutorial den gleichen Verzeichnisnamen.

image196.jpg

In das neu angelegt Verzeichnis "customs" kopieren wir nun unsere Textur (in meinem Fall die fenster.tga). Als nächstes müssen wir in folgendes Verzeichnis wechseln.

C:\Programme\Valve\Steam\SteamApps\EUER-USERNAME\counter-strike source\cstrike\materials


Dort erstellen wir einen Ordner, der wieder den gleichen Namen haben muss, nämlich "customs".

image197.jpg

So, als nächstes muss unsere TGA-Datei in ein für die Source-Engine einlesbares Format (.VTF) umgewandelt werden. Wechselt deshalb bitte in das Verzeichnis, in dem sich unsere Textur befindet. Öffnet nun ein 2. Explorer-Fenster und wechselt dort in das folgende Verzeichnis:

C:\Programme\Valve\Steam\SteamApps\EUER-USERNAME\sourcesdk\bin


Darin befindet sich eine Datei mit Namen "vtex.exe".

image198.jpg

Ordnet die beiden Explorer-Fenster am besten so an, dass diese nebeneinander liegen. Nun klickt Ihr die Textur an, lasst die Maustaste gedrückt und zieht die Textur auf das Programm "vtex.exe" im 2. Explorerfenster.

image199.jpg

Dort angekommen, lasst Ihr die Maustaste los. Nun öffnet sich automatisch ein kleines DOS-Fenster, in dem das Programm einige Berechnungen vornimmt. Nach Beendigung müsst Ihr noch eine beliebige Taste drücken, damit sich das Fenster schließt.

image200.jpg

Wenn Ihr nun in das Verzeichnis Eurer Textur schaut, werdet Ihr feststellen, dass dort eine kleine TXT-Datei ohne Inhalt mit 0 kB erstellt wurde, die den gleichen Namen wie Eure Textur hat. Damit die Grafik nun endgültig umgewandelt wird, müssen wir den soeben getätigten Arbeitsschritt nochmals durchführen. Zieht also die Textur nochmals auf die Datei "vtex.exe" im 2. Explorer-Fenster. Auch nun erfolgt wieder eine Berechnung, die Ihr am Ende durch das Drücken einer beliebigen Taste beenden könnt.

image201.jpg

Während des Berechnungsvorganges hat das Programm "vtex.exe" eine neue Datei erstellt, die sich in dem zweiten von uns angelegten Ordner befindet, also diesem hier:

C:\Programme\Valve\Steam\SteamApps\EUER-USERNAME\counter-strike source\cstrike\materials\customs


image202.jpg

Das ist also unsere fertige Datei, die die Source-Engine nun im Spiel als Grafik darstellen kann. Doch wir sind noch nicht ganz fertig, denn wir müssen noch eine kleine Hilfsdatei anlegen, in der steht, wo die Grafik liegt und wie sie im Spiel verwendet werden soll. Solche Dateien bzw. der Inhalt kann man als Shader oder Materials bezeichnen. Dort lassen sich über eine Art Programmiersprache zahlreiche Zusatzeffekte festlegen, wie zum Beispiel Spiegelungen, Wellen, etc..
Deshalb erstellen wir in dem Verzeichnis, in dem die neu erstellt VTF-Datei liegt, eine weitere Datei mit der Endung .TXT. Diese sollte den gleichen Namen wie Eure Textur haben. In unserem Fall wäre das also der Name "fenster.txt".

image203.jpg

Öffnet nun bitte diese Text-Datei und tragt dort folgendes ein:

"LightmappedGeneric"
	{
	"$basetexture" "customs/fenster"
	}

Beachtet dabei bitte, dass ich dort nur das Wort "fenster" eingetragen habe. Die Dateiendung wird für diesen Shader nicht benötigt. Anschließend müssen wir diese TXT-Datei einfach nur in eine VMT-Datei umbenennen.

image204.jpg

So, als nächstes starten wir den Hammer-Editor. Falls der bei Euch die ganze Zeit mitgelaufen ist, startet ihn bitte neu. Wenn wir jetzt im Textur-Browser das Stichwort "fenster" eingeben, wird uns unsere Textur angezeigt und wir können beliebig viele Brushes damit bepflastern.

image205.jpg

Ich habe für unser Beispiel einfach mal ein Fenster im Raum mit dem Lagerfeuer erstellt. Wenn Ihr allerdings das Spiel startet, um die Map zu testen, werdet Ihr die Texturen vermutlich nicht angezeigt bekommen. Wir müssen deshalb die VMT- und auch die VTF-Datei inkl. Verzeichnis (customs) in folgendes Verzeichnis kopieren:

C:\Programme\Valve\Steam\SteamApps\EUER-USERNAME\counter-strike source\cstrike\materials


image206.jpg

Fertig! Schaut doch gut aus, oder? Bei der angehängten Beispielmap sind auch die Shader- und Grafikdatei enthalten. Beachtet bitte, dass Ihr diese - wie im Tutorial beschrieben - noch in die richtigen Verzeichnisse verschieben müsst.