Seit es Steam gibt, kann man Detailtexturen in Half-Life benutzen. Detailtexturen verleihen den normalen Texturen eines Levels zusätzliche Struktur oder können auch eine höhere Texturauflösung faken.
Detailtexturen sind nicht für jedermann zu haben. Es gibt einige Vorraussetzungen:
Detailtexturen sind zwar eine an sich einfache Angelegenheit, dennoch können sie in Half-Life nicht nicht von allen Grafikkarten dargestellt werden.
Auf der sicheren Seite ist man mit einer halbwegs aktuellen Grafikkarte von ATI (z.B. einer Radeon) oder einer Nvidia der Familie Geforce TI oder besser. Wichtig ist, dass sie DirectX 8 kompatibel sind. Aktuelle Treiber sind selbstverständlich auch erforderlich.
Auch mit einer GeForce 4 mx oder älterem Gerät kann man versuchen, Detailtexturen zum Laufen zu bringen. Dazu benötigt man das Programm Riva Tuner.
In diesem Programm kann man unter OpenGL Settings den OpenGL hardware acceleration mode verstellen. Hier experimentiert man am besten ein wenig mit den angebotenen Modi. Das ganze kann am Ende Detailtexturen zum laufen bringen, muss aber nicht funktionieren und kann auch die Performance stark beeinträchtigen.
Erfahrungsgemäß bringtder Modus NV40 die besten Ergebnisse, doch ob es letztendlich funktioniert, und wenn ja, wie gut, das ist letzlich einfach Hardware-Abhängig.
Das lässt sich schnell raufinden: Einfach Half-Life mit Konsole starten, einen beliebigen Level laden und versuchen r_detailtextures 1 in die Konsole einzugeben. Das Steam-Interface müsste den Befehl schon vorschlagen, wenn r_de eingegeben ist; steht in der Auswahlliste dann nur r_decals aber nicht r_detailtextures, dann sieht es für Detailtexturen auf deinem Rechner eher düster aus. Wenn es funktioniert sollten wir die Variable r_detailtextures direkt auf 1 setzen, denn das brauchen wir für weitere Schritte.
Eine normale Detailtexur trägt eine bestimmte einfache Struktur (z.B. Metall oder Stein), die über normale Texturen in den Levels gelegt werden. Dadurch haben die Texturen, auch wenn man direkt vor ihnen steht, einen beachtlichen Detailgrad.
Detailtexturen sind immer Graustufenbilder, bei denen die Grundfarbe 50% Grau (RGB 128 128 128) ist. Dunklere Teile erhellen später im Spiel an dieser Stelle die Grundtextur, *helle Teile verdunkeln* hingegen.
Eine typische Detailtextur sieht in etwa so aus: (Bild)
Eine Dateiltexur für Half-Life muss folgende Kritieren erfüllen:
Werden diese Kritieren nicht eingehalten, stürzt Half-Life ab.
Wenn alle Vorraussetzungen erfüllt sind, können wir uns daran machen, die Detailtextur anzuwenden.
Zunächst müssen wir die Detailtextur dort ablegen, wo Half-Life sie auch wiederfindet. Das ist das Verzeichnis gfx/detail. Existiert dieses nicht, erstellen wir es einfach. Anmerkung: Wenn die Map released wird, ist von Vorteil wenn die eigenen Detailtexturen ein eigenes Unterverzeichnis in gfx/detail bekommen, z.B. gfx/detail/cs_leetness. Das verhindert, dass sich Custom Maps gegenseitig die Detailtexturen überschreiben.
Jetzt müssen wir HL verklickern, auf welche Gametextur die Detailtextur angewendet werden soll. Dazu erstellen wir im maps-Verzeichnes (genau da, wo auch die BSP der Map liegt) eine Textdatei mit dem Namen mapname_detail.txt (z.B. cs_leetness_detail.txt).
In diese Datei schreiben wir jetzt mit einem einfachen Texteditor Zeilen in folgendem Format:
Gametextur Detailtextur X Y
Das ganze aufgeschlüsselt bedeutet:
Es folgen ein paar Beispiele für die Skalierung, deren System nicht ganz leicht zu Verstehen ist.
1.0 1.01.0 1.04.0 4.02.0 0.5Nach etwas herumprobierei ist das ganze aber zu überblicken :)
Jetzt speichern wir die Definitionsdatei, starten Half-Life, laden unsere Map und geben, falls noch nicht geschehen, r_detailtextures 1 in die Konsole ein. Detailtexturen sollten jetzt auf allen Flächen zu sehen sein, die in der Definitionsdatei eingetragen sind.
Detailtexturen kann man zu mehr als zu einfachen Strukturgebung verwenden. LePrau hat beispielsweise eine Methode ausgetüftelt, wie man Detailtexturen zur performanceschonenden Verschönerung von Textlights einsetzen kann.
Im Tutorial farbige Detailtexturen wird eine Methode beschrieben, mit der sich mithilfe von Detailtexturen hochauflösende und farbechte Texturen in Half-Life verwenden lassen.