Animationen bei Objekten

Durchschnitt: 5 (4 Bewertungen)

Jetzt kommt Bewegung rein

Nachdem unser Objekt jetzt fertig ist, wäre es doch schön, wenn sich der Radar-Reflektor drehen würde, sich das Hangartor öffnen ließe, usw. Dazu bietet uns X-Plane eine Möglichkeit: die Animation.

Für jede Animation brauchen wir eine X-Plane"Dataref", die diese Animation steuert. Die Liste der Datarefs findet man im Verzeichnis "X-Plane/Ressources/plugins" oder auf http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html

Rotierende Objekte

Damit ein Objekt sich dreht, benötigen wir eine Dataref, die eine kontinuierliche Veränderung zwischen zwei Werten bringt und beim Erreichen des Höchstwertes beim niedrigsten Wert wieder beginnt. Eine dafür recht praktische Dataref ist da "sim/graphics/animation/airport_beacon_rotation". Dazu verrät uns die o.a. WEB-Site:

airport_beacon_rotation float 850+ no degrees angle this beacon is rotating (0-360)
Dataref-Name Type gilt ab Sim-Version beschreibbar? Einheit Anmerkung (hier Wertebereich)

Diese Variable bringt uns also einen Wert, der bei 0° beginnt und bis 360° läuft und dann wieder bei 0 beginnt. Perfekt für unser Radar.

Als Beispiel, wie wir einen Radar-Reflektor zum Rotieren bringen, verwende ich die beiden Radars in LOWW. Auf dem rechts stehenden Bild sieht man die fertigen Türme und die beiden Radar-Reflektoren. Der rechte er beiden ist dabei mit einem blauen Rahmen umgeben. Wozu das?

Wir müssen X-Plane sagen, welche Teile zusammengehören und gemeinsam rotieren sollen. Dazu markeiren wir alle Teile, die zum Reflektor gehören (Flächen UND Kanten), Klicken mit der rechten Maustaste drauf und wählen "Gruppieren" aus dem Kontextmenu.

Jetzt weiß X-Plane, dass diese Teile zusammengehören. Jetzt Klicken wir diese Gruppe noch einmal mit der rechten Maustaste an und wählen "X-Plane / Animation" aus dem Kontext-Menu. Jetzt öffnet sich das links abgebildete Fenster.

In diesem werden jetzt alle Animations-spezifischen Parameter definiert. In der ersten Zeile teilen wir X-Plane mit, an welche Dataref unsere Animationen gebunden werden soll. Das Feld daneben, dient zur Adressierung eines Werte aus einem Array, falls unsere Dataref dieses Datenformat hat (siehe später).

Darunter sehen wir zwei Bereiche, die mit "Keyframe #0" und "Keyframe #1" bezeichnet sind. Was ist nun ein "Keyframe"?

X-Plane nimmt uns viel Arbeit ab. Wir müssen nur zwei Positionen unserer "Gruppe" bzw. "Komponente" definieren und den Rest berechnet X-Plane selbst.

Jetzt haben wir nur ein Problem, wenn wir X-Plane die Position für 0° und die für 360° angeben, die sind nämlich gleich! Wir nutzen da einen Trick. Wir geben die Postion für 0° an und als zweiten Keyframe die Position für 90°. Daraus errechnet X-Plane die gesamte Drehung.

Anmerkung: Damit sich die beiden Reflektoren nicht parallel drehen, habe ich die eine um 90° versetzt. Daher sind hier die Werte für 90° und 180° eingesetzt.

Die jeweils zwei Felder am linken Rand (+) und (-) dienen dem Hinzufügen und Löschen von Positionen bzw. Keyframes.

Rechts von den Eingabefeldern befinden sich zwei Buttons: "Festlegen" und "Anzeigen" Die werden wir jetzt nutzen, um X-Plane die Position unseres Reflektors bei den beiden eingegebenen Werten mitzuteilen.

Dazu können wir gleich einmal beim "Keyframe #0" auf Festlegen klicken. Damit weiß X-Plane mal, in welcher Position der Reflektor sein soll, wenn die Dataref 90° beträgt.

Um jetzt die 180° Position zu bekommen, müssen wir den Reflektor um 90° in die gewünschte Drehrichtung drehen. Dazu benutzen wir das "Drehen"-Werkzeug von Sketchup. Sobald wir dieses angewählt haben, wird der Cursor zu einem Winkelmesser, der je nachdem, wohin wir den Cursor halten, die Farben entsprechend den drei Achsen ändert. Wir wollen ja, dass sich unser Reflektor um die blaue (Hoch-) Achse dreht. Um jetzt nicht lange suchen zu müssen, wo der Winkelmesser an unserem Objekt blau wird, Drücken und Halten wir einfach "Shift" wenn der Winkelmesser blau ist und fixieren so die Drehachse. Jetzt können wir in Ruhe die Drehachse des Reflektors ansteuern. Dort einmal Klicken, den Cursor auf einer der anderen Achsen vom Mittelpunkt wegziehen und noch einmal Klicken. Wenn wir jetzt den Cursor auf die verbleibende Achse bewegen, dreht sich unser Objekt (der Reflektor) mit. Wenn nicht: "Esc" Drücken und nochmal von vorne.

Wenn die Position passt, ein drittes Mal Klicken. Jetzt auf den Button "Festlegen" bei "Keyframe #1" Klicken. Somit hat X-Plane (bzw. vorerst mal das Plugin von marginal) die beiden Positionen für die Keyframes und die dazugehörigen Werte.

Zur Sicherheit können wir die beiden Positionen durch Klick auf den Button "Anzeigen" oder durch Verwendung des Schiebereglers "Vorschau" überprüfen.

Jetzt können wir das o.a. Fenster "X-Plane Animation" schließen durch Klick auf das von Windows ja bekannte "X".

Wenn wir das gesamte Objekt jetzt speichern, Konvertieren und in unsere Szenerie setzen, können wir bewundern, wie sich der Radar-Reflektor dreht. Einfach, Oder?

Damit können wir jetzt auch Bewegung in Drehtüren usw. bringen. Aber wie schaut es mit einem Schiebe-Tor aus?

Lineare Bewegungen

Als Beispiel nehme ich hier eines der Tore, die ich für LOWS gebaut habe und die durch das AddOn "HangarOPS" von BluSideUpBob bedienbar sein sollen.

Dieses Addon liefert uns eine neue Dataref: "STMA/Scenery/HangarDoorPosition". Dabei handelt es sich um ein Array aus 100 Werten (entspricht 100 Animationen, die wir steuern könnten), leider sind außerhalb von Flugzeugen dieses Autors nur die ersten 10 (von 0 bis 9) verwendbar.

Wir müssen daher auch in das Feld neben der "DataRef" im Fenster "X-Plane Animation" einen Wert zwischen 0 und 9 eingeben. Mit diesem "Keycode" ist unsere Animation dann im Simulator steuerbar.

Und eigentlich ist jetzt alles ganz einfach: Keyframe #0 ist die o.a. geschlossene Position. Für den "Keyframe #1" verschieben wir das Tor mit dem "Verschieben"-Tool so weit, dass es ganz geöffnet ist und legen diese Position als "Keyframe #1" fest. Die Datarefs dieses AddOn bewegen sich zwischen 0.0 und 1.0. Daher geben wir diese beiden Werte auch bei den entsprechenden Keyframes ein. Kontrollieren, ob die beiden Positionen stimmen, abspeichern, konvertieren, in die Szenerie einbauen und das sich öffnende Tor bewundern.

War doch auch nicht schwer, oder?

Und jetzt noch ein Beispiel für den Bereich "Ausblenden / Zeigen":

Da oder nicht da, das ist hier die Frage!

Ich wollte immer schon ein Wind-Tee nachbauen (das ja an allen Plätzen installiert ist und die aktive Landepiste anzeigt), das auch wirklich die richtige Lage einnimmt. Leider bietet uns X-Plane keine Dataref für die aktive Piste. Nach mehreren Versuchen kam ich zu folgenden Lösung:(Danke an Daniel für die Hilfe)

 

 

 

Ich baue ein Tee, dass für beide (geht auch für mehrere Pisten, wie in LOWW) Richtungen den "Endbalken" hat. Je nach Windrichtung wird dann der eine oder andere Balken ausgeblendet.

 

Dazu verwende ich die Dataref "sim/weather/wind_direction_degt", die mir die Windrichtung in Grad angibt.

In die Felder bei "Ausblenden / Zeigen" kommen jetzt die Werte, wann ein Balken ein- bzw. auszublenden ist. Dieser wird jetzt nur angezeigt, wenn die Windrichtung zwischen 270° über 0° bis zu 90° beträgt, also Winde aus West über Nord bis Ost.

Der zweite Balken hat natürlich die umgekehrten Werte.

EInziges Problem dabei: Die Windrichtung im X-Plane variiert ein wenig. Daher kann es vorkommen, dass bei einem Wind aus West +/- ein paar Grad, die beiden Balken flackern. Aber damit kann ich leben.

Bei meinen animierten Fahnen verwende ich die selbe Dataref. Da schaut die o.a. Variation ja gut aus, denn die Fahnen bewegen sich leicht im Wind.

 

 

 

Wer möchte, kann jetzt noch andere Bewegungen ausprobieren, z.B.:

  • Hangar-Kipptore, die sich wie ein Garagentor öffnen (um 90° nach hinten drehen und an die Oberkante der Öffnung schieben)
  • Tore, die sich am Anfang und Ende der Bewegung langsamer bewegen (zusätzliche Keyframes)
  • gekoppelte Bewegungen wie eine Heli-Plattform, die sich nach Öffnen des Tores aus dem Hangar heraus bewegt (Erste Hälfte der Dataref bewegt Tor, zweite Hälfte das Heli-Pad)
  • Schranken, die sich je nach Tageszeit öffnen oder schließen (siehe die Szenerie LOAR)
  • usw.

Ergänzung: Im Fenster "X-Plane Animation" gibt es noch einen "Loop"-Wert. Diesen verwenden wir, wenn wir eine Dataref nutzen, die sich quasi endlos bewegt. Sobald der Wert bei "Loop" erreicht ist, zieht X-Plane diesen von der Dataref ab und beginnt wieder bei 0. Das ist manchmal erforderliche, wenn keine Dataref, die sich entsprechend unseren Wünschen ändert.

Recht praktische Datarefs sind auch noch:

ping_pong_2 float 850+ no ratio -1 to 1
sin_wave_2 float 850+ no ratio -1 to 1

 

Falls sich jemand findet, der uns erklärt, wie dies mit anderen 3D-Editoren funktioniert, bitte bei mir oe3gsu@x-plane.at melden. Ich schreib dieses Tutorial gerne weiter!

Viel Spass mit den Animationen
Gerhard


Wenn Dir dieses Tutorial gefällt, freuen wir uns über Deine Spende: