Skip to content

Beta

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Veröffentlichte E-Books
  • Impressum
    • Datenschutzerklärung
    • Disclaimer
  • Cookie-Richtlinie (EU)
  • Toggle search form
  • Kraken Academy Cover
    Kraken Academy!! Adventure
  • Nintendo Switch
    Die Nintendo Switch Games und Lyrik
  • Black Mirror 3 Screenshot
    Black Mirror 3 Games und Lyrik
  • Frank and Drake0
    Frank and Drake Adventure
  • Brassheart Adventure
  • Kadokado
    Kadokado Action
  • Commandos 2: Men of Courrage Games und Lyrik
  • Beauty and the Beast Cover
    Beauty and the Beast Action

2D-Animationen in Unity

Posted on 25/09/2020 By Claudia Wendt Keine Kommentare zu 2D-Animationen in Unity

Gehe in den Scenenbildschirm und wähle deinen Spieler. Öffne das Animationsfenster. Um mit der Animation beginnen zu können, benötigst du einen Animator und einen Animation Clip.

Wähle die Player aus und gehe unter Window auf Animation –>Animation

Du benötigst einen Animator und einen Animation Clip.

Wähle Create, erstelle einen Ordner für Animationen und Speichere die Animation unter Player_Idle.

Es erscheint die Zeitleiste, in der die Animationssprites positioniert werden können.

Ziehe die Sprites zur Animation, ins Animationsfenster. Die Frames werden hinzugefügt:

Jetzt würde die Spielfigur viel zu schnell animiert. Es ist nötig die Bilder, die pro Sekunde abgespielt werden, anzupassen.

Um die Sample Rate anzeigen zu lassen, wähle die Einstellungen vom Animationsfenster und wähle „Show Sample Rate“

Diese steht jetzt auf 60.

Ändere sie auf 12.


Dann läuft die Animation nicht mehr ganz so schnell ab.

Die Bilder lassen sich per Drag & Drop auf der Zeitleiste verschieben oder mit Entf. entfernen.

Das Ganze funktioniert auch für andere Animationen, wie zum Beispiel das Laufen vom Charakter.

Wähle dafür: Create New Clip

Wiederhole dies fürs Ducken und fürs Springen.

Wenn du beim Springen nicht so viele Sprites besitzt und beispielsweise nur 2 Sprites hast, kannst du den Samples-Wert auf 2 setzen.

Im Animationsordner hat der Animator Controller einer andere Icon-Darstellung als die Animationen:

Er bestimmt, wann welche Animation abgespielt wird.

Mit einem Doppelklick öffnet sich der Animator:

Dort wird bestimmt, welche Animation abgespielt wird. Aus dem Projekt lässt sich per Drag & Drop direkt eine Animation in den Animator ziehen.

Player_Idle ist mit einem orangen Pfeil verbunden und orange markiert, weil es die Ausgangsanimation ist. Wenn man das Spiel startet, wird ständig die „Idle-Animation“ abgespielt. Mit der rechten Maustaste kannst du „Set as Layer Default State“ auswählen und damit eine andere Animation zur Ausgangsanimation machen.

Wenn du anfängst zu rennen, sollte die Animation zur entsprechenden Animation wechseln. Wähle Player_Idle mit der rechten Maustaste und wähle Make Transition. Damit erstellst du eine Verbindung von Player_Idle zu Player_Run.

Wählst du die Verbindung, kannst du bearbeiten, wann die Veränderung von einer zur anderen Animation stattfinden soll.

Dafür benötigst du eine Bedingung. Damit das funktioniert, brauchst du außerdem einen Parameter.

Erstelle einen „float“.

Er repräsentiert die Geschwindigkeit des Spielers.

Anschließend fügst du die Bedingung ein:

Du legst beispielsweise fest, das die Animation wechselt, wenn die Geschwindigkeit größer als 0.01 ist:

Wenn die Spielfigur sich bewegt, startet sie mit der anderen Animation.

Deaktiviere „Has Exit Time“.

Ändere die Transition Duration auf 0.

Die Animation vom Rennen soll beendet werden, wenn die Figur aufhört zu laufen. Erstelle eine weitere Transition, die zu Idle zurückgeht.

Wähle hier die Bedingung, dass die Animation wechselt, wenn die Geschwindigkeit kleiner als 0.01 ist.

Auch hier deaktiviere „Has Exit Time“ und setze die Transition-Dauer auf 0.

Die Änderungen jetzt, werden im Script vorgenommen:

Wir haben bei einem Charakter 2 Scripts: Der CharacterController kümmert sich um die Physik, die den Charakter bewegt und das PlayerMovement-Script, das sagt, wann die Figur sich bewegt und mit welcher Geschwindigkeit.

Öffne zuerst das PlayerMovement-Script. Zuerst wollen wir Zugriff auf den Animator haben:

Unity fügt beim Erstellen einer Animation den Animator zum Spieler hinzu. Er bezieht sich auf den Animator Controller, der wiederum den Bezug zum Spieler herstellt. Der Animator muss duch das PlayerMovement Script kontrollierbar sein:

public Animator animator;

Gehe zurück in Unity und du siehst, das jetzt im Player Movement Script das Animator-Feld erscheint. Dort wird dann die Animator-Komponente aus dem Inspectorfenster hineingezogen.

Jedesmal wenn im Script Animator geschrieben wird, greifen wir auf die Animatorkomponente zu.

In der Updatefunktion greifst du jetzt auf den Animator und die dazugehörige Komponente zu:

animator.SetFloat(„Speed“, Mathf.Abs(horizontalMove);

Die Funktion Mathf.Abs sorgt dafür, das der Wert der Bewegung deines Charakters immer positiv ist.

Wenn du jetzt dein Spiel in Unity startest, spielt Unity beim Laufen die Animation deines Charakters ab. Wenn du anhältst, ist die Idle-Animation aktiviert.

Jetzt geht es um das Springen: Dafür nutzen wir die Möglichkeit von „Any State“ im Animator. Egal welche Animation gerade abgespielt wird, wenn der Charakter springt, wechselt er zu dieser Animation.

Dafür wird eine Bedingung benötigt, damit der Charakter nicht die ganze Zeit hüpft: Jetzt wird ein weiterer Parameter gebraucht.

Nenne diesen: IsJumping und setze als Bedingung „IsJumping“ auf true.

Wir wollen keine Exit Time und setzen die Transition-Dauer auf 0.

Der Charakter soll von der Animation zum Springen wieder zum „Idle“ zurückkönnen. Es wird eine weitere Verbindung erstellt.

Die Bedingung „IsJumping“ wird auf false gesetzt und Speed auf Less 0.01.

Eine weitere Verbindung wird von Jump zu Run erstellt. Der Wechsel zum Laufen bekommt weitere Bedingungen:

IsJumping = false und Speed >0.01

Bei beiden setzten wir die HasExit-Time auf false und die Duration auf 0.

Jetzt wird das Script für die Animationen angepasst:

animator.SetBool(„IsJumping“, true);

Wir vermitteln dem PlayerMovementScript, das der Charakter aufhört mit springen, wenn er landet:

public void OnLanding ()

{

animator.SetBool(„IsJumping“, false);

}

Jetzt können wir in Unity ein neues OnLandEvent hinzufügen:

Du fügst ein OnLandEvent ein und wählst unter PlayerMovement: OnLanding()

Dann spielt Unity beim Springen die Sprunganimation ab und wenn der Charakter landet, beendet es sie.

Unity spielt die Animation immer sehr kurz ab. Deaktiviere „Can Transition to Self“, damit die Animation komplett abgespielt wird:

Jetzt wird die Animation fürs Ducken hinzugefügt.

Stelle eine Verbindung von Idle zu Crouch her:

Füge ein Bedingung hinzu: Erstelle einen neuen Paramter: IsCrouching

Wenn Crouching IsTrue, dann soll die Figur sich ducken:

Bearbeite wieder die ExitTime und die Dauer. Stelle wieder eine Rückverbindung her.

Wenn du die Exit Time deaktivierst und die Dauer für die Animation auf 0 setzt, verlängere die Exit Time zuerst und deaktivere sie erst danach, da sonst jede Menge Warnungen in die Konsole wandern. Erstelle eine weitere Verbindung von der Run-Animation.

Ertstelle eine weitere Rückverbindung:

IsCrouching ist false und Speed > 0.01

Füge noch ein OnCrouchEvent hinzu.

Dafür benötigen wir eine weitere Funktion im PlayerMovement-Script:

public void OnCrouching (bool isCrouching)

{

animator.SetBook(„IsCrouching“, isCrouching);

}

Füge jetzt das CrouchEvent hinzu. Wichitg: Im Script muss vor dem public class BoolEvent [System.Serializable] stehen. Ansonsten erscheint das CrouchEvent nicht im Inspectorfenster von Unity:

Füge wieder das PlayerMovement Script hinzu. Wähle unter dem PlayerMovement Script das OnCrouching aus dem oberen Abschnitt.

Games und Lyrik Tags:Unity

Beitrags-Navigation

Previous Post: Munin
Next Post: Siebenstreich

Related Posts

  • AC-DC Live Rockband Cover
    AC/DC Live: Rock Band Games und Lyrik
  • Towaga
    Towaga: Among Shadows Games und Lyrik
  • Freier Fall
    Freier Fall Games und Lyrik
  • Port-Royale-Screenshot-2
    Port Royale Games und Lyrik
  • Hollywood Squares Cover
    Hollywood Squares Games und Lyrik
  • Two One Cover
    21: Two One Games und Lyrik

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archives

  • November 2023
  • August 2023
  • Juli 2023
  • April 2023
  • März 2023
  • Februar 2023
  • Januar 2023
  • Dezember 2022
  • November 2022
  • Oktober 2022
  • September 2022
  • August 2022
  • Juli 2022
  • Juni 2022
  • Mai 2022
  • April 2022
  • März 2022
  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020

Categories

  • Action
  • Adventure
  • Adventure Escape
  • Brettspiele
  • Games und Lyrik
  • Geschicklichkeit
  • Hack and Slash
  • Horror
  • Kartenspiele
  • Liebe
  • Lyrik
  • Point-and-Click-Adventure
  • Puzzle
  • Rennspiele
  • Rogue-like
  • RPG
  • Shoot Em Up
  • Shooter
  • Simulation
  • Spieleentwickler
  • Spieleprogrammierung
  • Sport
  • Strategie
  • Survival
  • Textadventure
  • Tower-Defense
  • Uncategorized
  • Wimmelbild
  • Wirtschaftssimulation

Recent Posts

  • ProtoCorgi
  • Rosewater
  • Prim
  • Soccer Story
  • Application Systems Heidelberg

Recent Comments

  1. A WordPress Commenter zu Hello world!
  2. Rita zu Catch me!
  3. cvd zu Heart of Muriet
  4. cvd zu Heart of Muriet
  5. Gordon zu Jasper and the City of Lights
  • Resident Evil 0
    Resident Evil Zero Games und Lyrik
  • Der erste Sonnenstrahl – Ein Märchen Lyrik
  • Bingo 75 Cover
    Bingo 75 Games und Lyrik
  • Action Man Robot Attack Cover
    Action Man – Robot Atak Games und Lyrik
  • Siedler 2
    Die Siedler 2 Strategie
  • Fights in Tight Spaces
    Fights in Tight Spaces Games und Lyrik
  • Illusion
    Die Illusion Games und Lyrik
  • Tropico 3 Wirtschaftssimulation

Copyright © 2025 Beta.

Powered by PressBook News Dark theme