Alphatexturen

Kennt ihr die Texturen, die Teilweise blau sind und deren Namen meistens mit einem { beginnen, wisst aber nichts damit anzufangen? Bei diesen Texturen kann man das blau durchsichtig (transparent) machen. Dazu müsst ihr aus einem Brush ein Entity machen wie z.B. func_wall oder func_illusionary. In den Properties stellt ihr nur folgendes ein:

  • Render Mode - Solid
  • FX Ammount - 255

Wenn ihr das habt, wird alles Blaue (nur 0 0 255-blaues) auf den Texturen des func_wall Enitys transparent. Die Textur {blue ist dabei recht hilfreich, um komplette Faces transparent zu machen.

Alphatexturen selbermachen

Eins vorweg, Alpha-Channel Texturen sind Texturen bei denen die Farbe auf dem letzten Farbindex (Nummer 255) im Spiel unsichtbar gemacht werden (unter Wally muss diese Art von Textur durch ein “{“ vor dem eigentlichen Namen gekennzeichnet werden). Wie jeder wissen müsste besteht eine Half-Life Textur in seiner .wad aus 256 Farben, jede dieser 256 Farben hat ein Indize. Es kann durchaus sein dass einige Indexnummern den selben Farbwert haben, sprich dass Nummer 133 und Nummer 14 der Farbwert „0 100 100“ zugewiesen wurde. Jeder Pixel wird deswegen durch seine Position im Bild (jeweils durch die X und Y Koordinate) und den Index definiert. Malt man also einen Punkt, hat der die Farbe einer der Indexnummern (sollte Indexnummer 147 z.B. Blau sein, so ist der Punkt mit der Indexnummer 147 auch blau). Bei Farbkompressionen (z.B. .jpg) werden diese Informationen zusammengefasst bzw. so auseinander genommen und wieder zusammen gesetzt dass die Definition der einzelnen Pixel und deren Farben nicht mehr so Speicherintensiv sind, man sieht also, ein Bild ist auch nicht mehr als jede Menge Zahlen die von einem Programm interpretiert werden. Soweit die kleine Bildexkursion, fangen wir mit dem eigentlichen Thema an. *g*

Die einzelnen Indexnummern fangen bei 0 an und gehen bis 255. Wie oben schon erwähnt filtert die Engine die letzte Indexnummer heraus. Nun starten wir mal Wally (falls nicht vorhanden, in der File Sektion von TheWall runterladen) und öffnen damit unsere .wad in der sich unsere Textur die wir durchsichtig machen wollen befindet. Jetzt doppelt auf die Textur klicken. Im Drop Down Menü unter „Colors“, dort unter „Edit Palette“ finden wir nun den Farbindex:

alpha01.jpg

Ganz unten rechts markieren wir nun die Farbe (Wird durch ein rotes Kästchen gekennzeichnet). Wie wir sehen ist das die besagte Farbe mit dem Index 255, also die Farbe die später herausgefiltert wird. Wir wollen jetzt aber dass statt dem Gelb ein Blau mit den Werten „0 0 255“ gefiltert wird, wie bei allen gängigen Alphatexturen (unter FX Color wird dementsprechend die Farbe der letzten Indexnummer eingetragen, sprich 255, sollte die Farbe „0 0 255“ sein, kann man den Teil mit FX Color überspringen, da Worldcraft dies selbstständig übernimmt) Wir ändern also den Index indem wir bei Red und bei Green statt 223 und 209 einfach 0 eintragen. Bei Blue wählen wir den höchsten Wert, also 255. Wenn wir jetzt Enter drücken sehen wir dass aus dem Gelb ein Blauton geworden ist. Demnach müsste die Palette jetzt so aussehen:

alpha02.jpg

Der Blau Wert „0 0 255“ kann natürlich auch in jede beliebige andere Farbe umgewandelt werden, relevant ist nur dass später in Worldcraft unter FX Color genau der Farbwert auch eingetragen wird. (in unserem Fall müssen wir nichts unter FX Color einstellen, da wie oben erwähnt Worldcraft bei dem Farbwert „0 0 255“ das automatisch übernimmt) Wir klicken auf OK und stellen unter Umständen fest, dass überall kleine blaue Punkte bzw Bereiche sind:

alpha03.jpg

In unserem Bild hat nur ein einziger Pixel die Indexnummer 255 als Wert gehabt, weswegen auch nur ein einziger Pixel jetzt blau ist (hier durch einen Pfeil markiert).

Das liegt daran dass die jetzt blauen Pixel die Indexnummer 255 zugewiesen bekommen haben und mit der Änderung der Farbe im Index 255 sich damit auch geändert haben. Sollten wir jetzt mal eine Map testen, in der unsere Textur ist werden wir merken (wenn die FX Color auf „0 0 255“ gesetzt wurde) dass die kleinen blauen Punkte bzw. Bereiche (sofern sie vorhanden waren) auf der Textur nicht mehr da sind, sprich durchsichtig sind. Jetzt wollen wir uns ja nicht mit einzelnen Punkten begnügen sondern wollen auch den Rest um das eigentliche, sichtbare Objekt durchsichtig machen. Ganz rechts zeigt Wally die Farbpalette an, wir wählen (per Doppelklick) in der Palette unsere blaue Farbe mit dem Index 255 aus (ganz rechts unten). Jetzt kommt die eigentliche Arbeit, das Bild muss nun an allen Stellen mit der blauen Farbe übermalt werden wo die Textur durchsichtig sein soll. Je nach Größe und Detailliertheit der Textur kann das schon eine Weile dauern. Ich hab es hier jetzt nur ein Stückchen und nicht sonderlich detailliert gemacht weil ich gleich noch etwas veranschaulichen werde:

alpha04.jpg

Der ganze blaue Bereich auf dem Bild hier wird im Spiel nicht mehr angezeigt. Hier könnt ihr euch die Pflanzentextur von den Bildern runterladen. Wie gesagt ist sie nur an einer Seite rudimentär blau bemalt und damit im Spiel nur auf einer Seite undurchsichtig, aber ich möchte ja dass ihr auch ein wenig übt ;-)

Ein oft gemachter Fehler hingegen ist dass das Bild zwar richtig Blau eingefärbt wird aber der falsche Index benutzt wird. Sollte also das Blau NICHT den Index 255 zugewiesen haben, dann klappt es nicht. Einfaches Beispiel, man hat unter „Edit Palette“ dem Index 156 die Farbe „0 0 255“ (unser normales Blau) zugewiesen und damit das Bild ausgemalt dann klappt es nicht. Um zu prüfen ob das Blau vom richtigen Index stammt, bedient man sich des „Eye Droppers“, welcher links in der Toolleiste das 4te Icon von oben ist. Nun klickt man einfach mit dem Tool auf eine der „zweifelhaften“ Blauflächen und rechts in der Palette wird die Farbe mit dem Index markiert. Sollte es sich hierbei um den besagten Index ganz unten rechts handeln, dann ist alles in Butter. *g* Sollte allerdings eine andere Indexnummer markiert werden, müssen wir folgendes machen: Wir bewegen die Maus auf den markierten Index, worauf uns Wally netter Weise die RGB Werte und die Indexnummer im unteren Fensterbereich anzeigt. Wir gehen wieder auf „Edit Palette“ und klicken auf die Indexnummer die unten stand. Jetzt ist es wie folgt, wir haben praktisch eine oder mehrere Farben die unserer Farbe im Index 255 sehr ähneln bzw. komplett gleich sind. Da diese Stellen (wie oben beschrieben) mit der Farbe im Index 255 übermalt werden müssen und damit praktisch mit der selben Farbe, wüsste man nicht ob das Blau jetzt vom richtigen Index ist oder nicht, weil es ja mehrere gleiche Blautöne in verschiedenen Indizes gibt. Die Lösung liegt auf der Hand, unter „Edit Palette“ müssen wir alle Blaufarben bis auf die in der Indexnummer 255 in eine andere Farbe verwandeln, die sich deutlich abhebt damit man danach wunderbar mit dem Blau aus der Indexnummer 255 drübermalen kann. Also sucht man sich eine Farbe aus die absolut nicht zum Bild passt damit ein deutlicher Kontrast entsteht, dann einfach mit unserem „richtigen“ Blau übermalen und die Sache ist fertig :-)

Ein wichtiger Aspekt sind diverse Darstellungsfehler in Wally, z.B. in der Übersicht. So werden viele Alphatexturen nicht richtig dargestellt wenn man sie zuvor in Wally bearbeitet hat. Aber darüber brauch man sich keine Sorgen zu machen, einfach doppelt auf die Textur klicken und man sieht wie die Textur wirklich aussieht. Im Spiel selber ist der Darstellungsfehler logischerweise nicht vorhanden.

Schnell noch etwas zum Farbwert, der wird nämlich wie folgt definiert: Jede Farbe wird aus den 3 Farben Rot, Grün, Blau zusammengemischt (engl. Red Green Blue = RGB). Jeder dieser 3 Farbwerte kann einen Wert zwischen „0“ und „255“ haben, zusammengemischt mit den anderen Farben entsteht dann also die eigentliche Farbe im Index. Insgesamt gibt es damit 256 (Rot) * 256 (Grün) * 256 (Blau) Farben als Auswahl, ausgerechnet ergibt das 16777216 Farben. Hier offenbart sich auch ein oft gemachter Fehler, nämlich dass angenommen wird dass Ein 24Bit Bild mehr Farben hat. In Wirklichkeit hat es nur mehr „Speicherplätze“ für die einzelnen Farben, die Farbvariationen bleiben bei wie bei dem 256 Farben Bild bei 16777216.

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/tutorials/alphatexturen.txt · Zuletzt geändert: 2007/12/12 02:46 von Pyro Phoenix