Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Skripting in Unity Grundkurs

Animationen simpel steuern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Animationen anzusteuern, sie zu starten oder ähnliches zu bewirken, erfordert gewisse Voraussetzungen und Funktionen. Welche das sind, darum geht es in diesem Video.
10:06

Transkript

Diesen Charakter hier vor uns, auch wenn er sich noch so schön bewegt, von links nach rechts und sogar springen kann, und einen Umschalter hat für normales Gehen und Sprinten, fehlt eine Sache, und das sind Animationen. Diese müssen wir ihm jetzt noch in diesem Video hinzufügen, und der kann sich schon ein bisschen sehen lassen. Er hat auch schon eine Animations-Komponente, die auch schon ganz gut vorbereitet ist, das heißt, Animationen sind im Animations Array hinzugefügt, eine Default-Animation ist drin, soweit alles gut, sie werden aber noch nicht gesteuert, und das wird jetzt unser Script erledigen. Dafür gehen wir hier in das Script, was schon bereits auf dem Spieler liegt, das Player_Move Script, und hier steht eine ganze Menge schon drin, und wir schauen uns einfach mal an, was wir damit machen können, dass Animationen gesteuert werden. Zunächst muss dieses Script wissen, welche Animationen es denn gibt. Noch mal kurz einen Blick in Unity, wir haben hier idle, walk, run und jump_pose, das sind also vier, na sagen wir mal drei, wir nehmen idle, walk und run, die wir jetzt unserem Script auch bekannt machen müssen. Und das tun wir, indem wir wieder mit dem Schlüsselwort public arbeiten, denn wir wollen sie im Inspector zuweisbar machen, und jetzt brauchen wir sogenannte AnimationClips. Das heißt, wir bereiten jetzt sozusagen ein Fach vor, wo wir einen AnimationClip reinschmeißen können, und dieses Fach nenne ich jetzt einfach mal walkAnim, und das Ganze machen wir jetzt noch zweimal, und das wäre hier unsere idleAnim, und dann zum Beispiel noch runAnim, machen wir es der Ordentlichkeit halber so rum, dann haben wir idle, walk und run. Wir machen jetzt auch nicht viel anderes als eine Variable zu deklarieren. Wir sagen, was für einen Typ hätten wir gerne, und dann geben wir dem Ganzen einen Namen, mit dem wir innerhalb dieses Script arbeiten können. Jetzt müssen wir nur noch wissen, wie wir denn die Animation, die wir hier ja reinspeichern können, abrufen können. und wann wir die zuweisen müssen. Und hier haben wir ja schon unseren Umschalter zwischen rennen und gehen. Und wir fragen auch schon irgendwie nach einer Art von Input ab. Und jetzt müssen wir noch einen dritten, beziehungsweise eine dritte Abfrage machen, die zutrifft, wenn auf beiden Achsen kein Input kommt. Also schreiben wir hin, und klauen uns das zunächst mal von hier oben, und alles was wir tun, ist aus dem != ein Gleichheits- - beziehungsweise ein = zu machen, und das verknüpfen wir jetzt mit einem doppelten &-Zeichen mit dieser Aussage hier, die klauen wir uns auch, und beschreiben damit folgende Bedingung, zunächst hier oben ganz klar, wenn irgendwie Input kommt, das heißt, auf der horizontalen Achse irgendein Wert ist, der nicht 0 ist, und das Gleiche für die vertikale Achse, dann bewege dich bitte irgendwie. denn ist diese Bedingung erfüllt, oder diese hier unten, heißt das der Nutzer macht irgendeine Art von Input, dann soll ich mich doch auch bewegen. Wenn jetzt aber die 0 erfüllt ist, das heißt hier und hier steckt eine 0 hinter, was wir hier ja realisiert haben, wenn also hier hinter eine 0 steckt, == 0, und außerdem hier auch, dann heißt das, der Benutzer nimmt kein Input vor, er drückt also gerade keine Taste. Und jetzt soll die idle Animation abgespielt werden. Die idle Animation ist meistens die Animation, die ein Charakter macht, wenn er sozusagen einfach nur herumsteht. Und jetzt kommt unser idleAnim AnimationClip ins Spiel. Diesen merken wir uns schon mal, wir fügen ihn hier schon mal ein, Moment, jetzt habe ich ihn nicht kopiert. Mit dem müssen wir natürlich noch was machen, und wo muss der hin- da noch mal kurzen Blick in Unity, der muss ja unserer Animation-Komponente beigebracht werden. Wir müssen jetzt also quasi sagen, liebe Animations-Komponente, du bekommst jetzt von mir einen AnimationsClip, und den sollst du doch auch bitte abspielen. Und das geht folgendermaßen: wir greifen zunächst auf die Animations-Komponente zu, mit einem klein geschriebenen Schlüsselbegriff animation, dann greifen wir auf den Clip zu, wir nehmen unseren Access Modifier gehen eine Ebene tiefer und sagen, jetzt gebe ich die hier einen Clip mit, und dann setzen wir diesen Clip, nämlich so. Und hiermit hätten wir schon den ersten Schritt erledigt. Animation-Komponente, hier bitte schön dein Clip, und welchen Clip hättest du denn gerne? - Den hier! Und dann müssen wir noch dafür sorgen, okay, die Animations-Komponente weiß jetzt was sie abspielen soll, sie spielt aber noch nichts ab, wir sagen einfach animation.Play. Das ist jetzt eine Funktion, die uns von der Animations-Komponente mitgegeben wird, und die macht nichts anderes was ihr Name beschreibt, sie spielt die Animation, die gerade übergeben wurde, ab. Schauen wir in Unity, ob das Ganze funktioniert. Okay, nein, kann noch nicht funktionieren, denn hier unsere Fächer sind noch nicht belegt. Hier müssen wir uns jetzt zunächst die richtigen Animationen raussuchen, das mache ich mal eben, indem ich hier einfach auf die Felder klicke, und dann die Animation einfach hier reinziehe. Das könnte natürlich auch jede andere Animation sein, aber das muss zu unserem Modell passen. Okay, alles ist zugewiesen, die Animation-Komponente weiß, welche Animationen es alles gibt, das ist soweit richtig, das können wir schließen, und unser Script kennt die Animation auch, jetzt können sie dynamisch übergeben werden. Gucken wir mal was passiert. Und, ja, das sieht doch schon ganz gut aus. Unser Charakter spielt Animation. Denn unser Script weiß jetzt, was es zu tun hat, wenn Input hier auf Horizontal kommt, wenn Input auf Vertikal kommt, und jetzt auch, wenn überhaupt kein Input kommt. Und jetzt müssen wir ihm noch beibringen, dass Lauf-Animationen stattfinden, und zwar in Abhängigkeit, ob ich gerade renne oder nur gehe. Und genau so, wie wir das hier unten gemacht haben, Machen wir das jetzt hier beim Rennen und beim Gehen. Nur das wir hier jetzt natürlich nicht die idle-Animation nehmen, sondern beim Rennen die run-Animation, und beim Gehen, das kommt hier unten hin, die walk-Animation. Und dann schauen wir mal, dass wir das hier auch in die vorne und hinten Bewegung hinzufügen, upps, hier muss es natürlich run-Animation heißen, nicht runk. und dann walk, das müssen wir natürlich hier oben auch noch entsprechend anpassen. weil variable Namen natürlich übereinstimmen müssen. So, das sollte jetzt alles passen, keine roten Strichelchen mehr, und dann gucken wir in Unity was passiert. Okay, uns fehlt hier jetzt die run-Animation, weil wir sie umbenannt haben, müssen wir noch mal eben neu zuweisen, kein Problem. Und dann gucken wir, ja, idle-Animation stimmt, walk-Animation stimmt, und run-Animation stimmt auch und wir können umschalten. Das Ganze funktioniert auch rückwärts, okay, unser Mechaniker macht jetzt einen Moonwalk, aber ich hoffe, Sie haben damit verstanden wie Animationen getriggert werden. Hätte unser Mechaniker jetzt noch Animationen für Rückwärtsgehen, oder hier zum Beispiel Sidesteps, oder schnelle Sidesteps, könnte man diese natürlich auch noch hinzufügen. Zur Zeit hat er die aber nicht, wir müssen uns im Moment begnügen mit idle, run und walk. Aber nichtsdestotrotz die Funktionalität haben wir jetzt als Programmierer hergestellt. und das Ganze haben wir sogar so gemacht, dass das dynamisch ist. Das heißt, wir könnten hier ganz dynamisch Animationen austauschen, und müssten den Code gar nicht mehr anfassen, wir müssten Unity hier nicht mehr verlassen, und der Code funktioniert, und das ist das wichtigste. Fassen wir diese Animations-Zuweisung noch mal zusammen. Damit wir per Script, auf diese Art und Weise, Animationen steuern können, muss unser Script von diesen Animationen zunächst wissen, denn wir müssen wissen, was ist die idle-Animation, wann soll ich die überhaupt zuweisen, was ist die walk-Animation, und so weiter und so weiter. Dann müssen wir uns die entsprechenden Zeitpunkte suchen, wann welche Animation abgespielt werden soll. Und in Abhängigkeit davon, setzen wir zunächst den richtigen Clip, und sagen dann, spiele doch bitte die Animation jetzt ab.

Skripting in Unity Grundkurs

Greifen Sie mithilfe von C#-Skripts dynamisch in Ihr Unity-Projekt ein. Auch Programmier-Neulinge lernen Schritt für Schritt den Einstieg ins Skripting.

4 Std. 50 min (40 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Anleitung für Unity 5-Nutzer:

  • Schritt 1: Projekt in Unity 5 öffnen und die Meldung bestätigen, dass das Projekt ein Upgrade bekommt.
  • Schritt 2: Wenn die Meldung kommt, dass die API upgedatet werden muss, diese auch bestätigen

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!