Reinhard Geschrieben 3. Juli 2020 Geschrieben 3. Juli 2020 (bearbeitet) Hallo zusammen, u.a. in diesem Beitrag sowie per PN an mich, taucht die Frage auf, wie die Gestänge-Animation bei Loks mit Blender 2.8 aufwärts gemacht werden kann. Dazu muss ich zunächst sagen, dass es hier tatsächlich einen entscheidenden Unterschied zu früheren Blender-Versionen gibt (2.79 abwärts). Ich vermute, dass liegt an den unterschiedlichen Exportern. Wenn man mit DirectX Objektabhängigkeiten exportiert hat, sind diese auch im 3D-MBS angekommen, mit dem glTF-Export funktioniert das nicht. Diesen Beitrag werde ich in 2 Teilen schreiben, weil die zugehörigen Bild-Dateien die 2MB überschreiten. Da ich nicht genau weiß, ob ich nur in einem Beitrag oder nur an einem Tag 2MB hochladen darf, kann es sein, dass Teil 2 erst morgen kommt. notwendige Voreinstellungen in Blender Animation Default-Interpolation: Linear Output Properties (gilt nur ab Blender 2.8 aufwärts mit glTF-Export, bei früheren Blender-Versionen bis 2.79 mit DirectX-Export sind auch andere Frame-Raten möglich) Frame-Rate: 24 fps Ausgangssituation: zu erstellen sind 3 Räder sowie das Gestänge. Die Räder sollen sich (beim Fahren) um sich selbst drehen, das Gestänge soll der Drehbewegung der Räder folgen. Hierbei ist zu beachten, dass der Objektmittelpunkt jedes einzelnen Rades an der richtigen Stelle ist. (siehe diesen Beitrag, gilt für Blender 2.79 wie für Blender 2.8 ff.) Die Animation der Räder kann so erfolgen (es gibt in Blender für die meisten Aktionen verschiedene Möglichkeiten, ich stelle hier eine der Möglichkeiten vor) erster Keyframe <Taste I - Rotation> (wichtig bei 0, nicht bei 1) dann die Animation auf den Frame 24 setzen, nun das Rad in der y-Achse 360 Grad drehen und den Keyframe setzen <Taste I - Rotation> Die eigentliche Bewegung des Rades befindet sich auf den Frames 0 bis 23, der letzte Frame 24 ist identisch mit dem Frame 0, das ist für die Animation im 3D-MBS wichtig. So kann nun die Animation auch für die Räder 2 und 3 erstellt werden. Anmerkung: Warum erstellt man die Animation der Räder nicht einfach dadurch, dass man sie als "_Wheel_1-3" bezeichnet? Weil es nicht möglich ist, das Gestänge so zu animieren, dass die Gestänge-Animation mit der "_Wheel"-Animation synchron läuft. Deshalb werden beide Animationen Räder und Gestänge mit "_AnimWheel" erstellt. Teil 2 folgt... Gruß Reinhard Bearbeitet 3. Juli 2020 von Reinhard
Reinhard Geschrieben 3. Juli 2020 Autor Geschrieben 3. Juli 2020 (bearbeitet) Teil 2 (als Kommentar ist es also möglich, die 2MB zu überschreiten) Das Gestänge soll nun der Drehung der Räder folgen. Das kann erreicht werden, wenn man das Gestänge mittels <Object-Constraint – Objekt-Beschränkung> mit dem Rad 2 verbindet. Dazu ist folgende Vorbereitung notwendig: Der Objektmittelpunkt des Gestänges sollte sich an der Stelle befinden, an der das Gestänge mit dem Rad verbunden sein soll. Der 3D-Cursor sollte sich ebenfalls genau an dieser Stelle befinden (Tastenkombination <Shift>+<S> --> Cursor to Selected) Dadurch wird erreicht, dass im nächsten Schritt eine Vertex-Gruppe genau an dieser Stelle eingefügt wird. Im Edit-Modus des Rad_2 wird nun mit <Shift>+<A> --> Circle ein Kreis genau an der Stelle des 3D-Cursors eingefügt. Diesen Kreis sollte man auf 3 Vertices und einen Radius von etwa 0.01 verkleinern (auch hier sind andere Möglichkeiten denkbar) Nun wird mit diesen 3 (markierten!) Vertices mit <Strg>+<G> --> Asign to New Group eine Vertexgruppe erstellt. Nun wird für das Gestänge unter <Object Constraint> --> <Copy Location> ausgewählt Im anschließenden Dialog wird mit der Pipette (Mausklick auf die Pipette) das zu verfolgende Objekt (Rad_2) angeklickt Nun muss noch die vorhin erstellte Vertex-Gruppe des Rad_2 ausgewählt werden. (Nicht erschrecken, dass das Gestänge zunächst „aus der Bahn“ rutscht, da es zunächst auf den Mittelpunkt des Rades spring – deshalb haben wir die Vertex-Gruppe erstellt, die das Gestänge wieder an die richtige Position bringt) Nun funktioniert das in Blender, wie es auch maxwei an anderer Stelle beschrieben hat. Bis Blender 2.79 (also mit DirectX-Export) würde das so auch im 3D-MBS funktionieren. Leider reicht das für Blender ab Version 2.8 (also mit glTF-Export) nicht. Deshalb muss die Animation des Gestänges nun in eine „ordentliche“ Keyframe-Animation umgewandelt werden: Die Animation des Gestänges muss hierzu „gebacken“ werden. Wichtig dabei die Häkchen in den markierten Feldern, damit alle anderen Abhängigkeiten des Gestänges entfernt werden Zum Schluss muss nun noch eine *.anim-Datei erstellt werden, welche aus der Animation eine automatische Rad/Gestänge-Bewegung macht, sobald das Fahrzeug fährt. Dazu muss eine *.anim-Datei erstellt werden, die denselben Namen hat, wie deine *glTF-Datei. In meinem Beispiel heißen die Dateien also Rad_Gestaenge.glb Rad_Gestaenge.anim in dieser Rad_Gestaenge.anim befindet sich nur diese eine Zeile _AnimWheel;0;24;NoAutoPlay;Loop Die Bezeichnung "_AnimWheel" legt fest, dass sich die betreffenden Objekte entsprechend Anfahren, Fahren oder Anhalten des Fahrzeugs bewegen. Daher reicht die _AnimWheel;0;24 völlig aus. So funktioniert das nun auch im 3D-MBS Gruß Reinhard Bearbeitet 3. Juli 2020 von Reinhard
BahnLand Geschrieben 3. Juli 2020 Geschrieben 3. Juli 2020 (bearbeitet) Hallo @Reinhard, Bei einer Limit-Überschreitung kommt folgende Meldung: Deshalb konntest Du auch den 2. Beitrag gleich nachschieben. Viele Grüße BahnLand Bearbeitet 3. Juli 2020 von BahnLand
HWB Geschrieben 3. Juli 2020 Geschrieben 3. Juli 2020 Hallo @BahnLand, hierzu würde mich interessieren Gestänge-Animation mit Sketchup. Gruß Hermann
Andy Geschrieben 3. Juli 2020 Geschrieben 3. Juli 2020 Hallo Reinhard, obwohl ich jetzt nicht im Detail gelesen habe, bin ich trotzdem sehr froh, dass solch ein Beitrag nun existiert. Das wäre für mich eine (vom derzeitigen Wissensstand her) unüberwindbare Hürde gewesen. Nun, da die Infos da sind, zieht's die Hemmschwelle ein Stück runter. Danke dafür. Gruß Andy
Reinhard Geschrieben 4. Juli 2020 Autor Geschrieben 4. Juli 2020 Guten Abend, zu dem Beitrag habe ich noch 3 Anmerkungen: 1. vielen Dank für die Likes und Kommentare! @HWB für die SketchUp-Animation bin ich nicht der richtige Ansprechpartner, da ich ausschließlich mit Blender arbeite. 2. Ich versuche bei "meinen" Modellen immer so "sauber" wie möglich zu arbeiten. Das beinhaltet auch, Unnötiges zu entfernen/löschen. Da mit dem "Backen" der Gestänge-Animation (oben im letzten Bild) die Abhängigkeiten des Gestänges von der Vertex-Group beim Rad_2 entfernt wurden (das Gestänge hat nun seine eigene Animation), kann also die Vertex-Group und die Vertices im Rad_2 gelöscht werden 3. An anderer Stelle wurde zurecht beschrieben, dass Gestänge auf beiden Seiten der Lok (zumindest bei Dampfloks muss das so sein) unterschiedliche Positionen haben. In diesem sowie in diesem Beitrag wurde erläutert, warum das für das 3D-MBS möglichst eine Viertel-Drehung sein sein sollte. Dies erreicht man leicht, indem man alle Modelle dupliziert und dann jeweils eine Seite der Modelle entfernt. Man hat nun Räder und Gestänge für die linke Seite sowie Räder und Gestänge für die rechte Seite Nun muss die Animation der einen Seite noch um eine Viertel-Drehung (in unserem Beispiel 6 Frames) verschoben werden. Wenn es gewünscht ist, kann ich das erläutern, aber im Moment würde es den Rahmen dieses Threads, oder genauer: die Absicht dieses Threads überschreiten. Gruß Reinhard
BahnLand Geschrieben 5. Juli 2020 Geschrieben 5. Juli 2020 Hallo Hermann, Am 3.7.2020 um 17:19 schrieb HWB: hierzu würde mich interessieren Gestänge-Animation mit Sketchup es hat nun ein bisschen gebraucht, bis ich Dir hier antworten kann. Denn meine Aussage von hier war bisherher nur "Theorie". Ich wollte sie deshalb erst einmal "anwenden", bevor ich Dir hier schreibe. Ich konnte die Theorie nun bestätigen: Ich habe zwei Speichenradsätze einer Dampflok gebastelt und diese beidseitig mit einer Kuppelstange verbunden. In Sketchup wurde jedes Rad zu einer Gruppe zusammengefasst (Rad0L, Rad0R, Rad1L und Rad1R) und jeweils mit einem "_AP"-Punkt (Ankerpunkt, hellblaues Quadrat) in der Achsmitte versehen, mit dem der "Nulllunkt" jeder Radgrppe und damit der Drehpunkt für die Raddrehung festgelegt wird. Die Kuppelstange auf beiden Seiten der Radsätze ist ebenfalls jeweils zu einer Gruppe zusammengefasst (StangeL und StangeR) unt enthält ebenfalls einen "_AP"-Punkt, um den Drehpunkt in jener Radgruppe, in der die Kuppelstange enthalten ist (hier ist die Gruppe StangeR Teil der Gruppe Rad1R), festzulegen. Hiermit lässt sich dann die Animation der Räder und der Kuppelstangen in der nach dem Export des Sketchup-Modells in eine x-Datei dort (von Hand) hinzuzufügenden AnimatiionSet-Definition wie folgt spezifizieren: Die beiden im obigen Bild dargestellten Spalten befinden sich in der AnimantionSet-Definition untereinander und sind nur der Übersicht halber nebeneinander angeordnet. Die komplette Definition besteht aus 6 Animationen (für 4 Räder und 2 Kuppelstangen), wobei jede eine komplette 360°-Drehung (aufgeteilt in jeweils 2 180°-Drehungen) realisiert. Die Nummern ganz links besagen, dass jede Animation aus 361 Einzelzuständen besteht (000-360), zwischen welchen 360 1°-Übergänge (1°-Drehschritte) ausgeführt werden. Da es sich hierbei um eine "gleichmäßige" Bewegung handelt, brauchen die Zustände 001-179 und 181-359 nicht spezifiziert zu werden (das Modellbahn-Studio führt zwischen den spezifizierten Zuständen automatisch eine "gleichmäßige" Drehung durch). Obwohl die Drehung auch über den 180°-Zustand hinaus gleichmäßig ist, muss dieser trotzdem spezifiziert werden, damit die Drehrichtung eindeutig vorgegeben werden kann. Die Anzahl der spezifizierten Zustände (hier mit den Nummern 0, 180 und 360) wird mit der "3" oberhalb der Liste der Zustände angegeben (man hätte hier als ZUstands-Nummern auch 0, 1 und 2 verwenden können, ich wollte aber zur Veranschaulichung hier die Zustandswinkel anzeigen lassen). Hinter der "4" in jeder Zustandszeile repräsentieren die 4 nachfolgenden Werte in der hier angegebenen Reihenfolge den Cosinus-Wert des halben Drehwinkels sowie den Sinus-Wert des halben Drehwinkels bei einer Drehung um die x-Achse, die z-Achse und die y-Achse. Im vorliegenden Besipiel ist die Rollbewegung in der x-Achse ausgerichtet, weshalb die Drehungen der Räder und der Kuppestangen jeweils um eine Achse in y-Richtung erfolgen. Deshalb werden in der obigen AnimatuonSet-Definition die Sinus-Werte in der letzten Spalte hinterlegt. Da die Kuppelstange jeweils in die Gruppe eines Rades integriert ist, macht die Kuppelstange automatisch die Drehung des Rades mit. Deshalb muss die Kuppelstange selbst eine gegenläufige Drehung ausführen, damit die vom Rad "geerbte" Drehung kompensiert wird. In der obigen AnimationSet-Defiition erkennt man dies daran, dass die Sinus-Werte in der letzten Spalte für die Stangen entgegengesetzte Vorzeichen besitzen.Durch die Koppelung dieser 2 Drehbewegungen für die Kuppekstange erspart man sich eine sonst notwendige Verschiebungs-Animation der Kuppelstange auf einer Kreisbahn, die man nicht mit nur 3 Animationszuständen beschreiben könnte. Betrachtet man das Bild des SKP-Modells genau (2. Bild von oben), erkennt man, dass die Gegengewichte und die Kuppelstangen auf beiden Seiten identisch ausgerichtet sind. Den Drehversatz einer Seite um 120° erreiche ich nun dadurch, dass ich in der AnimationSet-Definition für eine Seite (im obigen Bild in der Spalte rechts) alle Winkel-Angaben umd 60° versetzt habe. So ist es möglich, den Versatz der "Unwucht" nachträglich zu ändern, ohne das Sketchup-Modell selbst modifizieren zu müssen. Beim Vorbild existiert der Winkelversatz von 120° zwischen den beiden Seiten genau dann, wenn es sich um eine 3-Zylinder-Lok handelt. Dann bewegt sich der Kolben des 3. Zylinders im 240°-Versatz, sodass die Kolbenbewegungen aller 3 Zylinder gleichmäßig verteilt sind und damit die durch die Horizontalkräfte der Kolbenbewegungen bewirkten Ruckel-Bewegungen weitgehend kompensiert werden. Diese doch sehr übersichtliche AnimationSet-Definition ist allerdings nur möglich, weil alle hier beschrieben Animationen gleichmäßige Bewegungen beschreiben. Dies trifft beispielsweise auf Stangen-Elloks und Stangen-Dieselloks zu, bei denen der Antrieb der mit den Kuppenstangen verbundenen Treibachsen über eine Blindwelle oder ein Zahnradgetriebe erfolgt. Bei Dampfloks, bei denen der Antrieb über einen Kolbenhub erfolgt, durchführt die Treibstange keine gleichmäige Bewegung. Da müssen dann die Einzelzustände wirklich alle spezifiziert werden, weil sonst die Treibstangen in der Animation nicht den "Befesigungspunkten" folgen würden. Im obigen Beispiel wurde die AnimationSet-Definition insgesamt mit "_AnimWheel" gekennzeichnet. Dies hat zur Folge, dass das Modellbahn-Studio keine anim-Datei benötigt, um die Animation mit der Fortbewegungsgeschwindigkeit des Fahrzeugs korrelierend ablaufen zu lassen. Damit werden aber alle in dieser AnimationSet-Definition enthaltenen Animationen an die Fortbewegungsgeschwindigkeit angepasst. Soll das Modell auch Animationen enthalten, die nicht von der Fortbewegungsgeschwindigkeit anhängig sein sollen, muss die AnimaionSet-Definituon selbst eine andere Bezeichnung erhalten. Dann wird aber zusätzlich eine anim-Datei benötigt, in der jene Animation, welche auf die Fortbewegungsgeschwindigkeit synchronisiert werden soll, die Bezeichung "_AnimWheel" erhält. Treibradsätze mit Kuppelstange.zip Zum Abschluss stelle ich hier noch das hier beschriebene Beipiel zweier Treibradsätze mit verbindenden Kuppelstangen als mbe-Modell ein. Dann kann jeder sich den Bewegungsablauf selbst auf seiner Anlage anschauen. Fazit: Gestänge-Animationen lassen sich auch bei Sketchup-Modellen realisieren - allerdings erst nachträglich nach dem Export des SKP-Modells in eine x-Datei. Solange die Animationsbewegungen gleichmäßig sind, können "Zwischenzustände" wegglassen werden, was die AnimationSet-Definition erheblich vereinfacht. Bei unregelmäßigen Bewegungen müssen die "Zwischenzustände" allerdings explizit angegeben sein. Viele Grüße BahnLand
MX1954LL Geschrieben 25. Februar 2022 Geschrieben 25. Februar 2022 Hallo @BahnLand, perfekte Beschreibung, es funktioniert, auch der Kolben. Ihr könnt euch das hier anschauen: C20CCE54-8F9D-4DE5-8BD5-32B1518EBC52. Habe es nach dem Vorbild ohne Anim Datei aufgebaut und das Prinzip von der obigen AnimationSet die _AnimWheel heißt übernommen. Herzlichen Dank an alle Helfende, besonders an unseren Professor SketchUp. Schöne Grüße Lothar
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden