Hilfe für ein korrekte Workflow von Blender/Substance Painter bis zum funktionierenden Modell inklusive Texturen im TPF2 gesucht.

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Hi zusammen,


    ich bin neu hier und versuche seit einiger Zeit, in die Modellerstellung für Transport Fever 2 einzusteigen. Mein Ziel ist es, eigene Modelle zu erstellen – vorzugsweise Gebäude und kleinere Assets, die das Schönbauen unterstützen. Fahrzeuge stehen bei mir eher nicht im Fokus.


    Modellieren tue ich in Blender und für die Texturierung nutze ich Substance Painter 3D 2022. Mit beiden Programmen komme ich soweit gut zurecht und habe dort aktuell keine größeren Schwierigkeiten.


    Seit mehreren Tagen versuche ich nun allerdings, ein einfaches Testmodell in Transport Fever 2 zu bekommen. Das Modell selbst konnte ich bereits erfolgreich im Model Editor laden. Probleme habe ich bei den Texturen, da diese vom Model Editor nicht gefunden werden.


    Mir ist inzwischen bewusst, dass ich die aus Substance Painter exportierten AO-, Normal- und ORM-Texturen nicht einfach unverändert übernehmen kann.


    Ich habe deshalb bereits verschiedene Wege ausprobiert, um die Texturen in das für Transport Fever 2 erforderliche DDS-Format umzuwandeln. Aktuell nutze ich dafür GIMP. Dabei habe ich unter anderem die Texturen vertikal gespiegelt und mit BC3 bzw. BC5 komprimiert. Trotzdem bekomme ich die Texturen im Model Editor bisher nicht korrekt zum Laufen.


    Daraufhin habe ich nach Tutorials gesucht, unter anderem auf YouTube. Leider habe ich bisher nichts gefunden, das den kompletten Ablauf wirklich anfängerfreundlich von Anfang bis Ende erklärt. Viele Tutorials beginnen zwar mit dem Thema, lassen dann aber einzelne wichtige Schritte aus oder setzen Wissen voraus, das man als Einsteiger noch nicht hat. Genau an solchen Stellen komme ich momentan nicht weiter.


    Deshalb hoffe ich, hier im Forum etwas Unterstützung zu bekommen.


    Mein langfristiges Ziel ist es, später meine eigenen Modelle und Gebäude auch in Transport Fever 3 einbringen zu können. Bis dahin möchte ich Transport Fever 2 nutzen, um mich mit dem gesamten Workflow vertraut zu machen und damit zu experimentieren.


    Vielleicht kann mir jemand erklären, wie der korrekte Workflow von Blender/Substance Painter bis zum funktionierenden Modell inklusive Texturen im Transport Fever 2 Model Editor aussieht.


    Vielen Dank schon einmal für eure Hilfe! :)

  • Zum dds Format


    Texturen ohne eine Transperenz müssen mit BC1 exportiert werden(albedo, metal_gloss_ao)

    Texturen die eine Transperenz besitzt müssen mit BC3 exportiert werden(albedo_opacity).

    Die normal Maps werden in BC5 exportiert(normal).

  • Hänge den Testmod am besten an, bevor wir hier wild rumraten was passiert sein könnte. Das ist der schnellste Weg für erfolgreiche Hilfe.

    Hi, wenn das mal schon ein Mod wäre. 😄 So weit bin ich noch gar nicht. Bisher ist es nur eine FBX-Datei, die ich in den Model Editor geladen habe. Aktuell versuche ich, die dazugehörigen Texturen hinzuzufügen.


    * Das texturierte Bild stammt aus Substance Painter.

  • Also, ich habe einfach mal die vom Model Editor erstellten Ordner und Unterordner gezippt, die sich unter staging_area befinden.


    Leider kann ich darin nicht erkennen, warum die Texturen nicht geladen bzw. gefunden werden. Die mod.lua enthält ja lediglich Informationen zur Bezeichnung des Assets und zum Autor.


    Die Datei model_editor_settings.lua befindet sich bei mir unter:

    C:\Users\****\AppData\Roaming\Transport Fever 2


    Den darin enthaltenen Eintrag importFbxPath habe ich entsprechend der TPF-Wiki folgendermaßen gesetzt:

    C:/Users/*****/AppData/Roaming/Transport Fever 2/


    Bei userDataPath ist folgender Pfad eingetragen:

    C:/Program Files (x86)/Steam/userdata/36840607/1066780/local/

    Trotzdem kann ich aktuell nicht nachvollziehen, woher der Model Editor den Pfad zu den Texturen nimmt bzw. warum diese nicht geladen werden.

  • Kennst du das offizielle Wiki?

    https://wiki.transportfever2.c…ng:modeleditor#fbx_import


    Wenn du auf die 3 Punkte klickst in wo unknown dds steht, (schon gelb umrahmt), dann müsste sich ein Filebrowser öffnen mit welchem du die Textur manuell zuweisen kannst. Für die automatische Zuordnung der Texturen schau mal ins offizielle wiki, welches ich verlinkt habe.

    Ja, diese Informationen habe ich bereits durchgearbeitet. Daher kenne ich auch die Abhängigkeiten der jeweiligen Materialtypen und die dazugehörigen Texturen wie _albedo.dds, _metal_gloss_ao.dds usw.


    Mein eigentliches Problem ist jedoch, dass der Model Editor die Texturen nicht findet – unabhängig davon, in welchem Ordner ich sie ablege.

    Ich vermute daher, dass die Ursache irgendwo in der LUA-Konfiguration bzw. in der Pfadzuweisung liegt. Die mod.lua und die model_editor_settings.lua scheinen dafür nicht verantwortlich zu sein.


    Auch das direkte Eintragen bzw. Ändern der Pfade für _albedo.dds und _metal_gloss_ao.dds in der material.mtl löst das Problem nicht. Ich gehe inzwischen davon aus, dass es ohnehin nicht der richtige Weg ist, diese Pfade manuell in der material.mtl anzupassen.


    Die entscheidende Frage ist für mich daher: Wo wird festgelegt, in welchem Ordner bzw. unter welchem Pfad der Model Editor nach den Texturen eines Materials sucht?


    Angeblich in dem Ordner "staging_area\example_mod_1"

  • Also das blend was du hochgeladen hast hat keine texturen unde auch kein material zugeordnet.
    Aber wie EMP schon gesagt hat du kannst die texturen einfach unter res/textures/asset/dein_ordner ablegen und dann im ME zuordnen.

  • Also das blend was du hochgeladen hast hat keine texturen unde auch kein material zugeordnet.
    Aber wie EMP schon gesagt hat du kannst die texturen einfach unter res/textures/asset/dein_ordner ablegen und dann im ME zuordnen.

    Ich Flippe aus... Ich sehe meine Texturen. :thumbup::):thumbup:



    Vielen Danke! Jetzt muss ich mich erstmal sortieren... ^^

  • Du hast das meiste ja eh schon im Griff aber falls Du diese Anleitung noch nicht kennst hat diese vielleicht noch ein, zwei neue Tipps parat (dass die Texturen ins dafür vorgesehene Mod-Verzeichnis sollen steht auch in einem Nebensatz unter "Setting Up Model Editor"). Ohne diese Anleitung wäre ich komplett aufgeschmissen gewesen als ich angefangen habe. LINK

  • In welcher Konfiguration wird festgelegt, wie der automatisch generierte Ordner im Verzeichnis „staging_area“ benannt wird – in meinem Fall also „example_mod_1“?


    Wenn ich diesen Ordner manuell umbenenne, führt das im Model Editor (ME) zu einer Fehlermeldung. Daher gehe ich davon aus, dass der Name an anderer Stelle in einer Konfigurationsdatei hinterlegt ist.


    Außerdem ist mir bei der Konvertierung aufgefallen, dass meine Datei „haus_lod0.fbx“ anschließend nicht als „haus_lod0.msh“ erzeugt wird. Stattdessen entstehen Dateien mit der Bezeichnung „Cube001_lod0.msh“ bzw. „Cube001_lod0.msh.blob“. Mir ist momentan nicht klar, woher der Name „Cube001“ übernommen wird und wie ich diesen ändern kann.


    Ich kann mich nur noch vage daran erinnern, dass es dafür eine Konfigurationsdatei gibt, in der sich solche Bezeichnungen bzw. Zuordnungen ändern lassen. Weiß jemand, in welcher Datei diese Einstellungen vorgenommen werden?

  • Den Ordner kannst du benennen wie du möchtest, aber nicht während der ME an ist. Der ME hat keine funktion für derlei Sachen
    Erzeuge einfach einen neuen Ordner (Name nach deinem gutdünken) und schiebe dann den Inhalt aus dem example rüber. Achtung Ohne eine mod.lua findet der ME den Ordner nicht
    Die allgemeine Namenskonvention für Ordner ist moddername_modname_1

  • Also in Blender gibt es Objekte und Msh. Jedes Objekt verwendet ein Mesh, wobei das selbe Mesh von mehreren Objekten verwendet werden kann.


    Folgendes Script kann im Blender scripting Bereich in der console ausgeführt werden, es übernimmt einmalig die Objektnamen für die Meshnamen:


    objects = bpy.data.objects

    for obj in objects:

    obj.data.name = obj.name



    Zur Namenskonvention der Modordner möchte ich noch anfügen, dass es unabdingbar ist, dass der Ordner auf _Zahl endet (zweistellig ist auch möglich). Dies ist die Major Version, während die Minor Version in der Mod.lua steht.