Unity Mecanim Cara Memutar Animasi saat Tombol Ditekan

Mecanim adalah alat berbasis negara untuk Unity yang memberi pengembang kontrol animasi tingkat lanjut dan editor kaya fitur.

Fitur unggulan Mecanim adalah pencampuran animasi dan penargetan ulang animasi.

Pencampuran animasi adalah proses otomatis untuk membuat transisi yang mulus antar animasi.

Penargetan ulang animasi adalah proses menggunakan kembali animasi yang sudah ada agar berfungsi di antara beberapa rig karakter, sehingga menghilangkan kebutuhan untuk membuat animasi baru untuk setiap karakter baru.

Dalam tutorial ini, saya akan menunjukkan cara Menganimasikan Kubus dan memainkan Animasi saat Tombol ditekan dengan Mecanim.

Langkah

Untuk menganimasikan Kubus di Unity, ikuti langkah-langkah di bawah ini:

  • Buat Kubus baru (GameObject -> Objek 3D -> Kubus)

  • Pilih Cube lalu buka jendela Animation (Window -> Animation -> Animation)
  • Di jendela Animasi klik "Create", yang akan membuat animasi baru, Pengontrol Animator baru, dan akan melampirkan komponen Animator ke Kubus.
  • Beri nama animasi baru "SpinAnimation"

  • Di Jendela Animasi Klik AddProperty -> Transform -> Rotation
  • Animasi ini akan memiliki 2 frame, mulai dan selesai.
  • Untuk frame pertama, kita atur rotasinya ke (0, 0, 0)

  • Untuk frame terakhir, kita atur rotasi ke (0, 360, 0)

Animasi sudah siap.

Tip: Untuk membuat lebih banyak animasi, cukup klik nama animasi di jendela Animasi lalu klik "Create new Clip...".

Untuk mengatur Pengontrol Animator Mecanim, ikuti langkah-langkah di bawah ini:

  • Klik dua kali pada aset Animator Controller yang dibuat dengan animasi

  • Jendela baru berjudul "Animator" akan muncul, yang akan terlihat seperti ini:

  • Anda akan melihat ada panah yang menunjuk dari "Entry" ke "SpinAnimation", yang berarti animasi akan diputar segera setelah Scene dimulai, tapi bukan itu yang kami inginkan, kami hanya ingin memutar animasi saat tombol ditekan.

Karena Mecanim memerlukan animasi entri, yang bisa kita lakukan adalah membuat status Kosong baru dan menjadikannya Entri:

  • Klik kanan pada jendela Animator -> Buat Status -> Kosong:

  • Pilih Entry state -> Klik kanan padanya -> Set StateMachine Default State, lalu arahkan ke "New State":

Hal terakhir yang harus dilakukan adalah melakukan transisi ke SpinAnimation, namun kami hanya ingin melakukan transisi setelah kondisi spesifik terpenuhi, saat itulah Tab Parameter muncul:

  • Klik tab Parameter di jendela Animator lalu klik simbol (+):

Anda akan melihat ada beberapa jenis yang tersedia, tetapi untuk saat ini, kami akan memilih Trigger, mirip dengan bool tetapi tidak seperti bool, secara otomatis disetel ke false setelah animasi selesai, berguna untuk animasi satu jepretan:

  • Beri nama parameternya "spinTrigger"

  • Terakhir pilih "Any State" -> Klik Kanan -> Make Transition, lalu arahkan ke SpinAnimation:

  • Klik pada panah transisi dan dalam Tampilan Inspektur di bawah Kondisi klik (+) dan pastikan parameter spinTrigger dipilih

  • Secara default, animasi yang dibuat dengan Unity mengaktifkan loop, tetapi karena kita hanya ingin memutar Animasi satu kali, yang perlu kita lakukan adalah memilih Klip Animasi di tampilan Proyek, lalu hapus centang pada kotak Waktu Loop:

Untuk dapat mengontrol parameter Mecanim dari skrip, kita perlu menggunakan fungsi khusus, periksa kode di bawah ini:

  • Buat skrip baru, beri nama "AnimationTest", hapus semuanya lalu tempelkan kode di bawah ini ke dalamnya:

Tes Animasi.cs

using UnityEngine;

public class AnimationTest : MonoBehaviour
{

    Animator animator;

    // Start is called before the first frame update
    void Start()
    {
        //Get Animator component
        animator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        //Play spin animation on key press
        if (Input.GetKeyDown(KeyCode.Q))
        {
            animator.SetTrigger("spinTrigger");
        }
    }
}
  • Lampirkan skrip AnimationTest.cs ke Cube dengan komponen Animator:

Sekarang mari kita mengujinya:

Sharp Coder Pemutar video

Semuanya berfungsi seperti yang diharapkan, menekan Q akan memutar animasi.

Artikel yang Disarankan
Membangun Sistem Menu Interaktif di Unity
Cara Mengimpor Animasi ke Unity
Unity Cinemachine dan Tutorial Timeline
Cara Melukis Pohon di Medan dengan Unity
Tutorial Gamepad untuk Persatuan
Generasi Dunia Prosedural dalam Persatuan
API Skrip Persatuan dan Unity Pro