TS2010 Bodentexturen erstellen
Aus TrainzDepot Wiki
|
Spamschutz aktiv! |
Vorraussetzungen
Trainz 2009/2010: Dieses Tutorial bezieht sich nur auf TS2009/2010, da Normalmaps und Jahreszeitenwechsel genutzt werden.
Ein Bildbearbeitungsprogramm: Freeware: GIMP [1] Payware: Adobe Photoshop [2] (Alle Erklärung in diesem Tutorial beziehen sich auf GIMP - Diejenigen die Photoshop besitzen wissen wohl hoffentlich auch wie man damit umgeht ;) )
Zusätzlich: Shadermap (zum erstellen von Normalmaps, ab TS2009) [3]
DXTBmp (zum öffnen des Alphachannels) [4]
Bearbeiten der Textur
Zuerst brauchen wir eine Textur die wir später in eine Bodentextur verarbeiten wollen, sozusagen unser "Rohmaterial". Ich nehme für dieses Tutorial eine einfache Grastextur:
In GIMP bzw. Photoshop müssen wir diese Textur zuerst auf eine für Trainz zu verarbeitende Größe skalieren. Die Anzahl der Pixel darf ausschließlich eine Zweierpotenz sein, also 128x128, 256x256 usw.. Die ideale Größe für eine Bodentextur beträgt 512x512 Pixel, deshalb werden wir die Textur darauf runterskalieren. In GIMP geschieht das mit Bild->Bild skalieren.
Die Textur wird als TarGa (.tga) gespeichert. Ideal wäre der Name "summer.tga" oder "sommer.tga", da wir später noch Jahreszeiten einfügen wollen und so nicht durcheinanderkommen.
Achtung! Bei RLE-Kompression muss das Häckchen DEAKTIVIERT sein! Trainz kommt sonst nicht mit der Textur zurecht!
Aber damit ist unsere Textur noch nicht komplett. Was fehlt ist eine sogenannte Normal-Map oder Normal-Textur, um einen plastischeren Effekt zu erzielen. Also müssen wir nun Shadermap bemühen uns eine Normalmap zu erstellen. Wir wechseln in den Ordner ShaderMap CL 1.2.2\cl_examples und editieren die "example_1 diff to disp_norm_spec.bat" mit dem Namen unserer Textur (Rechtsklick->Bearbeiten). Die untere Zeile müsste dann so aussehen (der zu editierende Dateiname ist hervorgehoben)
START /WAIT ..\shadermap.exe cdiff "media\summer.tga" -disp (*,*,*,*) -norm (*,140,*,*) -spec (*,10,*,*) -v
Da nun unsere Textur fertig ist können wir damit beginnen unsere Bodentextur in Trainz zu integrieren. Wir öffnen den Content Manager und drücken Strg+N um ein neues Objekt zu erstellen. Im daraufhin aufploppenden Fenster wählen wir Groundtexture. Nun öffnet sich der Content Creator Plus, wo wir Name, Land und Ära festlegen können (Was bei einer Bodentextur eher unerheblich ist, denn Gras sah 1800 wohl nicht anders aus :) )
Die Meldung ob wir speichern wollen bestätigen wir, und schon finden wir unser neu erstelltes Objekt im CM wieder.
Wir klicken auf unser Objekt und drücken Strg+Umschalt+E um es im Explorer zu bearbeiten. Nun finden wir im Explorer einen Ordner vor in dem sich nur eine config.txt befindet. Wir kopieren unsere vorher erstellte Targa-Texture und die Normalmap aus dem Ordner "ShaderMap CL 1.2.2\cl_examples\media (summer_NORM.tga)" in diesen Ordner und öffnen die config.txt. Jetzt müssen wir noch die Werte "texture" und "normal-texture" editieren und dahinter den Namen unserer Texturen einfügen (mit Dateiendung!) Das sieht zum Beispiel so aus:
texture "summer.tga"
normal-texture "summer_NORM.tga"
Nun glänzt unsere Textur in Trainz noch etwas merkwürdig. Das sieht natürlich komisch aus und ist nicht gewollt. Die Lösung des Problems: Der Alpha-Channel unserer Normalmap (Specular-Map) ist zu weiß, also reflektiert die Textur das Licht. Bei Gras ist das ungewollt, also werden wir den Alpha-Channel komplett schwarz färben um ein Reflektieren zu verhindern. Dazu öffnen wir unsere Datei "summer_NORM.tga" mit DXTBmp. Wenn ihr DXTBmp zum ersten Mal nutzt müsst ihr noch die .exe-Datei von GIMP als Editor definieren (Prefs->Select Editor). Dann wählen wir Alpha->Send Alpha to Editor. In GIMP färben wir die Textur komplett schwarz und speichern sie wieder unter "trans.bmp" ab. Nun müssen wir in DXTBmp File->Save wählen und die Textur überschreiben.
So, damit habt ihr nun eine funktionieren Bodentextur für TS2010 erstellt, die auch eine Normalmap beinhaltet und im nativen Modus läuft. Alle weiteren Schritte hier sind optional.
Erstellen von saisonalen Texturen
Um unsere Textur auch für verschiedene Jahreszeiten optimieren, brauchen wir zuerst weitere Texturen für Herbst und Winter. Entweder ihr verfärbt/modifiziert die vorhandene in GIMP/Photoshop oder schneidet euch eine neue zurecht, das bleibt euch überlassen. Eure Texturen nennt ihr am besten der Einfachheit halber "autumn.tga" und "snow.tga", nebst passenden Normalmaps (wie die erzeugt werden steht weiter oben). So müsst ihr auch den folgenden Eintrag nicht modifizieren, den ihr nun in eure config.txt einfügen müsst. "texture-variants" und "season-selector" müssen mitkopiert werden, es liegt am Wiki dass diese Einträge nicht auch im Kasten sind!
texture-variants
{
0
{
diffuse-texture "summer.tga"
normal-texture "summer_NORM.tga"
}
1
{
diffuse-texture "autumn.tga"
normal-texture "autumn_NORM.tga"
}
2
{
diffuse-texture "snow.tga"
normal-texture "snow_NORM.tga"
}
}
season-selector
{
season-range 0.25,0.75
branch-true
{
season-range 0.25,0.5
branch-true
{
output-season 1
}
branch-false
{
output-season 2
}
}
branch-false
{
output-season 0
}
}
"summer.tga", "autumn.tga" und "snow.tga" nebst Normals müsst ihr eventuell mit euren eigenen Texturnamen ersetzen. Ansonsten habt ihr, wenn ihr auch die Texturen in den Ordner verschoben habt, nun eine jahreszeitliche Textur. Überprüfen könnt ihr das indem ihr im Editor eine Textur auf den Boden malt und mit "Umgebung verändern" die Jahreszeit wechselt.
--Trainzer 13:42, 25. Jun. 2010 (UTC)

