Funktionierende (analoge) Uhr in Omsi scripten

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.
Ein communitybetriebenes Nachfolge-Forum wird hier verlinkt, sobald es gegründet und bereit ist.
  • Hi!
    Da ich gerade dabei bin, eine Standuhr für Omsi zu bauen, hier mal ne Frage:
    Eigentlich wollte ich auf den wöchentlichen Wikiartikel warten. Da dieser jetzt aber eingestellt ist, gibt es jetzt zum Thema Uhr keine Anleitung.
    Ich möchte lediglich wissen, wie man eine analoge Uhr (= Uhr mit Zeigern) scriptet.
    Weiß jemand vielleicht wie man das macht? - Vielen Dank schonmal.


    Viele Grüße!
    Niklas

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).

  • Der Spandauer Betriebshof hat doch auch eine. Das sind einfach zwei Zeiger und ein Grundmodell, siehe .sco-Datei. Die Zeiger bekommen dann die Rotationswerte vom Uhr-Skript (uhr.sco).

    Supportanfragen bitte in den entsprechenden Threads der Addons stellen.

  • Analoge Uhren sind auch in den SD's und ne große mit 4 Seiten steht aufm Betriebshof Spandau.


    Eigentlich sollten man mit den 3 Dateien gut arbeiten können:


    Omsi\Sceneryobjects\Buildings_RUE\Omnibushof_S_1.sco (ab Zeile 907)


    Omsi\Sceneryobjects\Buildings_RUE\Script\Betriebshof.osc


    Omsi\Sceneryobjects\Buildings_RUE\Script\Betriebshof_varlist.txt

  • Ich habe bei mir in die sco-Datei etwas eingetragen (wie das in der Omnibushof-sco), eine osc und eine varlist eingefügt. Nur leider bewegen sich die Zeiger kein Stück.

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).

  • Evtl. drehen sie sich um die eigene Achse ;).


    Habs selber gerade mal getestet, funktioniert einwandfrei.


    Im 3d Programm erstellst du die Zeiger senkrecht (12 Uhr). Den Pivot Punkt beider Zeiger legst an das untere Ende der Zeiger, also den Mittelpunt der Uhr. Dann beide Zeiger exportieren.


    meine_tolle_uhr.sco könnte so ausehen:



    script\uhr_script.osc




    script\uhr_varlist.txt


    Code
    1. clock_hand_hour
    2. clock_hand_minute
  • Hallo,


    bei Verwendung des Kommandos [origin_from_mesh] ist es wichtig, das der Drehpunkt die x-Achse des Objekts darstellt. Wenn Du Blender verwendest kannst Du das folgendermaßen kontrollieren: Vom Edit-Mode in den Object-Mode wechseln, einen Zeiger selektieren, dann Transform-Orientation auf Local umschalten, der rote Pfeil (also die x-Achse) ist dann der Drehpunkt bei Verwendung des Befehls [origin_from_mesh].


    Viele Grüße,
    Uwe

  • Hi!
    Vielen Dank schonmal für die Hilfe. Jetzt weiß ich auch, was ich falsch gemacht habe. Erst habe ich den Pivotpunkt nicht geändert (weiß jemand, wie man das macht? Im Internet habe ich irgendwie nichts Brauchbares gefunden) und ich Idiot habe auch noch vergessen, [script] und [varnamelist] einzutragen.
    Nochmal danke fürs Helfen

    ^^


    Niklas

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).

  • Hi!
    Das weiß ich auch. Aber ich weiß nicht, wie man den ändert.

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).

  • Hallo Niklas,


    wo sich der Pivotpunkt befindet, siehst Du immer im Object-Mode, wo der kleine gelbe Punkt mit den Koordinatenpfeilen angezeigt wird. Die Koordinaten die Blender Dir anzeigt unterscheiden sich folgendermaßen: Im Object-Mode zeigt Dir Blender die Position des selektierten Objekt's an (Pivotpunkt). Im Edit-Mode zeigt Dir Blender den Mittelpunkt der selektierten Meshbestandteile (Vertex, Edge, Face) an. Viele Anfänger machen den Fehler, beim Verschieben der Mesh nicht zu beachten ob sie im Object-Mode oder im Edit-Mode sind. Darurch verschiebt sich der Pivotpunkt des Object im Laufe der Zeit an irgendwelche Positionen. Man kann das gut erkennen, bei einigen selbgebauten Kreuzungen, die als Addon erhältlich sind. Der Omsi-Editor positioniert das Objekt beim Einfügen und Verschieben immer am Pivotpunkt. Bei einigen dieser Kreuzungen befindet sich dieser weit ausserhalb der eigentlichen Mesh, so daß die Kreuzung sich weit neben dem Mauszeiger bewegt.


    Als Regel gilt: Wenn Du das Objekt im Object-Mode verschiebst, so verschiebst Du eigentlich ja den Pivotpunkt. Wenn Du das Objekt im Edit-Mode verschiebst, bleibt der Pivotpunkt (also die Koordinaten des Objekts) unverändert, da Du ja nur die Mesh editierst. Wie die Ausrichtung des Pivotpunktes des selektierten Objekt's liegt, wird Dir angezeigt, wenn Du die Transform-Orientation auf Local umstellst (Object-Mode). Wenn Du diese ändern möchtest, gehst Du wie folgt vor:
    Nehmen wir den Würfel, der am Anfang in Blender gezeigt wird. Dessen Pivotpunkt hat die Ausrichtung des globalen Koordinatensystems. Daher wirst Du zwischen globaler und localer Darstellung der Transform-Orientation keinen Unterschied feststellen. Nehmen wir an, Du möchtest diesen Würfel um die jetzige Z-Achse im Omsi animieren, dann mußt Du es schaffen das der rote Pfeil (X-Achse) bei lokaler Darstellung der Transform-Orientation nach oben zeigt. Das erreichst Du wie folgt: Rottiere den Würfel im Objekt-Mode um die y-Achse um 90 Grad. (Taste r, dann y, dann -90 und Enter) Bei positiven 90 Grad zeigt die x-Achse nach unten, bei -90 Grad nach oben. Damit haben wir die Achsen eigentlich schon gedreht. Da die Mesh aber auch gedreht ist, was bei einem Würfel egal ist, bei anderen Formen aber nicht, müssen wir die Mesh natürlich wieder zurückdrehen. Dazu wechselst Du in den Edit-Mode und selektierst die gesamte Mesh (alle Vertex's gelb) und rotierst entgegengesetzt (Taste r, dann y, dann 90 und Enter). Damit ist die Mesh wieder wie vorher, bei den Lokalen Objektkoordinaten zeigt die x-Achse jetzt aber nach oben.


    Ich habe es jetzt ein bißchen ausführlicher gemacht, damit es auch Anfänger verstehen.


    Viele Grüße,
    Uwe

  • Hi!
    Also wenn ich das jetzt richtig verstehe, wird der Zeiger mit dem "[origin_from_mesh]"-Befehl um die x-Achse gedreht. Also muss die x-Achse von dem Ziffernblatt der Uhr genau wegzeigen.


    Vielen Dank schonmal für die Ausführlichkeit. Vielen Dank!
    Niklas

    Gruß!
    Niklas
    Als offizieller Experte helfe ich euch gerne per PN in den folgenden Gebieten: Omsi-Editor (inkl. Maps bauen, Hofdateien, etc.), Addon-Installation, Blender (Grundkenntnisse).