bpasinski.de

Alle Beiträge in »Blender«

TANE Scenery mit Blender erstellen

Gepostet am 15. Juni 2020 in Anleitung, Blender, TANE, Trainz

Achtung: Diese Anleitung wurde für TANE SP4 und Blender 2.79 erstellt! Trainz kann erst ab TANE SP4 mit FBX Files umgehen und ab Blender 2.8 wurde der alte Renderer inklusive klassischem Materialsystem von Blender entfernt.

Nachdem ich bereits eigene Assets für den Train Simulator erstellt hatte, wollte ich mich mal wieder mit Trainz beschäftigen und diese dort auch zum laufen kriegen. Dieser Post soll einen Einblick in meinen dabei verwendeten Workflow bringen und setzt Basiswissen im Umgang mit Blender voraus.

Materialsetup in Blender

Trainz folgt einer Namenskonvention beim verarbeiten von Materialien in FBX-Dateien. Diese entspricht dem Schema „custom.m.shader„, wobei custom ein beliebiger Materialname und shader einer der Shader ist. Eine Liste der Shader ist im Trainz Wiki zu finden.

Material- und Textursetup in Blender

In diesem Fall haben wir nur eine Textur, also nehmen wir den Shader onetex. Dieser Shader benötigt nur einen Texturslot, der die Textur des Objekts zugewiesen bekommt.

FBX Export

Besonders wichtig: Apply Scaling, Forward und Up.

Beim Export als FBX sind die Einstellungen des Exporters zu beachten. Bei mir funktionieren die oben zu sehenden Einstellungen, besonders wichtig sind Apply Scaling, Forward und Up.

Trainz Asset erstellen

Wenn die FBX-Datei erfolgreich erstellt wurde, kann das Asset in Trainz angelegt werden. Als erstes muss man bei MyTrainz angemeldet sein, damit man seine Autoren-ID bekommt. Ist dies getan, kann im Content Manager über den Menüpunkt Entwickler -> Neue Inhalte ein neues Asset angelegt werden. Um dieses anzuzeigen, kann als Filter „Meine Inhalte“ ausgewählt werden. Per Rechtsklickmenü -> Öffnen -> Im Explorer Bearbeiten kann das Bearbeitungsverzeichnis geöffnet werden. In dieses können die FBX-Dateien und die Texturen hineingezogen werden.

LODs

LODs werden über eine .LM.TXT-Datei gesteuert. Diese enthält Verweise auf die eigentlichen Meshes, angereichert mit Metainformationen für Levels of Detail. Eine .LM.TXT-Datei sieht beispielsweise so aus:

version 1.0

offset = 0.01;
calcPoint = center;
multiplier = 1.0;
renderCutOff = 0.0;

mesh("0.1") {
    name="reihenhaus1_lowpoly.trainzmesh";
}

mesh("0.3") {
    name="reihenhaus1.trainzmesh";
}

Die FBX-Files tauchen hier nicht direkt auf, weil diese beim übernehmen des Assets zu trainzmesh-Files konvertiert werden, welche auch verwendet werden sollten.

config.txt

Der nächste Schritt ist die config.txt. Diese Datei enthält die Informationen über das Asset. Eine leere config.txt enthält nur die Tags kuid und kind. Der Wert von kind muss von „unknown“ zu „scenery“ geändert werden.

In der config.txt sollten noch die folgenden Informationen stehen:

trainz-build                            4.5
username                                "TSHH Row House 1"
username-de                             "TSHH Reihenhaus 1"
category-class                          "BH"

mesh-table
{
  default
  {
    mesh                                "reihenhaus1.lm"
    auto-create                         1
  }
}

Das trainz-build-Tag definiert die Trainz-Version, für die das Asset erstellt wurde. Die 4.5 ist in diesem Fall TANE SP4. username ist der Name des Assets, der dem Benutzer angezeigt wird. Mit dem de-Suffix kann der Name lokalisiert werden, dabei können auch Sonderzeichen verwendet werden, da die config.txt UTF-8-kodiert ist. Die category-class ist die Kategorie des Objekts, eine Liste von gültigen Werten ist im Trainz Wiki zu finden. Um das Mesh auch anzuzeigen, wird ein mesh-table-Tag gesetzt. Dieses enthält ein Mesh (default) welches auf die .LM.TXT-Datei verweist. Dabei ist zu beachten, dass die Dateiendung .TXT dabei entfällt. Wichtig ist auch, dass auto-create auf 1 gesetzt ist, damit das Mesh angezeigt wird.

Asset übernehmen

Zurück zum Content Manager: Per Rechtsklick auf das eben bearbeitete Asset und den Menüpunkt Änderungen übernehmen wird das Asset in Trainz übernommen. Dies kann je nach Größe etwas dauern. Danach kann mit einem erneuten Rechtsklick und dem Menüpunkt Öffnen -> Objektvorschau das Objekt betrachtet werden.

Feinschliff

Das Asset enthält immer noch die FBX-Files, welche nicht mehr gebraucht werden. Um diese zu löschen, muss das Asset wieder in den Bearbeitungsmodus gesetzt werden. Danach lässt sich das Asset ohne Probleme wieder übernehmen.

Nun ist das Objekt fertig importiert und kann ingame bestaunt werden:

Das Fenster gibt sich zwar als TRS19 aus, dies ist jedoch TANE