Kursinhalt
Kampfspiel in Unity
Kampfspiel in Unity
Animator und Animation
In Unity spielt der animator
eine entscheidende Rolle, um Spielobjekte durch Animationen zum Leben zu erwecken. Durch das Verknüpfen von Animationsclips mit Übergängen und Parametern gestalten Animator:innen dynamische Bewegungen und Verhaltensweisen für Charaktere und Objekte in der Spielwelt. Diese Animationen enthalten Schlüsselframedaten und Einstellungen, die definieren, wie sich Objekte bewegen und interagieren, was entscheidend für die Schaffung immersiver und fesselnder Spielerlebnisse ist.
Animator
Um Unity mitzuteilen, dass dieses Objekt Animationen haben kann, müssen wir die Animator-Komponente hinzufügen.
Und wir müssen auch einen Controller erstellen, um ihn dem Animator hinzuzufügen.
Als nächstes, wenn wir auf das Objekt in der Hierarchie klicken und das Animator-Panel öffnen, wird es ähnlich wie folgt aussehen.
Im Animator-Panel von Unity steuern Animator die Abfolge der Animationen innerhalb eines Spiels.
Parameter dienen als Variablen, die Übergänge zwischen Animationszuständen beeinflussen. Der Einstiegspunkt definiert die anfängliche Animation, wenn ein Spiel startet, während Jeder Zustand Übergänge von jedem Zustand aus ermöglicht. Parameter, einschließlich Booleans, Floats und Ganzzahlen, ermöglichen dynamische Animationsänderungen basierend auf Spielbedingungen.
Animationen
Zuerst, wenn Sie auf Ihr Objekt klicken und das Animationsfenster öffnen, sieht es so aus.
Da es keine Animationen gibt, wird es Sie auffordern, einen Animationsclip für das Objekt zu erstellen. Wenn Sie auf Erstellen klicken, werden Sie aufgefordert, einen Namen und einen Speicherort für die Animation auszuwählen. Nach dem Erstellen einer Animation ändern sich das Animator- und das Animationspanel.
Im Animationspanel von Unity können Entwickler Animationen für Spielobjekte erstellen, bearbeiten und verwalten. Zu den Hauptkomponenten gehört die Animation Timeline, die Keyframes und Animationstracks anzeigt und eine präzise Bearbeitung von Animationen im Laufe der Zeit ermöglicht. Wenn wir die Parameter der Animation ändern möchten, können wir sie im Assets-Ordner auswählen und ändern.
- Loop Time: Die Animation startet nahtlos vom Ende zum Anfang neu;
- Loop Pose: Übergang vom letzten zum ersten Frame für nahtloses Schleifen;
- Offset: Gibt die Zeitverzögerung für die Wiedergabe der Animation an, nützlich für Synchronisation und Variation.
Aufnahme im Animationsfenster
Im Animationsfenster von Unity ist die Aufnahmetaste ein wichtiges Werkzeug für Animatorinnen. Wenn sie aktiviert ist, ermöglicht sie die Aufnahme von Keyframe-Animationen direkt im Unity-Editor. Durch das Manipulieren der Eigenschaften eines Objekts (wie Position, Rotation oder Skalierung) in der Szenenansicht oder im Inspektorfenster während der Aufnahme können Benutzerinnen automatisch Keyframes erstellen.
Hinzufügen eines weiteren Clips
Wir können unserem Objekt einen weiteren Clip hinzufügen, indem wir auf Neuen Clip erstellen klicken:
Übergänge zwischen Animationen
Nachdem wir verschiedene Clips haben, können wir die Übergänge zwischen ihnen im Animator einrichten. Um den Übergang zu erstellen, wählen wir zuerst das Ziel aus und klicken auf Übergang erstellen, dann wählen wir das Ziel aus.
So haben wir einen Übergang zwischen diesen beiden Animationen.
Wenn wir auf den Übergang klicken, haben wir diese Ansicht im Inspektor:
Hat Exit-Zeit
Wenn aktiviert, stellt es sicher, dass die aktuelle Animation abgeschlossen wird, bevor zum nächsten Zustand übergegangen wird, basierend auf der im Übergang angegebenen Exit-Zeit. Das Deaktivieren von Hat Exit-Zeit ermöglicht dynamischere und sofortige Übergänge zwischen Zuständen, oft basierend auf Bedingungen oder Auslösern. Wir werden mehr über die Verwendung von Hat Exit-Zeit in Aktion sehen.
Parameter für Übergangsbedingung erstellen
Um eine Bedingung im Übergang einzurichten, müssen wir Parameter erstellen.
Erstellen Sie nun eine Bedingung, indem Sie die + Taste drücken.
Um von Zustand A zu Zustand B zu wechseln, müssen wir sicherstellen, dass can_Translate = true
ist.
Beispiel: Menschliche Aktionen
Stellen Sie sich vor, wir steuern einen Charakter in einem Spiel. Wir haben Animationen für das Spielen mit einem Computer, Schlafen und Essen.
Bedingungen für Übergänge
Um zu steuern, wann unser Charakter zwischen Animationen wechselt, verwenden wir Bedingungen. Angenommen, wir haben eine "hungrig"-Bedingung. Wenn diese Bedingung wahr ist, möchten wir, dass unser Charakter vom Spielen mit dem Computer zum Essen wechselt.
Umsetzung des Übergangs
Im Animator von Unity erstellen wir einen Übergang vom "Spielen mit dem Computer"-Animationszustand zum "Essen"-Animationszustand. Wir setzen die Bedingung für diesen Übergang auf den "hungrig"-Boolean. Wenn "hungrig" wahr wird, wechselt Unity automatisch unseren Charakter vom Spielen zum Essen.
Wir könnten weitere Bedingungen und Übergänge hinzufügen. Zum Beispiel könnten wir eine "müde"-Bedingung haben, die einen Übergang vom Spielen zum Schlafen auslöst. Wir können auch Animationen mischen, um flüssigere Übergänge zu erzielen.
Also, der animator
in Unity funktioniert genau wie wir: Jeder Block ist eine Aktion, die wir in unserem täglichen Leben ausführen können, und die Pfeile halten die Bedingung für den Wechsel zu dieser Animation.
Danke für Ihr Feedback!