Crearea de animații 2D în Unity

Pentru a crea animații 2D în Unity, dezvoltatorii pot folosi fereastra de animație încorporată și componenta Unity Animator. Iată un ghid pas cu pas pentru a începe.

Configurarea Proiectului

  • Deschide Unity și creează un nou proiect 2D sau deschide unul existent.
  • Dacă începeți un nou proiect, setați șablonul proiectului ca 2D.

Importarea activelor Sprite

  • Sprite-urile pot fi create în Unity utilizând Editorul Sprite sau importate din fișiere imagine externe, cum ar fi PNG sau JPEG.
  • Pentru a crea sprite-uri în Unity, accesați meniul Assets, selectați Creare și alegeți fie Sprite, fie Sprite Renderer. Apoi, este posibil să desenați sau să importați opera de artă sprite.

Configurarea animației Sprite

  • Odată ce sprite-urile sunt gata, selectați materialul sprite în fereastra Proiect.
  • În fereastra Inspector, asigurați-vă că Tipul de textură este setat la 'Sprite (2D and UI)'. Dacă nu, schimbați-l în 'Sprite (2D and UI)'.
  • Faceți clic pe materialul sprite din fereastra Proiect pentru al deschide în Editorul Sprite.
  • Utilizați Editorul Sprite pentru a defini frames individuale ale animației. Sprite-ul poate fi împărțit în mai multe sub-imagini dacă este necesar. Editorul permite, de asemenea, modificarea punctului de pivotare pentru fiecare cadru pentru a controla poziția sprite-ului.
  • Salvați modificările făcute în Editorul Sprite.

Crearea de animații utilizând fereastra de animație

  • Pentru a deschide fereastra Animație, accesați 'Window -> Animation'.
  • În fereastra Animație, faceți clic pe butonul Creare pentru a crea un nou clip de animație.
  • Selectați clipul de animație în fereastra Proiect, iar proprietățile acestuia vor apărea în fereastra Inspector.
  • În fereastra Inspector este posibil să setați lungimea clipului de animație, rata de eșantionare și alte proprietăți.
  • Pentru a crea cadre cheie, mutați capul de redare în fereastra Animație la un anumit time și modificați proprietățile sprite-ului (de exemplu, poziție, scară, rotație etc.) în fereastra Scenă sau Ierarhie.
  • Adăugați cadre cheie în momente diferite pentru a crea o animație fluidă. Unity va interpola automat valorile dintre cadrele cheie.

Configurarea Animatorului

  • Selectați obiectul sprite în fereastra Scenă sau Ierarhie.
  • În fereastra Inspector, faceți clic pe butonul Adaugă Component și căutați "Animator" pentru a adăuga componenta Animator la obiect.
  • Faceți clic pe butonul Creare din componenta Animator pentru a crea un nou element de controler Animator.
  • Alocați controlerul Animator nou creat câmpului Controler al componentei Animator.

Configurarea Controllerului Animator

  • Faceți dublu clic pe materialul nou creat Animator Controller pentru a-l deschide în fereastra Animator.
  • În fereastra Animator, există un grafic Animator Controller, care reprezintă fluxul de animații.
  • Faceți clic dreapta în fereastra Animator și selectați 'Create State -> From New Clip' sau 'From Sprite Renderer' pentru a crea stări de animație.
  • Trageți și plasați clipurile de animație create anterior în fereastra Animație în stările de animație respective.
  • Creați tranziții între stările de animație făcând clic pe o stare și trăgând săgeata în altă stare. Este posibil să ajustați condițiile de tranziție, cum ar fi timpul, valorile parametrilor sau evenimentele.
  • Este posibil să adăugați parametri pentru a controla tranzițiile, cum ar fi bools, ints sau triggers. De exemplu, poate exista un parametru bool numit "IsRunning" care declanșează o tranziție de la o stare de animație inactivă la o stare de animație care rulează.

Redarea animațiilor

  • Selectați obiectul sprite în fereastra Scenă sau Ierarhie.
  • În componenta Animator din fereastra Inspector, trageți materialul creat de Animator Controller în câmpul Controller.
  • Apăsați butonul Play din fereastra Animație pentru a testa și previzualiza animațiile.

Controlul animațiilor prin program

  • Controlul programatic al animațiilor necesită accesarea componentei Animator din script.
  • În script, creați o variabilă de tip Animator și utilizați 'GetComponent<Animator>()' pentru a obține o referință la componenta Animator atașată obiectului sprite.
  • Este posibil să utilizați apoi funcțiile și proprietățile Animator pentru a declanșa tranziții, pentru a seta valorile parametrilor sau pentru a controla redarea animațiilor. De exemplu, apelarea animatorului.SetBool("IsRunning", true) va declanșa animația care rulează.
using UnityEngine;

public class AnimationController : MonoBehaviour
{
    private Animator animator;

    private void Start()
    {
        // Get a reference to the Animator component
        animator = GetComponent<Animator>();
    }

    private void Update()
    {
        // Check for input or condition to trigger animations
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // Trigger a jump animation
            animator.SetTrigger("Jump");
        }

        float moveInput = Input.GetAxis("Horizontal");
        animator.SetFloat("Speed", Mathf.Abs(moveInput));

        // Check if the character is grounded
        bool isGrounded = IsGrounded();

        // Set the "IsGrounded" parameter in the Animator
        animator.SetBool("IsGrounded", isGrounded);

        if (isGrounded && Input.GetKeyDown(KeyCode.C))
        {
            // Trigger a crouch animation
            animator.SetBool("IsCrouching", true);
        }

        if (isGrounded && Input.GetKeyUp(KeyCode.C))
        {
            // Stop the crouch animation
            animator.SetBool("IsCrouching", false);
        }
    }

    private bool IsGrounded()
    {
        // Implement your own logic to check if the character is grounded
        // For example, you can use raycasting or collision detection
        // and return true if the character is touching the ground
        // and false otherwise.
        return false;
    }
}

Concluzie

Aceasta este o prezentare generală de bază a creării de animații 2D în Unity folosind instrumentele încorporate. Unity acceptă, de asemenea, tehnici mai avansate, cum ar fi folosirea foilor de sprite, cinematica inversă (IK) și scriptarea animației personalizate comportamente. Explorați aceste opțiuni pe baza cerințelor specifice și a complexității animațiilor în cauză.

Articole sugerate
Crearea unui joc Screamer în Unity
Crearea unui joc inspirat de Poppy Playtime în Unity
Crearea unui joc de groază mobil în Unity
Crearea unui joc Ludo în Unity
Introducere în sistemul de animație al Unity
Crearea unui joc simplu platformer în Unity
Introducere în sistemul de particule în Unitate