Texturen für Trainz-Objekte

Erlaubte Bild-Formate für Texturen…

Content Creatoren (CCs, Objekt-Ersteller) für Trainz, texturieren Ihren Content (Assets, Objekte) mit Bild-Dateien.
Die empfohlenen Grafik-Formate sind…

  • TGA ― 24 Bit Farbtiefe
    Für das allgemeine äußere Erscheinungsbild des Objekts.
  • TGA ― 32 Bit Farbtiefe
    Für das allgemeine äußere Erscheinungsbild des Objekts, mit integriertem Alpha-Kanal.
    Seit TS2009, ausschließlich für Normal-(Bump-)Map-Texturen, mit denen auf ebener Fläche, 3D-Struktur-Effekte optisch simuliert werden.
    Der hier zu integrierende Graustufen-Alpha-Kanal, steuert die Helligkeit beziehungsweise das Glanz-Verhalten der Strukturen.
  • BMP ― 8 Bit Farbtiefe
    Für einen Graustufen-Alpha-Kanal, je dunkler, desto durchsichtiger (Transparenz), auch Blending-Alpha genannt.
    Für einen Alpha-Kanal in reinem schwarz & weiß, auch Alpha-Cut genannt.
    Diese Alpha-Kanal-Datei muss die gleichen Kantenlängen in Pixeln haben, wie die zugehörige TGA-Grafik.Seit TS2009, ist
    Blending-Alpha nicht mehr empfohlen beziehungsweise erlaubt.
  • BMP ― 24 Bit Farbtiefe
    Für Glanz-Effekte des äußeren Erscheinungsbildes des Objekts, Environmental genannt.

 

…und seit TS2009 ist auch das Format…

  • JPG ― 24 Bit Farbtiefe
    Für Texturen, die nicht sonderlich detailreich sein müssen, weil nicht wirklich verlustfrei komprimierte Bild-Ergebnisse entstehen, selbst wenn ‚100% Qualität‘ beim erstellen angewendet wird.

…erlaubt.

Um aus diesen ‚Bildern‘ Trainz-taugliche Texturen zu bekommen, wird zusätzlich noch eine gleichnamige Text-Datei mit einer Art technischer Beschreibung der Grafik benötigt, die aber beim 3D-Mesh-(Objekt-Außenhaut-)Export aus einem 3D-Modellier-Programm, automatisch angelegt wird. Erstellt ein CC ein Objekt ohne 3D-Mesh, beispielsweise eine  Boden-Textur , muss er diese Text-Datei selbst produzieren.
Diese Text-Datei trägt anstelle der Bild-Datei-Endung, zwei Datei-Endungen…

  • texture.txt

Ab TS2009, wurde es Performanter…

Wird ein Objekt mit dem ContentManager – ab TS2009 – eingebunden, wird jede Grafik der oben genannten Formate, unter zuhilfenahme der entsprechenden texture.txt, in ein DirectX-kompatibles Grafik-Format konvertiert, welches die Datei-Endung…

  • texture

…bekommt.

Das Ergebnis daraus, ist durch Kompression in der Daten-Menge, durchschnittlich um Faktor vier reduziert, wird von Trainz ohne Umrechnung direkt in den Grafikkarten-Speicher geschoben, bietet außerdem automatisches Textur-LOD (Level Of Detail), welches die Grafikkarte selbstständig errechnet und verwaltet.
Der positive Nebeneffekt ist, dass nur noch die Textur geladen wird, wodurch die texture.txt weder geladen noch ausgewertet werden muss, was auch den Festplatten-Zugriff stark reduziert.
Der insgesamt beträchtliche Performance-Gewinn, ist sicher leicht erkennbar.

Die ursprünglichen Grafiken, nebst zugehöriger texture.txt, werden zwar von Trainz aufbewahrt, aber Trainz arbeitet intern ausschließlich mit den konvertierten Texturen.

Der Vollständigkeit halber sei erwähnt, dass es bereits vor TS2009, ein Trainz-Texture(n)-Format gab. Schon hier wurde die Datei-Endung ‚texture‘ verwendet. Hierbei handelte es sich allerdings um ein binäres Format, welches noch keine Kompression sondern lediglich die texture.txt-Integration mitbrachte. Dieses Format war beinahe ausnahmslos dem BuiltIn-Content (mitgelieferte (eingebaute) Objekte) vorbehalten.
Wollte ein CC dieses Format für seine eigenen Objekt-Texturen nutzen, musste er sich selbst um dessen Konvertierung und anschließender Beseitigung der ursprünglichen Grafik(en) und der jeweiligen texture.txt kümmern.
Dies Binär-Format ist seit TS2009 eine Fehlerquelle…


Erlaubte Textur-Kantenlängen nach ‚Fakultät 2’…

 

8 Pixel Breite und/oder Höhe = Mindestmaß
2 x 8 Pixel Breite und/oder Höhe = 16 Pixel
2 x 16 Pixel Breite und/oder Höhe = 32 Pixel
2 x 32 Pixel Breite und/oder Höhe = 64 Pixel
2 x 64 Pixel Breite und/oder Höhe = 128 Pixel
2 x 128 Pixel Breite und/oder Höhe = 256 Pixel
2 x 256 Pixe Breite und/oder Höhe = 512 Pixel
2 x 512 Pixel Breite und/oder Höhe = 1.024 Pixel
2 x 1.024 Pixel Breite und/oder Höhe = 2.048 Pixel
2 x  2.048 Pixel Breite und/oder Höhe =  4.096 Pixel

Seit TS2009 haben Texturen bis 4.096 Pixel Breite und/oder Höhe einzug gehalten, wobei vorher lediglich 1.024 Pixel erlaubt waren.
2.048 Pixel waren vor TS2009, ausschließlich dem Objekt-Typ ‚Backdrop‘ vorbehalten.


Textur-Größenverhältnis…

Bei dem Seiten- oder Größenverhältnisen darf das maximal Verhältnis 1:8 oder 8:1 betragen!
Beachten Sie also…
Überschreiten Sie den genannten Bereich nicht, um Performance-Verluste oder untexturierte (weiße) Objekt-Flächen zu vermeiden.

z.B.: Bei einer Breite 128 Pixel, kann die Höhe maximal 1024 Pixel haben oder minimal 16 Pixel.