Mesh per Skript umplatzieren?

  • Hallo,


    ich habe wieder mal ein Problem, welches mich an mehreren Veröffentlichungen hindert.


    Ich möchte gerne über ein Skript ein Mesh an einen anderen Helper umplatzieren und evtl sogar drehen.


    Wie stelle ich es am besten an?


    Also:


    ich habe Mesh A.im mit den Helpern a.test1 und a. test2
    Außerdem habe ich das Mesh B.im, welches per Config auf den Helper a.test1 gesetzt wird.


    Jetzt möchte ich wenn ein im Skript definiertes Ereignis eintritt, dass das Mesh B.im auf den Helper a.test2 umplatziert wird.


    Ich habe schon jemanden der sich mit Skrips auskennt kontaktiert, nur weis er es noch nicht, wie man das am besten vornimmt.


    Jetzt frage ich die Community, denn ohne diese Funktion werden diese Fahrzeuge nicht veröffentlicht :face_with_tongue:


    Also bitte helft mir :winking_face:


    MfG - Christopher

  • schon 53 Views und keiner weis es?


    Kommt schon bitte :cry

  • ....wenn das so einfach wär', gäbe es längst ne vernünftige Be- und Entladung von Stückgut z. B..
    Aber die Idee ist gut...!;-)


    Jörg

  • Du definierst noch ein Mesh welches identisch mit B.im ist aber an a.test2 gelinkt ist.
    config:
    [geshi]
    objekt_b
    {
    auto-create 1
    mesh "B.im"
    att a.test1
    }

    objekt_b1
    {
    auto-create 0
    mesh "B.im"
    att a.test2
    }[/geshi]


    Dan schaltest du abwechselnd per skript jeweils objekt_b unsichtbar und objekt_b1 sichtbar.


    [geshi]
    SetMeshVisible("objekt_b", false, 0.0);
    SetMeshVisible("objekt_b1", true, 0.0);
    [/geshi]


    Man kann es eleganter machen und True/ False mit einer boolschen Variablen ersetzen.


    [geshi]
    bool phase=false;


    SetMeshVisible("objekt_b",phase, 0.0);
    SetMeshVisible("objekt_b1", !phase, 0.0);[/geshi]

    Einmal editiert, zuletzt von josefpav ()

  • Genau diese Vorgehensweise habe ich bereits getestet.
    Leider war dies ein Misserfolg, da der gewünschte Effekt nicht eintrat.

  • Zitat von cj187

    Genau diese Vorgehensweise habe ich bereits getestet.
    Leider war dies ein Misserfolg, da der gewünschte Effekt nicht eintrat.


    Dann hast du irgendwo einen Fehler eingebaut. Es ist oft getestet und funktioniert. (Benutze ich z. B. bei meinen Bü-Blinklichtern)

  • ok, dann möchte ich es mal anders ausschreiben bzw mein Vorhaben erläutern.


    Denn ich möchte, dass die Fahrerfigur immer auf der Richtigen Seite sitzt.
    Denn Trainz macht dies ja nicht.
    Bei fast allen Loks sitzt der Lokführer im falschen Führerstand bzw schaut in die falsche Richtung.


    Ja, es gibt Ausnahmen, aber diese möchte ich nicht!
    Ich weis, dass es Loks gibt, die Fahrtrichtungsbedingt einen Fahrer haben.
    Da wird aber ein fest definierter Fahrer, der im Asset mit dabei ist bzw per Config verlinkt wird verwendet.


    Ich jedoch möchte die richtige Fahrerfigur verwenden.
    Denn es gibt so einige schöne Fahrerfiguren, außerdem habe ich das Ok eine sehr detaillierte russische Fahrerfigur zu repainten (siehe Repaintthread)


    Ich möchte also, dass die Fahrerfigur des Fahrers umplatziert wird, welche ja von Trainz NUR auf den Helper a.driver0 gesetzt wird.
    Ich habe viele versuche unternommen das zu realisieren, jedoch immer gescheitert.


    Ich habe es versucht mit 2 Helper (a.driver0 und a.driver1) kein Erfolg
    Ich habe es versucht mit 2 Meshes mit jeweils dem Helper a.driver0, doch die Figur wird nur bei einem Helper angezeigt, den ich ein und ausblenden kann.
    Aber trotzdem bleibt der andere Helper unbesetzt.


    die letzte Möglichkeit, die ich jetzt sehe, ist das Umplatzieren des Meshes mit den Helper a.driver0
    Dafür verwende ich ein Mesh mit 2 Helpern die zB a.vorne und a.hinten heißen.


    Ist Fahrtrichtung = vorne soll das Mesh mit dem a.diriver0 auf a.vorne gesetzt werden.
    ist Fahrrichtung hinten soll a.driver0 auf a.hinten gesetzt werden.


    So, ich hoffe, ich habe mein Wunsch-Anliegen plausiebel erläutert.
    Die Tipps und Tricks funktionieren alle nicht, und ich habe es satt eine Fahrerfigur zu haben, die hinten heraus schaut.
    Und ich mochte nicht auf eine bestimmte Figur setzen, es sollen die Figuren der Fahrer verwendet werden, damit nicht alle gleich aussehen.


    Bitte helft mir.
    Es muss doch einen Befehl geben, etwas umzuplatzieren.

  • Was Du vorhast geht nicht.


    Du bist nicht der erste, der sich sowas wünscht. Wenn es gehen würde, würden nicht andere Objektautoren eigene Lokführer-Meshes in den Loks zwischen den Führerständen hin- und herschalten, sondern die normalen Lokführer-Meshes.

  • irgendwie muss das gehen.
    ich gebe nicht auf!


    nur schade ist, dass die Community aufgibt.
    Den Befehl ein Objekt woanders hin zu platzieren muss es doch geben

    Einmal editiert, zuletzt von cj187 ()

  • Ich habe das Problem vor einiger Zeit mit einem animierten Mesh gelöst.
    Die Hierarchie in gmax war wie folgt:


    b.r.main (fixed Dummy)
    !---- Mesh (Quadrat 5mm Seitenlänge, nur weil Mesh nötig)
    !---- b.r.driver0 (Dummy animiert, 2 Frames)
    ........!---- a.r.driver0/a.driver0 (Attachmentpunkt für Fahrer)


    Dieses Mesh wird in die Meshtable eingetragen, und im Script mit der Funktion SetMeshAnimationState zwischen den 2 Zuständen umgeschaltet.


    Peter

  • Danke, werde es versuchen zu übernehmen.
    Da ich selber keine Animationen erstellen kann (stell mich mit gmax zu blöd an :P) muss mein Kollege herhalten :shock:


    Ich glaube zwar, er ist schon total entnervt wegen mir, aber naja...


    Danke für deinen Tipp. :winking_face: