Blender Import/Export Addon

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


  • Einige haben es ja schon mitbekommen, dass ich an einem Blender Addon arbeite, welches den direkten Import/Export von verscheidenen Train Fever Objekten direkt in und von Blender ermöglicht.
    Inzwischen hat das Addon ein Stadium erreicht, das es mir ermöglicht es ohne schlechtes Gewissen zu veröffentlichen. ;)
    Die Funktionen bestehen hauptsächlich im Import und Export der drei modellrelevanten Dateitypen: .msh, .grp und .mdl. Besonders hervorheben möchte ich hier aber die Möglichkeit die Seitenansicht fürs UI automatisch erzeugen zu lassen (kann allerdings ein paar Sekunden dauern).


    Der Import ist aufgrund der begrenzten Funktionalität meines Lua-Parsers noch nicht bei allen Objekten möglich (die Fahrzeuge sollten aber alle gehen).
    Den Download findet ihr im Download-Bereich, eine Erklärung zur Nutzung des Addons gibt es im Lexikon.


    To-Do:

    • Animationen (Im- und Export)
    • Lua-Parser überarbeiten


    Zur weiteren Verbesserung des Materialexports könnte ich noch eure Hilfe gebrauchen. Zum einen wäre eine Liste aller möglichen Materialtypen inklusive der genutzten Texturen nützlich, das habe ich bis jetzt ('map_env' fehlt absichtlich, da man die ja nicht ändern muss):

    Code
    material_types = {
      'REFLECTIVE_NRML_MAP': ['map_color_reflect', 'map_normal'],
      'REFLECTIVE': ['map_color_reflect'],
      'TRANSPARENT_NRML_MAP': ['map_color_alpha', 'map_normal'],
      'TRANSPARENT': ['map_color_alpha'],
      'TRANSPARENT_OP': ['map_color_alpha', 'map_op'],
      'TRANSPARENT_NRML_MAP_OP': ['map_color_alpha', 'map_normal', 'map_op'],
      'REFLECTIVE_OP': ['map_color_reflect', 'map_op'],
      'REFLECTIVE_NRML_MAP_OP': ['map_color_reflect', 'map_normal', 'map_op']
    }


    Zum Anderen fehlen mir noch Listen aller möglichen Filtertypen (z.B. 'LINEAR_MIPMAP_LINEAR') und der möglichen 'wrap'-Einstellungen (z.B. 'REPEAT').


    Zur Version für TPF und TF geht es hier: Blender Import/Export Addon (aktuell Version 0.5.0)

  • Das ist mal SEHR gut. Zwar ist das Import/Export-Script noch etwas instabil (Es kommt zuweilen zu einer Fehlermeldung, und das Script wird in der Addonliste deaktiviert), aber funktionieren tut es hervorragend :thumbup:

    Ich bin nur dafür verantwortlich was ich schreibe, nicht was andere verstehen "wollen"!


    System: Windows 11 Home ; Intel Core i7-4790k @ 4 GHz ; 32 GB DDR3 Ram ; GeForce RTX 2080 Ti @ 11 GB GDDR5 Ram

  • Nun wollte ich endlich dank des Tools, meine erste "veränderung" exportieren. (Importieren klappte hervorragend)
    Allerdings meldet Blender mir beim Exportieren: "Mesh Export failed: Mesh countains ngons!" ?!


    Selbst wenn ich den Haken bei "Select Ngons" entferne, wird keine Datei geschrieben.


    Was sind diese ngons überhaupt? Davon ist auch im Lexikon-Eintrag nichts zu finden.


    Lange Rede kurzer Sinn... ich bekomme mein geändertes Modell nicht exportiert. :(
    Im wesentlichen habe ich das Modell (duvedec-front.msh) importiert, einige faces entfernt, und neue hinzugefügt und gemappt. (Ohne eine neue Textur etc. zu laden.)

    Ich bin nur dafür verantwortlich was ich schreibe, nicht was andere verstehen "wollen"!


    System: Windows 11 Home ; Intel Core i7-4790k @ 4 GHz ; 32 GB DDR3 Ram ; GeForce RTX 2080 Ti @ 11 GB GDDR5 Ram

  • Ok... wenn Du mir jetzt nochmal verrätst was genau die Ngons sind, und wie ich diese "finde" und schlussendlich trianguliere?


    Ich bitte um Vergebung, aber ich habe mich erst vor 3 Wochen in Blender (Mein erstes 3D-Programm) eingearbeitet.

    Ich bin nur dafür verantwortlich was ich schreibe, nicht was andere verstehen "wollen"!


    System: Windows 11 Home ; Intel Core i7-4790k @ 4 GHz ; 32 GB DDR3 Ram ; GeForce RTX 2080 Ti @ 11 GB GDDR5 Ram

  • Ok... wenn Du mir jetzt nochmal verrätst was genau die Ngons sind, und wie ich diese "finde" und schlussendlich trianguliere?


    N-Gons sind im Grunde nichts anderes als Vielecke. Der Begriff Polygon beschreibt in etwa das gleiche (Poly = Viele).
    Rechnerisch kann ein Modell nur anhand von Triangles berechnet werden. Die geschieht oft automatisch in Spielen, auch wenn das Modell nicht trianguliert worden ist.


    @Merk
    Ich find´s super das du deinen Exporter nun der Öffentlichkeit anbietest, jeoch werde ich wohl bei Omichs Exporter bleiben, um mir den Umweg über Blender zu ersparen.

  • Danke nochmal für die Erklärung. ;)
    Hatte aber alles schon im TS erklärt bekommen.


    Klasse Community.. kann ich gar nicht oft genug wiederholen. :thumbup:

    Ich bin nur dafür verantwortlich was ich schreibe, nicht was andere verstehen "wollen"!


    System: Windows 11 Home ; Intel Core i7-4790k @ 4 GHz ; 32 GB DDR3 Ram ; GeForce RTX 2080 Ti @ 11 GB GDDR5 Ram

  • für die Nachwelt, die das "ngon Problem" vielleicht ebenfalls hat:


    Lösung, falls man die Fehlermeldung erhält:

    • im Edit Mode
    • nichts selectiert
    • Select -> Select Faces by Sides
    • Type: Greater than und "Number of Vertices" auf 4 - dadurch werden alle Faces, die mehr als 4 Vertices haben ausgewält
    • [CTRL] + F drücken und "Trianglulate Faces" wählen - dadurch werden die Vielecke (ngons) in Dreiecke zerteilt.

    möge es den fleißigen Leser vor stundenlangem Rätseln bewahren ;)

  • Oder einfach den Exporter einmal mit der Option "Select Ngons" durchlaufen lassen. Das gibt zwar auch die Ngon-Fehlermeldung, danach sind aber alle Faces mit mehr als 4 Ecken ausgewählt und können direkt trianguliert werden (z.B. Strg + T oder über das Mesh Menü). ;)

  • Kurze Frage: kann der Exporter auch multiple UV-Maps handhaben?


    Also sagen wir, ich habe den Body des Zuges mit Material A, Textur X und UV-Map-1. Nun füge ich dem Material A noch Textur Y hinzu und erstelle eine zusätzliche UV-Map-2 (z.B. für Schilder die die unterliegende Textur X teilweise überdecken sollen). In der Render-Ansicht von Blender sieht das gut aus, kann der Exporter damit umgehen?

  • Ich bin mir da ehrlich gesagt nicht so sicher wie mediziner. Zwei verscheidene Materialien für ein Mesh sind kein Problem, aber zwei unterschiedlichen Texturen/UV-Maps für ein Material werden von TF soweit ich weiß nicht unterstützt und entsprechend auch vom Exporter nicht. Allerdings habe ich das noch nie ausprobiert.

  • Dann werd ich wohl derjenige sein, der es ausprobiert. Aber wenn TF es nicht unterstützt - hmmm. Ich denk mal noch nach, vielleicht kann ich es auch über zwei Materialien lösen.


    Neee es geht natürlich nicht über zwei Materialien. Ich muß zwei UV-Maps haben, sonst kann ich Textur 2 ja nicht in besserer Auflösung über Textur 1 legen - und das ist ja Sinn der Veranstaltung.


    Oben mit zwei zusätzlichen Texturen für das Schild und die Seriennummer, die die Haupttextur überlappen; unten nur mit Haupttextur (2048x2048), :

  • Zitat von Grisu118

    Ansonsten für diese Dinge ein eigenes Objekt mit eigener Textur machen und dann einfach zusätzlich Eintragen, könnte man dann mit LOD auch ausblenden ab einer gewissen Distanz


    Ja das war mein erster Gedanke, aber ich hab Sorgen, daß man dann die Kanten sieht. Also ich könnte eine Fläche für das Dienstabteil-Schild an den Zug heften, aber damit die Oberfläche nicht mit der dahinterliegenden Fläche "verschmilzt", müßte die obere Fläche einen Müh weit herausstehen. Ich hab Angst, daß man das im Spiel dann sieht bei Glanz/reflektion/Schattierung. Hast Du Erfahrung damit, die Du teilen kannst?


    Zitat von SwissCH

    Schicke Idee würde gerne wissen ob das in Train Fever dann auch funktioniert.


    Na ich sag bescheid, wenn es klappt - oder nicht. Die einfachere Lösung wäre allerdings Grisu118's Vorschlag, wenn das im Spiel dann wirklich ordentlich aussieht. Ich denke, das bleibt dann die Fallback-Lösung. Und die Fallback-Fallback-Lösung ist dann eben eine pixelige Schrift ;-)


    Zitat von Lokschuppen

    @Jan
    Ich verstehe irgendwie allgemein nicht den Sinn hinter der Sache.


    Der Sinn ist, daß bestimmte Details in höherer Auflösung verfügbar sind, als andere. Für die lackierung elfenbein-weinrot braucht man keine besonders auflösende Textur, auch nicht für den Unterbau, die Drehgestelle, Räder, Fenster, etc. Die sehen im Spiel gut aus auch mit niedrig aufgelöster Textur. Aber solche Details wie Text, den man ja lesen können will, würde ich gern etwas deutlicher anbringen also mit höherer Auflösung. Dafür will ich aber nicht die gesamte Textur auf 4096x4096 Pixel aufblähen, das wäre Verschwendung. Also will ich einzelne kleinere Texturen direkt einbinden.