Rotation von Objekten ist falsch

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
  • Guten Abend,


    ich habe mich mal wieder an die Arbeit gemacht, ein Objekt für OMSI zu erstellen. Mein Objekt ist eine Windkraftanlage. Das Modell hab ich auch schon komplett fertig. Nun möchte ich, dass der Rotor der Anlage rotiert.


    In der .sco-Datei habe ich nach dem Mesh folgendes eingetragen:


    [newanim]
    origin_from_mesh
    anim_rot
    rad_drehung
    360


    Das einzige Problem ist, dass in OMSI der Rotationspunkt 0 ist, obwohl in Blender, der Rotor zentriert am Maschinenhaus ansitzt und er auf der x-Achse rotiert.



    In dem beigefügten Bild sieht man hoffentlich genau, was ich meine. Wenn es richtig läuft, sollte der Rotor in 50 Metern Höhe sich drehen.


    Hat jemand eine Idee diesen Fehler zu beheben?


    Danke!


    MfG


    Busmann1234

  • Hat jemand eine Idee diesen Fehler zu beheben?


    Diesen Fehler kannst du beheben, indem du den Objektursprung in Blender berichtigst. Derzeit steht der Objektursprung deines Rotors auf 50 meter über Normalnull, deines Objektes. Der Rotor befindet sich aber genau auf Normalnull und nicht 50 meter über den Erdboden (Normalnull des Objektes, dem Fuß). Somit verhält sich der Rotor genau so, wie du es Omsi vorgibst.
    Frage mich aber bitte nicht, wie man das in Blender richtig einstellt, da ich von Blender garkeine Ahnung habe, sondern ausschließlich vom zModeler und dort könnte es anders eingestellt werden.
    In zModeler steht der Objektursprung auf 50 meter über dem Erdboden, mittig vom Maschinenhaus, während das Objekt selber 100 meter, also millimeter genau doppelt so hoch, über dem Erdboden ist. Somit setzt Omsi das Objekt auf genau 50 Meter über den Erdboden und der Objektursprung (origin_from_mesh) befindet sich dann an der selben Stelle wie im zModeler.

  • Danke für die schnelle Antwort.


    Ich habe inzwischen mal den Rotor als DirectX Datei in Blender importiert. Und ich sehe auch, dass der Mittelpunkt des Rotors (also die Z-Achse) auf 0 steht, obwohl in der originalen .blend-Datei der Rotor auf dem Maschinenhaus ansitzt.


    Weiß jemand, was man in der Blender einstellen muss, damit beim Export der .x-Datei die X, Y, Z - Achsen ihre Position beibehalten?

  • Schonmal auf die Idee gekommen, die Werte in der X-Datei selber einzutragen?
    Zeile 37 oder 39 müßte das sein. Dort stehen in einem Block 4 Zahlenwerte. Beim Block wird die letzte Zeile des Blocks berichtigt:
    0.0000000; 0.00000000; 0.0000000; 0.0000000
    Der erste Zahlenwert steht für die Position auf der X-Achse (Links/Rechts)
    Der zweite steht für die Verschiebung auf der Y-Achse (Vor/Zurück) und der dritte bleibt nur noch für die Verschiebung auf der Z-Achse (Hoch/Runter)
    Alle Angaben werden in Meter eingegeben.
    Sollte in 3. Wert bereits die 50 Meter eingetragen sein, oder ein naheliegender Wert, dann mußt du diesen Wert natürlich verdoppeltn.


    Du kannst die X-Datei mit einem Notepad oder Word-Programm einfach öffnen und als Textdatei auslesen.

  • Danke für die Antwort. Hab es sofort ausprobiert. Leider hat sich nur der Rotationskreislauf vergrößert.


    Dies ist der Dateiauschnitt, vor der Veränderung:




    Und der aktuelle Dateiausschnitt:



    Denn fettgeschriebenen Wert hab ich verändert.


    Hab ich hier einen Fehler gemacht?

  • Wenn sich dadurch nur der Radius ändert, dann ändere deine Taktik.


    Den "Fehler" den du gemacht hast, ist die Sache mit der Position des Objektursprungs, wie ich schon geschrieben habe.
    Also machst du es dir einfach.
    Den Rotor nochmal in Blender einsetzen und den Rotor komplett auf Null setzen. Also wirklich in Blender auf die Position X=0, Y=0 und Z=0. Also die Ankerwelle muß auf Null stehen.
    Das selbe gilt auch für den Objektursprung, der muss ebendso, auf der Ankerwelle liegen. Dann das Objekt konvertieren zur O3D Datei. (Kannst es auch zum Test als X-Datei eintragen.


    Allerdings änderst du nun die Objektdatei mit den Eintragungen:

    Alt


    Das grüne weg und die Position der Ankerwelle eintragen:

    Neu
  • Nun hab ich in Blender den Rotor auf 0 gestellt und als x-Datei konvertiert. Anschließend hab ich dann noch in der .sco-Datei die Werte von Dir oben eingetragen. Nun dreht sich der Rotor richtig. Nur der Rotor befindet sich weiterhin auf 0, also auf der Erde und nicht in 50 Metern Höhe. Denn z-Achsenwert hab ich auch schon mal verdoppelt, ist aber nichts passiert.
    Weitere Ideen?
    Dankeschön.