SM1 - Virtueller Modellbau

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


  • Die Mesh der Güter müssen dem Lkw hinzugefügt werden und dann musst du die Bedingungen definieren bei denen sie eingeblendet werden. Dazu am besten mal einen anderen Lkw anschauen der das kann. Bei Lkw mit plane muss man das aber auch nicht machen. Einfach die Lkw plane hinten schließen. Die Vanilla Lkw haben auch keine ladeanimation.

  • Ich habe noch eine Pritschenversion, wäre schön, wenn man es sehen könnte.

  • Achso, also ich nehme immer die Standardgüter von UG, skaliere die mir zurecht, falls notwendig und stelle davon mehrere auf die Ladefläche. Wenn du sie über die Transformationsmatrix skalierst brauchst auch die Mesh nicht mitliefern, mtl und Texturen sowieso nicht. Wichtig! Wenn du die Vanillagüter irgendwie veränderst muss du sie umbenennen, sonst verwenden alle anderen Mods die auf die Vanillagüter zurück greifen und auch das Grundspiel deine Version der Mesh, was entweder zum crash führt oder im besten Fall komisch ausschaut.
    Das machst du mit alle Gütern die du laden willst, die stehen halt erstmal alle ineinander.


    Mit diesen Zeilen (von meinem Renault Magnum) wird dann definiert was ausgeblendet wird.
    {capacity = 80, loadIndicators = {{ params = { levels = {
    { 108,107,106,105,104,103,102,101,100,99,98,97,96,},
    {108,107,106,105,104,103,102,},
    {108,107,106,105,104,102,},
    {108,107,106,104,102,},
    {108,106,104,102,},
    {108,106,104,},
    {108,106,},
    {108,},
    { },
    }, },type = "DISCRETE", }, }, type = "CONSTRUCTION_MATERIALS",},


    Die erste Zeile blendet alles aus wenn keine CONSTRUCTION_MATERIALS geladen sind. Ist hier ein bisschen mehr, weil ich ja den Trailer+Räder und die group des Trailers mit ausblenden muss, eigentlich kommen da nur die id's der Mesh rein welche die Güter darstellen. (In meinem Fall sind 108-101 die Güter, der Rest ist der Trailer)
    Ab der zweiten Zeile habe ich dann jeweils eine Zahl weg gelassen, so das bei mehr Beladung immer eine Palette mehr eingeblendet wird, bis zur letzen Zeile wo dann nichts mehr versteckt ist.
    Es müssen nicht 8 Güter sein es geht jede Zahl, wenn du 8 nimmst wird halt alle 1/8 ein Gut mehr dargestellt bei 6 jedem 6tel und wenn du nur 2 nimmst dann halt bei 50% und bei voll. Jedenfalls so ungefähr er lädt das 2te Ladegut wenn 1/8 überschritten ist. Für deinen LKw dürfte 40 die passende Kapazität sein, da die Ladefläche ungefähr halb so groß ist wie beim 40tonner.


    Für die richtigen Id's empfehle ich TF ID Counter das braucht man für Ladeanimation und fakebogies, da dort die id's weiter gezählt werden auch die innerhalb der groups werden mitgezählt.


    Noch was, fang am besten mit nur einem Ladegut an und sorge dafür das es funktioniert. Wenn du gleich alle Mesh einbaust werden die permanent dargestellt bis du sie über so eine Zeile oben ausblendest, das ist aber zum testen und Fehlersuche ziemlich nervig.

  • Du fügst deinem Modell selber irgendwelche Meshes hinzu, welche die Ladung darstellen sollen. Für Öl kannst du bspw ein Fass bauen und auf der Ladefläche platzieren. So wie du auch ein Rad erstellst und platzierst. Oder du nutzt, wie @MaikC sagte, die von UG. Is ja völlig egal wo die herkommen.


    Jedenfalls muss das Fass in der children Liste stehen. Dort hat es je nach Position eine ID, bzw wenn man diese children Liste als Array versteht, einen Index. Das schon erwähnte ID Tool hilft einem sehr dabei (auch beim Verständnis).


    Schlussendlich definierst du einen loadIndicator, das mit den vielen Zahlen von Maik, und gibst dort in Zeile 1 an (die definiert den leeren Zustand), dass dein Fass ausgeblendet werden soll. Dazu schreibst du eben dessen ID bzw Array Index dort rein. In die letzte Zeile schreibst du nix, denn es soll ja auch nix mehr versteckt werden.


    Nun kannst du natürlich auch 2 (oder n) Fässer an verschiedenen Positionen platzieren und jedes einzeln in der children Liste aufgeführt hat dann eine eigene ID die du dann nach und nach anzeigen lassen kannst.


    Ich empfehle dir nochmal einen Blick in meine Lexikon Artikel zu werfen, da hab ich dazu auch was ausführlicheres verfasst :)

  • Sozusagen, aber eher jedes Mesh, die sind quasi der Reihe nach durchnummeriert. Mit dem verlinkten Tool zeigt er die "Nummer" also die id an.


    Edit: @DarkMo war da etwas schneller und ausführlicher :D

  • Verstehe ich das richtig. Die eingebauten Pseudo-Güter werden durch die Ausblendung durch die an der Ladestation ersetzt.

  • Nein ^^


    Das sind keine Passagiere. Bei denen definierst du seats, also eine Position, an die dann der Sim platziert wird - dieser Sim, der da an der Haltestelle steht. Bei Gütern hast du einfach irgendein Mesh an der Haltestellen stehen das für 1 irgendwas steht und auf deinem Fahrzeug hast du irgendein Mesh (ein eigenes oder auch die gleichen wie an der Station), dass dann eben beim Fahrzeug für dieses eine irgendwas steht. Und wenn du da für nen Baumstamm ein Flugzeugmesh hast, dann hat die Hütte am Ende halt 10 Flugzeuge auf der Ladefläche ;)


    Edit: Asö wegen der Ausblendung. Du baust deinen LKW und hinten drauf 10 Fässer oder Kisten (oder Flugzeuge :D ) so dass er optisch voll ausschaut. Damit er nicht andauernd optisch voll aussieht, sondern nur dann, wenn er auch wirklich voll ist, blendest du die Meshes je nach Ladungsstand halt einfach aus. Ist nichts geladen, sind alle Meshes ausgeblendet. Ist er zur Hälfte geladen, nimmt er halt den mittleren Zustand deiner Listen. Bei 3 Einträgen halt den Mittleren. Wenn du da definiert hast, dass dort 3 Kisten sind und bei voll 4 und bei leer 0, dann zeight er halt nix, 3, 4 Kisten an. Je nachdem, wie du das eben definiert hast. Sinnigerweise, definiert mans halt in einer gewissen Regelmäßigkeit, also nicht 0 3 4 sondern eher 0 2 4.

  • Soweit verstanden aber, kann mir das jemand erklären, warum mein Fahrzeug, so lenkt.

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Ist der Mittelpunkt des Meshes nicht in der Mitte des Rades sondern in der Mitte des Fahrzeugs auf Höhe des Rades?
    Falsch:

    Code
    {
    	id = "vehicle/bus/Reifen1960/Reifen1960_1_Rad.msh",
    	transf = {
    		1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 3.23, 0.0, 0.475, 1.0, 
    	},
    	type = "MESH",
    },

    Richtig:

    Code
    {
    	id = "vehicle/bus/Reifen1960/Reifen1960_1_Rad.msh",
    	transf = {
    		1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 3.23, 1.10, 0.475, 1.0, 
    	},
    	type = "MESH",
    },

    Weil grundsätzlich ist die Animation ja richtig ... lediglich etwas übertrieben.

  • Meine Einträge:
    {
    id = "vehicle/truck/ae90plane/rad.msh",
    transf = {
    1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.89, 0.97, 0.53, 1.0,
    },
    type = "MESH",
    },
    {
    id = "vehicle/truck/ae90plane/rad.msh",
    transf = {
    -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.89, -0.97, 0.53, 1.0,
    },
    type = "MESH",
    },

  • Doch, das müsste passen.


    Vielleicht liegt das Problem daran, dass der Mittelpunkt des Fahrzeugs zu weit vorne ist oder weil die FakeBogies nicht richtig gesetzt wurden?

    Code
    boundingInfo = {
    	bbMax = { 5.48, 1.28, 2.85, },
    	bbMin = { -5.18, -1.28, 0.00, },
    },

    Bei meinem Beispiel ist er ganz leicht vorne.

    Code
    configs = {
    	{
    		axles = { "vehicle/bus/Reifen1960/Reifen1960_1_Achse.msh", },
    		fakeBogies = {
    			{ group =  1, position = 0, offset = 0 },
    		},
    		wheels = { "vehicle/bus/Reifen1960/Reifen1960_1_Rad.msh", },
    	},
    },

    Leider sind das alles nur Vermutungen, kein wirkliches Wissen.

  • Hier diese Werte:
    boundingInfo = {
    bbMax = { 2.94988, 2.62873, 4.08827, },
    bbMin = { -6.12948, -1.62663, -0.52554, },
    },


    {
    axles = { "vehicle/truck/ae90plane/achse.msh", },
    wheels = { "vehicle/truck/ae90plane/rad.msh", },
    fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
    },

  • Jetzt bin ich am Verzweifeln, die Lenkung will einfach nicht hinhauen. Hier mal die mdl-Datei. Erstmal egal wie es aussieht, es geht um die Lenkung. Vielleicht findet jemand den Fehler, danke.
    ae90pritsche.zip

  • Probier mal die Children in der mdl neu zu ordnen, in der Reihenfolge 1. Fahrzeug, 2. Achsen/Räder, 3. Ladung. Derzeit wird alles (FakeBogie, Fahrer, ...) der Achse zugeordnet, da sie als erstes genannt wird.


    Auch wäre es vorteilhaft, wenn deine Meshes bereits vor dem Export richtig skaliert/gedreht sind. Damit lässt sich der Zahlenwust in Matrix minimieren und besser der Überblick behalten. Alles in allem sollten beim Fahrzeug selbst (bis auf die Verschiebung bei Rädern und Achsen) nur Nullen und Einsen in der Transformationsmatrix vorkommen.

  • Jetzt sieht es so aus,
    ---------------------------------------


    function data()
    return {
    boundingInfo = {
    bbMax = { 2.93338, 1.62187, 4.13189, },
    bbMin = { -6.09606, -1.58617, -0.52379, },
    },
    collider = {
    params = {


    },
    type = "MESH",
    },
    lods = {
    {
    children = {
    {
    id = "vehicle/truck/ae90pritsche/pritsche.msh",
    transf = {
    1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.56891, 0.0,


    2.11547, 1.0,
    },
    type = "MESH",
    },
    {
    id = "vehicle/truck/ae90pritsche/radachse.msh",
    transf = {
    1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -3.6, -0.0, 0.53,


    1.0,
    },
    type = "MESH",
    },
    {
    id = "vehicle/truck/ae90pritsche/rad.msh",
    transf = {
    1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.89, 0.97, 0.53,


    1.0,
    },
    type = "MESH",
    },
    {
    id = "vehicle/truck/ae90pritsche/rad.msh",
    transf = {
    -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.89, -0.97,


    0.53, 1.0,
    },
    type = "MESH",
    },
    },
    matConfigs = {
    { 0, 0, 0, },
    },
    static = false,
    visibleFrom = 0,
    visibleTo = 8000,
    },
    },
    metadata = {
    availability = {
    yearFrom = 1990,
    yearTo = 0,
    },
    cost = {
    price = 0,
    },
    description = {
    name = _("Renault Magnum AE90 Pritsche"),
    },
    maintenance = {
    lifespan = 0,
    runningCosts = 0,
    },
    roadVehicle = {
    configs = {
    {
    axles = { "vehicle/truck/ae90pritsche/radachse.msh", },
    wheels = { "vehicle/truck/ae90pritsche/rad.msh", },
    fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
    },
    },
    power = 200.0,
    topSpeed = 90.0,
    tractiveEffort = 40.0,
    weight = 20.0,
    },
    transportVehicle = {
    capacities = {
    {
    capacity = 100,
    type = "GOODS",
    },
    },
    carrier = "ROAD",
    loadSpeed = 1.0,
    multipleUnitOnly = false,
    },
    },
    }
    end
    ----------------------------------------------------------------
    aber immer noch das gleiche Problem, die Räder schwenken aus.

  • Versuche es einmal, indem du die rot markierten Werte anpasst:
    Wenn's nicht besser wird, schlechter wird's sicher nicht.


BlueBrixx