Wenn Ihr Euch diese Anleitung ausdrucken wollt, dann HIER Klicken. Diese Tutorial handelt speziell teiltransparente Texturen in Descent 3 Levels ab. Für Basisinformationen über custom Textures in Descent 3 gibt es hier bei Fischlein schon reichlich Infos, darum will Ich mich hier mal auschließlich der Teiltransparenz widmen. Zu erst mal zum Grundsätzlichen, was sind Teiltransparente Texturen eigentlich? Teiltransparente Texturen können einige nette Effekte erzielen z.B. Pflanzen (Buschwerk, Baumblätter), Zäune, Fenster etc und viele mehr, das bedeutet das Teile dieser Texturen durchsichtig sind und den Blick auf dahinter liegende Teile des Level ermöglichen. Im Prinzip ist es das selbe wie mit transparenten GIF-Files, die z.B. in eine Website eingebunden den Blick auf ein Hintergrundgrafik ermöglichen. Der Vorteil dieser Methode liegt eindeutig in dem einsparen von Faces / Polygonen, da z.b das erstellen eines Gartenzauns oder Baumes mit Polygonen / Faces einige 100 Polygone erfordern würde, mit teiltransparenten Texturen ist ein ähnlicher Effekt mit vieleicht nur 10 oder 15 Faces möglich, auch wenn es nicht so gut aussieht. Ein Nachteil dieser Methode sei auch erwähnt, so wie es scheint funktioniert diese Methode aufgrund eines Fehlers in Descent 3 nur auf neueren Grafikkarten, wenn diese im OpenGL-Mode betrieben werden. Benutzer älterer Voodoo-Karten mit Glide oder Nutzer des D3D-Modes sehen statt des transparenten Textur-teils eine schwarze Fläche. Dieser Fehler scheint nur aufzutreten, wenn die transparenten Texturen auf Struckturfaces gelegt werden, auf Objekten oder (z.B als Mond wie der IO-Mond) am Terrainhimmel funktionieren sie überall. Meiner Meinng nach kann man diese Texturen trozdem gut verwenden da fast alle Descent 3 Spieler neuere Grafikkarten im OGL-Mode verwenden. (D3D) in Descent3 ist echt Müll ;) Beispiele![]() Hier haben wir mal ein Beispiel für Teiltransparente Texturen, diese Holomap aus Monolith-Station besteht allerdings wegen der höheren Auflösung aus 8 Einzeltexturen (4 auf der Vorderseite und 4 gespiegelt auf der Rückseite) und hat zusätzlich noch eine Gesamt-Transparenz, dazu später mehr.
![]() Noch ein schönes Beispiel, diesmal ein Baum aus Tower of Isengard. Hier kann man schön die "Löcher" im Blätterwald erkennen, diese Bäume haben pro Stück nur 16 Faces und schonen die Framerate..
BasicsJetzt mal zum technischen Teil, Descent3 kennt grundsätzlich 2 Texturarten, das .OGF-Format und das .OAF Format. OGF wird für Standard-Texturen verwendent und bedeutet "Outrage Grafic Format", OAF wird für animierte Texturen verwendet und bedeutet "Outrage animated Grafic Format" oder ähnlich. OAF´s sind nichts anderes als hintereinander geschaltete OGF´s. Beide Formate unterstützen Teiltranzparenz. Die Grafikdaten in diesen Grafikformaten sind wiederum komprimiert mit der sogenannten ARGB-Kompression, Descent3 kennt 2 Versionen, die 1555 ARGB und die 4444 ARGB. Die Buchstabenkürzel ARGB stehen hierbei für:
GesamttransparenzAuf die Gesamttransparenz von Texturen in Descent3 will ich nur kurz eingehen, zusätzlich zur Teiltransparenz über den Alphakanal in der Textur selber kennt Descent3 auch noch eine einstellbare Gesamttransparenz für jede Textur über den Gametable-Eintrag "ALPHA" der entsprechenden Textur, egal ob diese Textur nun einen Alphakanal hat oder nicht. Der Alphawert in der Gametable ist einstellbar von 0.0 bis 1.0 wobei 1.0 voll sichtbar bedeutet und bei einen Wert von 0.0 die Textur unsichtbar ist. Bei einem Wert von 0.5 ist sie halb durchlässig wie z.B. bei einer Glasmalerei. Dieser Wert gilt dann grundsätzlich für alle Pixel der Textur. ![]() An dieser Stelle in der Gametable wird der Alphawert für die Gesamttransparenz der Textur eingestellt, das geht bei jeder Textur und gilt grundsätzlich für alle Pixel der Textur.
Erstellen teiltransparenter TexturenZum erstellen teiltransparenter Texturen braucht man grundsätzlich 2 Dinge: ein Grafikprogramm das Alphakanäle und das "Tagged Image File Format" (TGA) unterstüzt, und ein Program zum konvertieren der Textur nach OGF (oder OAF). Descent3 liefert da das OGF-Tool (ogfool.exe) mit, viel besser ist aber das D3 Imagetool Ver.1.03 von Supersheep. Das gibts natürlich auch hier bei Fischlein. Für die Bearbeitung der Grafiken nehme ich meistens das Grafikprogramm Paintshop Pro 7 (PSP7), ist einfach genial das Proggy. Erstmal braucht man ein entsprechendes Motiv aus dem Internet (gibt ja millionen von Vorlagen überall zu finden) oder zeichnet eine eigene Textur (entsprechende Begabung vorrausgesetzt ;) ). Die Grafik wird auf Texturgröße zurechtgeschnitten und/oder resized, sie sollte dann quadratisch sein (Höhe=Breite). Brauchbare Formate (in Pixel):
![]() Das hier ist die Vorlage, die ich für das Blätterwerk in den "Tower of Isengard" Bäumen verwendet habe. Diese Textur ist schon zurechtgeschnitten auf 128x128 Pixel und hat einen schwarzen Hintergrund.
Hierzu habe ich mit PSP7 eine CMYK-Trennung vorgenommen und den Schwarz-Kanal auf 2 Bit Farbtiefe reduziert. Der Schwarz-Kanal wird dann noch invertiert und als Maske gespeichet. Dieser Alphakanal hat nur 1 Bit Tiefe (Nicht Transparent / Voll Transparent) da wir das File ja später als OGF (1555 ARGB) konvertieren wollen. ![]() In diesem PSP7-Menü wird der als Maske gespeicherte Alphakanal hinzugefügt, rechts sieht man schön die Vorschau des Kanals. Später im TGA und in der fertigen OGF-Textur wird alles schwarze in dem Alphakanal transparent sein.
![]() Hier sieht man nun wie das fertige TGA mit angezeigtem Alphakanal aussieht. Der Alphakanal ist wie bei einem GIF-File in dem TGA-File mit integriert und braucht nicht extra gespeichert zu werden.
Zum konvertieren verwende ich das oben schon genannte Program D3Imagetool, das mitgelieferte OGF-Tool tuts aber auch. ![]() In diesem Screenshot von D3Imagetool hat man einen guten Überblick über die Einstellungen. Oben wird das Inputfile ausgewählt (Muss naürlich das TGA sein, Ich hab hier für den Screenshot aus Versehen das fertige OGF gewählt), unten rechts sieht man die Vorschau und die Bildparameter, unten links ist der interessante Bereich mit den Kompressions-Einstellungen. Für diese Texturen wählen wir 1555ARGB, also 1 Bit Alphachannel. Es wäre auch möglich 4444ARGB Kompression zu wählen, da der Alphakanal des TGA aber nur 1 Bit Tiefe hat wäre kein Unterschied zur 1555 zu sehen. Mipmap-Level ist eigentlich egal, da bei nur einer MipMap die restlichen Maps in der Grafikkarte erzeugt werden. 1 oder 5 ist nur ne Frage von Ladezeit und Qualität der Grafikkarte.
![]() Dies ist das TMAP2-Flag in der Gametable, das Descent3 anzeigt ob ein Alphakanal in der Textur vorhanden ist und ob dieser angezeigt werden soll. Komischerweise hab ich es auch schon gehabt, das selbst ohne diese Flag der Alphakanal angezeigt wird, aber sicher ist sicher. (D3 scheint allgemein Probleme mit transparenten /animierten Texturen zu haben, siehe Bugliste 1.4)
in diesem Sinne wünsche ich euch ein T_Joint freies Levelbauen, [NuB2]DigiJo |