Jump to content

Ronis Projekte


RoniHB

Empfohlene Beiträge

Hallo zusammen,

ich habe da mal wieder ein SketchUp Animationsproblem oder auch ein Geometrieproblem, wie man's nimmt. Ich möchte gern ein Objekt erst in der X-Achse drehen und dann in derZ-Achse, oder umgekehrt. aber das geht so nicht. Hier die Syntax:

     Animation {
          {St02}
          AnimationKey {  // Rotation X 15°
               0;
               002;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.991444, 0.130526, 0.000000, 0.000000;;;
          }

          AnimationKey {  // Rotation Z 60°
               0;
               002;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.866025, 0.000000, 0.500000, 0.000000;;;
          }
 
     }

Wer kann helfen?

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @RoniHB,

vor 39 Minuten schrieb RoniHB:

erst in der X-Achse drehen und dann in derZ-Achse

Wenn die beiden Animationen nacheinander ablaufen sollen, müssen sie auch auf unterschiedlichen Frames liegen, also z.B. so:

 Animation {
          {St02}
          AnimationKey {  // Rotation X 15°
               0;
               002;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.991444, 0.130526, 0.000000, 0.000000;;;
          }

          AnimationKey {  // Rotation Z 60°
               0;
               002;
               002; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               003; 4; 0.866025, 0.000000, 0.500000, 0.000000;;;
          }
 
     }

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 42 Minuten schrieb RoniHB:

das war's nicht.

 Dann versuche mal das:

Animation {
          {St02}
          AnimationKey {  // Rotation X Y
               0;
               004;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.991444, 0.130526, 0.000000, 0.000000;;,
               002; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               003; 4; 0.866025, 0.000000, 0.500000, 0.000000;;;
          }
     }

Bearbeitet von Roter Brummer
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 27 Minuten schrieb Roter Brummer:

Dann versuche mal das:

Funtioniert auch nicht. 2 Rotationsfunktionen hintereinander, da müssen wohl die Parameter irgendwie anders berechnet werden.
Rotation und danach Scale oder Position geht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

probiers mal damit:

Animation {
          {St02}
          AnimationKey {  // Rotation X Y
               0;
               003;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.991444, 0.130526, 0.000000, 0.000000;;,   //  zuerst Rotation um x-Achse
               002; 4; 0.858616, 0.130526, 0.495722, 0.000000;;;   //  danach Rotation um z-Achse
        }                                                                                       //   0.858616 = 0.991444 * 0.866025
     }                                                                                          //   0.494722 = 0.991444 * 0.500000

oder

Animation {
          {St02}
          AnimationKey {  // Rotation X Y
               0;
               003;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.866025, 0.000000, 0.500000, 0.000000;;,   //  zuerst Rotation um z-Achse
               002; 4; 0.858616, 0.113038, 0.500000, 0.000000;;;   //  danach Rotation um x Achse
        }                                                                                        //  0.858616 = 0.866025 * 0.991444
     }                                                                                           //  0.113038 = 0.866025 * 0.130536

Bitte beachte, dass diese beiden Varianten zu unterschiedlichen Ergebnissen führen! Dass hier unterschiedliche Ergebnisse heraus kommen, kann man sich an folgendem einfachen Beispiel veranschaulichen: Man stelle sich eine Mauer in der x-z-Ebene vor, in der sich eine Tür befindet. Die Tür soll nun jeweils um 90° um die z-Achse gedreht und um die x-Achse gekippt werden. Kippt man die Tür zuerst, liegt sie anschließend vor der Türöffnung flach auf dem Boden. Dreht man sie anschießend um 90°, liegt sie nun parallel zur Mauer auf dem Boden. Führt an jedoch zuerst die Drehung aus, hat man einen "normalen" Öffnungsvorgang ausgeführt, nachdem die Tür nun immer noch aufrecht senkrecht von der Mauer absteht. Kippt man nun die Tür nun um 90° um die x-Achse, also von der Mauer weg, liegt sie anschließend senkrecht von der Mauer abstehend auf der seitlichen Türkante. Die Türfläche ragt aber immer noch senkrecht nach oben, anstatt wie beim der ersten Reihenfolge flach auf dem Boden zu liegen.

Sollen die beiden Teilanimationen unabhängig von ihrer Reihenfolge zum selben Ergebnis führen, muss man anders vorgehen:

Hierzu benötigt die zu animierende Sketchup-Gruppe "St02" eine zusätzliche "Schale". D.h. es wird eine zweite Sketchup-Gruppe (z.B. "St02a") benötigt, welche die  ursprüngliche Gruppe "St02" umschließt (der Suffix "a" soll andeuten, dass es sich hierbei um eine "äußere" Gruppe handelt). Die beiden Teilbewegungen werden nun in 2 Animationen aufgetrennt, wobei die Drehung um die z-Achse auf die äußere Gruppe "St02a" und die Drehung um die x-Achse auf die innere Gruppe "St02" angewendet wird.

Die Animations-Definitionen für die beiden Animationen sehen dann wie folgt aus:

 Animation {
          {St02}
          AnimationKey {  // Rotation X 15°
               0;
               002;
               000; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               001; 4; 0.991444, 0.130526, 0.000000, 0.000000;;;
          }
     }

 Animation {
          {St02a}
          AnimationKey {  // Rotation Z 60°
               0;
               002;
               002; 4; 1.000000, 0.000000, 0.000000, 0.000000;;,
               003; 4; 0.866025, 0.000000, 0.500000, 0.000000;;;
          }
     }

Da sich nun bei der Drehung der äußeren Gruppe "St02a" um die z-Achse die Ausrichtung der x-Achse der inneren Gruppe "St02" mit dreht, führt die Hinterreinanderausfürung beider Animationen unabhängig von deren Reihenfolge zum selben Ergebnis. Sollen die beiden Animationen getrennt aufrufbar sein, muss nun eine anim-Datei hinzugefügt werden. Andernfalls werden die beiden Animationen immer zusammen (hintereinander) ablaufen.

Viele Grüße
BahnLand

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen, einen schönen Sonntag euch allen.

vor 13 Stunden schrieb BahnLand:

Hierzu benötigt die zu animierende Sketchup-Gruppe "St02" eine zusätzliche "Schale".

hallo Bahnland, das hat so funktioniert. Der erste Tipp hat zwar bewirkt, dass sich St02 bewegt hat, aber nicht im gewünschtem Winkel.
Ich will euch natürlich nicht vorenthalten, wofür ich die Animation verwendet habe, für das ausfahren der Landestützen vom UFO.

Entwurf ist hochgeladen, ID DEAE5AE9-046F-4362-B3AF-DBE6DDE3AD09

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

vor einer Stunde schrieb RoniHB:

Der erste Tipp hat zwar bewirkt, dass sich St02 bewegt hat, aber nicht im gewünschtem Winkel.

ja, das stimmt. Die Kombination zweier Drehbewegungen für eine zu animierende Gruppe scheint man so nicht in den Griff zu bekommen (zumindest ich nicht). Durch die Umhüllung mit einer zweiten Gruppe kann man jedoch die Drehbewegungen sauber trennen und das Koordinatenkreuz der nun inneren Gruppe mit bewegen, womit man erreicht, dass die Orientierung der inneren Drehung (d.h. deren Drehachse) bei der äußeren Drehung mit gedreht wird und damit auch bei gedrehtem Zustand der äußeren Gruppe in die korrekte Richtung zeigt.

Um die Beschreibung in meinem letzten Beitrag zu veranschaulichen, habe ich 1 kleines Modell gebaut, welches eine kleine Säule zeigt, die sowohl in der Horizontalen gedreht als auch seitlich geneigt werden kann. Ich habe daraus durch Hinzufügen unterschiedlicher AnimationSet-Definitionen verschiedene Modell-Varianten erzeugt, die als Variationen von 3 Modellen zusammengefasst und zum Testen der verschiedenen Animationen als Entwürfe veröffentlicht sind:

1161512B-F032-4F8E-82E3-0108BEE0BD5D   Beispiel mit den originalen Drehwinkeln 60° und 15°
E2F60D9E-2DAF-4442-800A-81E4126909DD   Beispiel mit vergrößerten Drehwinkeln 90° und 60°
E7D6ED75-14D9-4251-B8FB-F30D22AF1246   Beispiel mit zwei separaten Dreh-Animationen

Die ersten beiden Beispiele enthalten jeweils die Variationen

'Drehen-Kippen einfach', 'Drehen-Kippen falsch' und 'Drehen-Kippen richtig' sowie
'Kippen-Drehen einfach', 'Kippen-Drehen falsch' und 'Kippen-Drehen richtig'

in der jeweils angegebenen Reihenfolge, wobei bei den mit "einfach" gekennzeichneten Variationen beide Drehungen auf dieselbe Gruppe wirken, während bei den anderen Variationen die Drehungen auf zwei ineinander geschachtelte Gruppen angewendet werden. Zur Veranschaulichung wurden die Dreh-Animationen den beiden Gruppen einmal "richtig" und einmal "falsch" (vertauscht) zugewiesen.

Beim dritten Modell sind die beiden Animationen für die horizontale Drehung und die seitliche Neigung separat ansteuerbar. Auch hier gibt es Variationen mit kleinen und großen Drehwinkeln sowie mit falscher und richtiger Zuweisung der Drehungen zu den ineinander geschachtelten Gruppen.

Drehen+Kippen.zip

Das beiliegende zip-Paket enthält neben den als mbe-Dateien exportierten fertigen Modellen sowohl das Sketchup-Modell (skp-Datei) mit der daraus exportierten x-Datei als auch die durch Ergänzung mit entsprechenden AnimationSet-Definitionen erzeugten x-Datei-Varianten mit den dazu gehörenden anim-Dateien. Letztere habe ich für alle Variationen erzeugt, um zu verhindern, dass die Animationen sofort nach dem Einfügen des Modells aus dem Katalog automatisch in einer Endlosschleife gestartet werden.

Viel Spaß beim Ausprobieren und Vergleichen der Variationen wünscht
BahnLand

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand,

(y) vielen Dank für deine, wie immer,  ausführlichen Erläuterungen und Beispiele. Ich denke, dass auch andere Modellbauer von diesen Erklärungen profitieren.

 

vor 47 Minuten schrieb Andy:

meinst Du, es ginge auch noch eine Ausstiegsklappe

darüber habe ich tatsächlich auch schon nachgedacht.

LG Ronald
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Roland hat uns bisher nicht das Originalmodell der Firma Busch gezeigt. Damit wir alle besser vergleichen/verstehen können, war er vorhat, umzusetzen, stelle ich hier mal ein Bild rein. Da kann man dann auch in etwa die Dimensionen an Hand der Fahrzeuge besser abschätzen.

UFO.thumb.JPG.4db65f48d9a8bb6ef886495cae00b213.JPG

Die 4 Aliens + der Roboter gehörten dazu.

Gruß

streit_ross

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @RoniHB,

hm, aber wie soll das Ding senkrecht starten und landen, wenn die Schiene nicht mitten durch das Objekt geht? Ist senkrecht starten und landen überhaupt umsetzbar? Fahrzeuge sitzen ja auf einer Schiene, aber die Schiene geht ja nie durch das Fahrzeug durch. Hier im Bild sitzt es auf der Schiene und es "fährt" auch 9_9.

Screenshot2023-06-11180307.thumb.jpg.71276b9e44535472273f0f395c5481b9.jpg

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 41 Minuten schrieb Phrontistes:

Ist senkrecht starten und landen überhaupt umsetzbar?

Da "fahren auf" eine Ebene bildet (normalerweise x-y Ebene) und die Ausrichtung des Fahrzeugs der Ausrichtung dieser Ebene folgt, gibt es keine direkte Lösung für vertikalen Start und anschließender horizontaler Fahrt bei gleichzeitiger horizontaler Ausrichtung des Fahrzeugs für beide Fälle (das senkrechte Starten und Landen wäre zwar möglich aber man hätte dann das Problem der horizontalen Weiterfahrt).

Gruß
EASY

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @EASY,

vor 27 Minuten schrieb EASY:

keine direkte Lösung für vertikalen Start und anschließender horizontaler Fahrt bei gleichzeitiger horizontaler Ausrichtung des Fahrzeugs für beide Fälle

Ok, das wird also eine Denksportaufgabe. Lösbar ist ja fast alles im MBS, wenn man auch mal um die Ecke denkt B|.

Die nächste Frage wäre dann: Kann man eine "Ebene" verbiegen/krümmen (so wie Einsteins "Gummiräume")? Oder ist die "Ebene" immer eben.

Beste Grüße 

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...