Blender export Objekt an falscher Stelle/fehlt

  • Hallo zusammen!

    Ich wollte für den Solaris Urbino von alterr einen zusätzlichen Schalter für das Auto-Kneeling erstellen, die Blender-Dateien sind ja glücklicherweise beim Download dabei.

    Dazu habe ich den Bus importiert und erstmal richtig gedreht, denn er stand nach dem Import hochkant. Anschließend noch den Schalter dubliziert und an die entsprechende Stelle verschoben.

    Den Schalter habe ich nun wie hier beschrieben exportiert und in den Bus eingebaut.

    Leider ist der Schalter im Spiel selbst nicht auffindbar, ich vermute daher dass die Position des Schalters beim Export verrutscht.

    Ich habe entsprechend Bilder unten angehängt

    Es geht um den markierten Schalter


    hier die Ausrichtung des Models in Blender


    und hier die Export-Einstellungen


    Ich hoffe ihr könnt mir helfen.

    Mfg Luis

  • 1. Im Omsi-wiki findst du die richtigen Exporteinstellungen von Blender in Omsi.

    2. Dein Schalter befindet sich am Nullpunkt des Busses. Dieser ist Mittig unter dem Bus auf Straßennivau.

    3. Den Schalter allein zu verschieben ist der erste Schritt, den zweiten hast du nicht gemacht.

    4. Nachdem du den Schalter an die richtige Position gebracht hast, mußt du auch den Objektursprung verschieben. Kleines Koorinatenkreuz vom Objekt in Blender.

  • Ich habe jetzt den Objektursprung über Object-Transform-Origin to Geometry in die Mitte des Schalters verschoben, aber der Schalter ist in der Simulation nicht auffindbar, auch nicht unter dem Bus.


    Hier auch mal der Eintrag in der Model.cfg, aber es sollte alles stimmen

  • Trage bitte nur das Mesh in die model.cfg ein, den gesamten Rest kannste später machen, wenn der Schalter da ist.

    Wenn der Schaltr nicht unter dem Bus ist, dann bitte zuerst die Anweisung befolgen, wie man aus Blender Objekte richtig in Omsi einbringt. Dafür ist das Tutorial von Lukas (rumpelhans) da.

  • Meinst du mit das Export-Tutorial vom Wiki? Das habe ich mir jetzt komplett durchgelesen und konnte meinen Fehler nicht finden.

    Auch nur mit dem mesh-Eintrag fehlt der Schalter komplett, er ist auch nicht unter dem Bus.

  • Sende mir bitte NUR den Schalter als Modeldatei zu. Bitte erst in eine o3d-Datei umwandeln, damit ich diese auch öffnen kann. Eine X-Datei kann ich nicht einlesen. Texturdatei bitte nicht vergessen mitzusenden. Ih kann keine X-Datei erzeugen! Es wird also auch eine o3d-Datei zurück kommen.

    Du kannst die X-Datei öffnen und die Position manuell einstellen. Die ersten drei Zahlenfolgen in Zeile 39 enthalten die genaue Position auf der X-, der Y-, und der Z-Achse. Die vierte Zahlenfolge bleibt bei 0.000

  • Ich brauchte nichtmal suchen. zModeler sagt: Dein Objekt befindet sich:

    x-Achse = 44,8 cm links der Busmitte,

    y-Achse = 1,416 Meter vor der Busmitte und NUR

    z-Achse = 5,041 Meter über dem Straßennivau.

    Baust du einen Trippeldecker? :D

    Dort befindet sich auch der Objektursprung. Du bist schon auf dem richtigen Weg.

    Also mit anderen Worten, dein Fehler liegt in der falschen Achsenausrichtung beim Export.

    Weil es macht mehr Sinn wenn du den Schalter auf

    X = -0.448 Meter nach Links

    Y = 5.041 Meter nach vorn und NUR

    Z = 1.416 Meter über die Straße setzt.

    Ob die Position ganz genau ist, kann ich nicht sagen. Dazu bräuchte ich das Amaturenbrett.

    Aber ich möchte dir nicht deine Arbeit wegnehmen.


    Ansonsten liegt dein Schalter schonmal richtig. Er hat die richtige Neigung (oben nach rechts und vorn tiefer [siehe Screenshot])

    Im übrigen, solltest du keine Polygonbomben kopieren. Das ist nur ein winzig kleiner pissiger Schalter. Der muß nicht 238 Polygone haben. Das ist maßlos übertrieben. Da ist es sinnvoller, den Schalter nachzubauen. Mit bis zu 100 Polygone hat der Schalter mehr als genügen Rundungen.

    Ansonsten stimmt soweit alles, bis auf die X-Datei, die nicht dem üblichen Format entspricht. Irgendetwas haut bei dem Export aus Blender nicht richtig hin. Beim import in zModeler wird die o3d-Datei als fehlerhaft angesehen.

    Hinweis zum zModeler: Im zModeler ist die Höhenachse = Y

    und die Achse nach vorn ist die Z-Achse. Der lila Punkt ist

    der Nullpunkt des Busses und der Objektursprung entspricht

    der Schalterposition. Wird im zModeler nur anders dargestellt.

    Auf der linken Seite ist der Blick nach vorn gerichtet. Oben ist

    die Objektausrichtung sichtbar und unten die Position.


    Nun weißt du, wo dein schalter zu finden ist. In der 3. Etage!


    EDIT: Mir fällt gerade ein, wo du den Fehler begangen hast:

    Dazu habe ich den Bus importiert und erstmal richtig gedreht, denn er stand nach dem Import hochkant. Anschließend noch den Schalter dubliziert und an die entsprechende Stelle verschoben.

    Hast du den Schalter vor dem Export wieder zurück gedreht??? Der Bus stand gar nicht hochkant, sondern die Achsenausrichtung bei Blender entspricht nicht der Achsenausrichtung in Omsi. Da war doch mal was. Wenn du den Bus falsch ausrichtest und dann den Schalter duplizierst, mußt du deinen Fehler wieder rückgängig machen. Ansonsten wird das nix.

  • Ich habe jetzt den Bus nochmal neu importiert (ohne ihn zu rotieren) und den Schalter entsprechend den Einstellungen vom Wiki exportiert -> Wieder nicht da.


    Danach habe ich die Importeinstellungen bearbeitet, sodass der Bus nach Import korrekt steht und auch die Achsen richtig stehen (Z = hoch; Y= vor; X = rechts). Mit dem Export steht der Schalter wieder falsch!? Auf die Export-Einstellungen habe auch hier wieder geachtet (right-handed und Z).


  • Durch herumprobieren habe ich es jetzt hinbekommen, dass der Schalter in OMSI richtig liegt. Dazu musste ich allerdings zum Export die Einstellungen left-handed und y-up wählen.


    Nun habe ich das Problem das die Animation des Schalters nicht geht. Sobald ich eine Animation festlege verschwindet der Schalter einfach wieder. Der Objektursprung ist mittig im Schalter, wie oben. Hat hier jemand eine Lösung? Ich vermute das liegt damit zusammen, dass ich auch andere Exporteinstellungen verwenden muss als im Wiki erklärt.


    Hier der Eintrag in der model.cfg

  • Nun habe ich das Problem das die Animation des Schalters nicht geht. Sobald ich eine Animation festlege verschwindet der Schalter einfach wieder.

    Das ist falsch. Die Animation funktioniert tadellos, sonst würde der Schalter sich nicht ändern. Der Schalter macht genau das, was du ihm befohlen hast. Er rotiert über die X-Achse um 10°. Er verschwindet auch nicht. Er rotiert um die 10° in die entsprechende neue Position. Du bist nur blind. :evil: Der Schalter ist, wie auch schon zuvor, nur an einer Position, wo du ihn nicht sehen kannst. Wenn du natürlich die falschen Einträge vornimmst, dann kann der Schalter Zwangsweise nur falsch reagieren.

    Hat hier jemand eine Lösung?

    Entweder gehst du nocheinmal in Blender und legst den Objektursprung richtig fest, wobei der Objektursprung auch so gedreht werden muß, damit die Animation über die X-Achse (und nur über die X-Achse) laufen kann.


    Dann kommt (bleibt) in die model.cfg der Eintrag:

    Deine Eintragungen
    Bedeutungen
    [newanim] Befehl, dass eine Animationsaufgabe folgt
    origin_from_mesh nehme, den Objektursprung als Animationsursprung
    anim_rot Rotiere
    kneel_auto_sw Variable um die Animation auszuführen
    -10 Rotiere um den vorgegebenen Wert


    Oder du läßt alles so wie es beim Objektexport ist und legst die Position des Objektursprungs, in der model.cfg, für die Animation neu fest.


    Dann kommt in die model.cfg der Eintrag:

    Geänderte Eintragungen
    Beudeutung
    [new_anim] Befehl, dass eine neue Animation ausgeführt werden soll.
    origin_trans verschiebe den Objektursprung auf die
    -0.448
    X-Position
    5.041
    Y-Position
    1.416
    Z-Position
    origin_rot_x Rotation des Objektursprungs um die X_Achse
    1.2345
    Angabe in Grad
    origin_rot_y Rotation des Objektursprungs um die X_Achse
    2.3456
    Angabe in Grad
    origin_rot_z Rotation des Objektursprungs um die X_Achse
    3.4567
    Angabe in Grad
    anim_rot Führe eine Rotation des Objektes aus
    Kneel_auto_sw Variable, wann die Rotation ausgeführt werden soll
    -10 Rotiere um den angegebenen Wert (also in Grad)


    Omsi macht also ganz genau das, was du vorschreibst und nichts anderes. Und nur weil du etwas nicht siehst, verschwindet es nicht einfach so. Bei einer Animation kann das Objekt auch durch andere Objekte verdeckt sein.

    Ganz wichtig für die Animation: Omsi führt eine Animation, egal ob Rotation oder Verschiebung, immer nur über die X-Achse des Objektursprungs aus. Daher muß der Objektursprung, für animierte Objekte entsprechend angepasst werden!


    Ich glaube ich schreibe mal einen Wiki-Beitrag für die Eintragungen der model.cfg.


    Und ich hoffe das nun alles geklärt ist. Wenn du noch mit dem Scripten kommst, steige ich aus, dann hätte ich deine Sachen auch selber machen können. All das was hier steht, findest du auch in der model.cfg des MAN SD 202. Einfach reinschauen und vergleichen.

    Tabsi Gruß von Tabsi und

    Tatra Bahn

    Einmal editiert, zuletzt von Tatra ()

  • Scripttechnisch brauche ich keine Hilfe, das funktioniert alles bereits. Es ist nur der Schalter bzw jetzt dessen Animation.


    Ich werde das mit dem Ursprung in Blender und der Modelldatei mal zuhause ausprobieren.

  • Wenn dein Objektursprung des Schalters in Blender, also der kleine gelbe Punkt, mittig auf deinem Schalter liegt, sollte dein Eintrag eigentlich schon ausreichen. Um das Problem mal näher einzugrenzen: Wenn du die Animation drunter schreibst ist der Schalter schon weg, oder ist er grundsätzlich weiterhin sichtbar und verschwindet erst bei Benutzung? Wenn letzteres der Fall ist, vermute ich, dass Tatra (in Teilen :P) Recht hat, und er sich nur irgendwo hinanimiert, wo man ihn nicht mehr findet. Um mal sehen zu können, was dann passiert, würde ich empfehlen, mal die folgenden zwei Zeilen noch unten an den [newanim]-Eintrag anzuhängen:


    maxspeed

    5


    Das sorgt dafür, dass die Animation nicht so schnell geschieht. Je kleiner die Zahl, desto langsamer. Dann lässt sich vielleicht verfolgen, wohin der Schalter verschwindet.

  • Wenn ich die Animation mit origin_from_mesh verwende, so fehlt der Schalter von Anfang an, selbst wenn die Animation noch nicht durch die Variable angesteuert wird. Wenn ich dagegen den Ursprung selbst festlege, so befindet sich der Schalter an der richtigen Position und auch die Animation läuft fehlerfrei seitdem ich den Ursprung korrekt rotiert habe. Hier die Einträge:


    Ich habe mir auch mal die Citaros von alterr und Helvete mit Morphi-Mods angeschaut. Auch hier wird bei jedem animierten Objekt im .x-Format der Ursprung in der Modelldatei festgelegt. Bei den .o3d-Dateien sind die meisten mit dem origin_from_mesh-Eintrag versehen, nur der Ursprung wird oft noch extra gedreht.

  • Der Schalter verschwindet nach unten.

    Bei der Animation liegt der Objektursprung vermutlich im Busmittelpunkt. Da der schalter die Animation hat, nach vorn zu gehen, dreht sich der Schalter, wenn der Objektmittelpunkt beim Bus liegt nach unten. Bei zehn Grad schätze ich mal das der schalter unter dem Fußboden liegt, oder sogar unter der Straße.

  • Das erklärt aber nicht dass der Schalter immer verschwunden ist, die Animation sollte nur ausgeführt werden wenn die entsprechende Variable auf 1 steht. MIt manuell eingetragenem Ursprung funktioniert ja alles komischerweise.

  • Das erklärt aber nicht dass der Schalter immer verschwunden ist,

    Doch doch, das erklärt es. Der Objektursprung liegt falsch. Liegt der Schalter beim Start an der richtigen Stelle und verschwindet nach dem Klick, dann liegt der Objektursprung falsch. Ist der Schalter von Anfang an nicht da, dann stimmt das Verhältnis Objekt zum Objektursprung nicht. Am besten lernt es sich, ein Großes Objekt, wie eine Pyramide ein den Bus einzusetzen und eine einfache animation einzusetzen. Dabei kann die Pyramide auch wirklich groß sein, oder außerhalb des Busses liegen. Übt sich leichter als mit einem kleinen Objekt.

    Der Rest stimmt schon. Der Schalter sollte beim Start am richtigen Platz liegen. Durch den Klickpoint, veränderst du die Scriptvariable von 0 nach 1. Somit wird die Animation einmal ausgeführt. Zu Übungszwecke kannst du auch einen zweiten Trigger einsetzen und den Schalter statt zu Schalten, auch als Taster einsetzen. Somit kann man die Positionsbestimmung ganz genau setzen, weil man schnell schalten kann.

  • Zum Testen habe ich den Schalter jetzt mal 100-fach vergrößert, damit ich ihn besser finden kann.

    Der Schalter befindet sich wirklich irgendwo komplett im Nirwana, nicht einfach im oder unter dem Bus.

    Auch nicht links, rechts, davor, darunter, drüber etc.

    Das Ding ist spurlos verschwunden, sobald ich den Ursprung aus dem Mesh übernehme.