Створення 2D-анімації в Unity

Щоб створити 2D-анімацію в Unity, розробники можуть використовувати вбудоване вікно анімації та компонент Unity Animator. Ось покрокова інструкція для початку роботи.

Налаштування проекту

  • Відкрийте Unity та створіть новий двовимірний проект або відкрийте наявний.
  • Якщо ви починаєте новий проект, установіть шаблон проекту як 2D.

Імпорт ресурсів Sprite

  • Спрайти можна створювати в Unity за допомогою редактора спрайтів або імпортувати із зовнішніх файлів зображень, таких як PNG або JPEG.
  • Щоб створити спрайти в Unity, перейдіть до меню Ресурси, виберіть «Створити», а потім виберіть «Спрайт» або «Спрайт рендерер». Після цього можна намалювати або імпортувати ілюстрацію спрайту.

Налаштування спрайт-анімації

  • Коли спрайти будуть готові, виберіть ресурс спрайту у вікні проекту.
  • У вікні інспектора переконайтеся, що тип текстури встановлено на 'Sprite (2D and UI)'. Якщо ні, змініть його на 'Sprite (2D and UI)'.
  • Клацніть ресурс спрайту у вікні проекту, щоб відкрити його в редакторі спрайтів.
  • Використовуйте редактор спрайтів, щоб визначити окремі кадри анімації. За потреби спрайт можна розділити на кілька підзображень. Редактор також дозволяє змінювати точку повороту для кожного кадру, щоб керувати положенням спрайту.
  • Збережіть зміни, зроблені в редакторі спрайтів.

Створення анімацій за допомогою вікна анімації

  • Щоб відкрити вікно анімації, перейдіть до 'Window -> Animation'.
  • У вікні анімації натисніть кнопку «Створити», щоб створити новий анімаційний кліп.
  • Виберіть анімаційний кліп у вікні проекту, і його властивості з’являться у вікні інспектора.
  • У вікні інспектора можна встановити тривалість анімаційного кліпу, частоту дискретизації та інші властивості.
  • Щоб створити ключові кадри, перемістіть головку відтворення у вікні анімації на певний час і змініть властивості спрайту (наприклад, положення, масштаб, обертання тощо) у вікні сцени чи ієрархії.
  • Додайте ключові кадри в різний час, щоб створити плавну анімацію. Unity автоматично інтерполює значення між ключовими кадрами.

Налаштування аніматора

  • Виберіть об’єкт спрайту у вікні «Сцена» або «Ієрархія».
  • У вікні інспектора натисніть кнопку «Додати компонент» і знайдіть "Animator", щоб додати компонент аніматора до об’єкта.
  • Натисніть кнопку «Створити» в компоненті «Аніматор», щоб створити новий ресурс «Контролер аніматора».
  • Призначте щойно створений контролер Animator до поля Controller компонента Animator.

Налаштування контролера Animator

  • Двічі клацніть щойно створений ресурс Animator Controller, щоб відкрити його у вікні Animator.
  • У вікні Animator є графік Animator Controller, який представляє потік анімацій.
  • Клацніть правою кнопкою миші у вікні аніматора та виберіть 'Create State -> From New Clip' або 'From Sprite Renderer', щоб створити стани анімації.
  • Перетягніть попередньо створені кліпи анімації у вікні анімації у відповідні стани анімації.
  • Створюйте переходи між станами анімації, натискаючи на стан і перетягуючи стрілку в інший стан. Можна налаштувати умови для переходу, такі як час, значення параметрів або події.
  • Можна додавати параметри для керування переходами, наприклад логічні значення, int або тригери. Наприклад, може існувати логічний параметр із назвою "IsRunning", який ініціює перехід із стану очікування анімації до стану роботи анімації.

Відтворення анімацій

  • Виберіть об’єкт спрайту у вікні «Сцена» або «Ієрархія».
  • У компоненті Animator у вікні Inspector перетягніть створений ресурс Animator Controller у поле Controller.
  • Натисніть кнопку Відтворити у вікні анімації, щоб перевірити та переглянути анімацію.

Програмне керування анімацією

  • Для програмного керування анімаціями потрібен доступ до компонента Animator із сценарію.
  • У сценарії створіть змінну типу Animator і використовуйте 'GetComponent<Animator>()', щоб отримати посилання на компонент Animator, приєднаний до об’єкта спрайту.
  • Потім можна використовувати функції та властивості аніматора для запуску переходів, встановлення значень параметрів або керування відтворенням анімацій. Наприклад, виклик animator.SetBool("IsRunning", true) запустить запущену анімацію.
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;
    }
}

Висновок

Це базовий огляд створення 2D-анімації в Unity за допомогою вбудованих інструментів. Unity також підтримує більш просунуті методи, як-от використання таблиць спрайтів, інверсну кінематику (IK) і сценарії власної поведінки анімації. Вивчіть ці варіанти на основі конкретних вимог і складності відповідної анімації.

Рекомендовані статті
Створення гри на тему Poppy Playtime в Unity
Створення мобільної гри жахів в Unity
Створення гри Ludo в Unity
Створення шутера зверху вниз в Unity
Створення простої платформерної гри в Unity
Створення гри Screamer в Unity
Відкриваємо шлях до безмежної творчості з Unity