Jump to content
Unity Insider Forum

Animation in einer Animation ablaufen lassen


gombolo

Recommended Posts

Hallo zusammen,

ich habe ein Objekt welches ich über den "Animator" über das Spielfeld bewege. Ich dachte mir über das Event könnte ich doch eine zweite Animation starten. Diese soll eine Klappe öffnen.

Also....das Objekt bewegt sich und wenn das Event erreicht ist, dann öffnet sich eine Klappe. Leider bekomme ich das nicht gebacken...

  • Die Bewegungsanimation habe ich mit Unity3D erstellt...
  • Die zweite Animation -welche über das Event starten soll- in Bender
  • Es sind praktisch zwei Animationen welche zur selben Zeit ablaufen...
  • ...wobei die eine Animation von der anderen ausgelöst wird, wenn diese ein Event erhält.

Kann mir jemand behilflich sein und mir verraten ob so was möglich ist (über ein Event in einer Animation eine andere Animation zu starten) und gibt es ein Video oder so wo so was ähnliches beschrieben wird? Danke und viele Grüße...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da gibt es natürlich wieder mehrere Wege. Es kommt immer darauf an, wie du deine Animationen erstellt hast und ob alles nur ein Objekt ist, oder mehrere mit einem Vaterobjekt und Kindern.

Wenn es mehrere Objekte sind, also die Klappe ein Kind des Raumschiffes ist, dann kannst du der Klappe auch einen Animator verpassen. Das Raumschiff selbst hätte einen Animator für die Bewegung im Raum und die Klappe hätte einen Animator für das Öffnen und Schließen.

Ist alles nur ein Objekt, wird es etwas schwieriger, geht aber auch, denn du hast die Möglichkeit im Animator mit Layern zu arbeiten. Du kannst ganz viele Layer erzeugen und in allen Layern einstellen, wie die Layeranimation sich auf das Gesamtobjekt auswirkt. Es gibt die Möglichkeit das Blending (Ob es Additiv sein soll oder die vorige Animation überschreiben soll) und die Stärke (Weight) des Blendings einzustellen.
Die Layer arbeiten von oben nach unten und somit hat der oberste Layer immer eine weight von 1.

Alle Animationsparameter, die du ja über Code im Animator setzt, sind von allen Layern aus abfragbar.

Ein Animationsevent kann nur an eine public Methode senden, dieses Event kannst du nicht für eine Animation direkt nutzen. Die Animation sendet also an ein Script und dieses Script kann dann ein Parameter im Animator verändern bzw. setzen.

Hilft das?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja es ist alles ein Objekt...ich habe es, wie Du beschrieben hast, über Layer gelöst und steuere die Animation über einen Skript. Funktioniert auch wunderbar. Wobei mir die Idee mit den Eltern und Kind-Objekten auch gefällt, jedoch werde ich bei der ersten Lösung bleiben. Ich finde das mit den Layern auch sehr gut. Danke!

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...