Korzystanie z kontrolera Runtime Animator w Unity

W Unity animacja odgrywa kluczową rolę w ożywianiu postaci i obiektów w grze. Kontroler RuntimeAnimatorController to kluczowy komponent kontrolujący animację obiektów gry w czasie działania. Ten samouczek zawiera przegląd RuntimeAnimatorController i pokazuje, jak go używać z przykładami kodu w Unity.

Co to jest kontroler RuntimeAnimatorController?

RuntimeAnimatorController to obiekt skryptowy w Unity, który definiuje animacje, przejścia i parametry komponentu Animator. Umożliwia dynamiczne zarządzanie i kontrolowanie animacji podczas rozgrywki. Możesz tworzyć, modyfikować i przypisywać RuntimeAnimatorControllers do obiektów gry, aby uzyskać złożone zachowania animacji.

Przykład kodu

Stwórzmy prosty przykład demonstrujący użycie RuntimeAnimatorController:

  1. Utwórz klipy animacyjne: Najpierw utwórz klipy animacyjne dla obiektu gry. Możesz to zrobić, importując animacje lub tworząc je za pomocą narzędzi animacji Unity.
  2. Utwórz kontroler Animator: Utwórz nowy zasób RuntimeAnimatorController w swoim projekcie, klikając prawym przyciskiem myszy w oknie projektu, a następnie wybierając opcję Utwórz -> Kontroler Animator.
  3. Dodaj klipy animacyjne: Kliknij dwukrotnie nowo utworzony zasób kontrolera animatora, aby otworzyć go w oknie Animatora. Przeciągnij i upuść klipy animacji utworzone w kroku 1 do okna Animatora. Rozmieść przejścia pomiędzy animacjami według potrzeb.
  4. Przypisz kontroler Animator: Dołącz RuntimeAnimatorController do komponentu Animator obiektu gry. Można to zrobić za pomocą okna Inspektora lub programowo za pomocą skryptu.
  5. Kontroluj animacje: Użyj kodu do kontrolowania animacji w czasie działania. Możesz uruchamiać animacje, ustawiać parametry i zarządzać przejściami w oparciu o wydarzenia w grze lub uwagi użytkownika.

Oto przykład kodu demonstrujący, jak kontrolować animacje za pomocą RuntimeAnimatorController:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private Animator animator;

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        // Example: Triggering animation based on player input
        float move = Input.GetAxis("Horizontal");
        animator.SetFloat("Speed", Mathf.Abs(move)); // Set 'Speed' parameter based on player's horizontal movement

        if (Input.GetKeyDown(KeyCode.Space))
        {
            animator.SetTrigger("Jump"); // Trigger 'Jump' animation when Space key is pressed
        }
    }
}

W tym przykładzie:

  • Pobieramy komponent Animator dołączony do obiektu gry.
  • W metodzie Update sprawdzamy, czy gracz wprowadza dane wejściowe, aby dynamicznie kontrolować animacje.
  • Ustawiamy parametr 'Speed' w oparciu o poziomy ruch gracza, aby odtworzyć animację chodzenia.
  • Animację 'Jump' uruchamiamy, gdy gracz naciśnie klawisz spacji.

Wniosek

W tym samouczku poznaliśmy kontroler RuntimeAnimatorController w Unity i nauczyliśmy się go używać do dynamicznego sterowania animacjami podczas rozgrywki. Rozumiejąc pojęcia i stosując podane przykłady kodu, możesz stworzyć bardziej interaktywne i wciągające doświadczenia w swoich grach Unity. Eksperymentuj z różnymi animacjami, przejściami i parametrami, aby uzyskać pożądane zachowania animacji.

Sugerowane artykuły
Przewodnik po integracji kontrolera Nintendo z Unity
Wprowadzenie do maszyny stanowej w Unity
Dodawanie wejścia gracza do samochodu w Unity
Implementowanie łączenia obiektów w Unity
Tworzenie kontrolera wieży w Unity
Jak odtwarzać pliki wideo w Unity
Tworzenie symulatora polowań w Unity