
Efek wow dalam gim dapat dicapai tidak hanya oleh mekanik yang tidak terduga atau plotter, tetapi juga oleh animasi - dalam proyek seluler, yang terakhir sering kali memiliki penekanan khusus. Karena itu, saya memutuskan untuk membagikan terjemahan materi yang menarik di Unity Animator. Inside - tentang prioritas transisi animasi dan pergantian kompeten antar negara.
Mekanisme interupsi dalam Unity Animator hampir tidak sebanding dengan tutorial dan dokumentasi, sehingga banyak yang berhenti mempelajarinya. Hanya dengan pengalaman saya mengerti pola dan tanda apa yang ada untuk menggunakan interupsi.
Artikel ini dibagi menjadi tiga bagian:
- Pada bagian pertama saya akan memberi tahu Anda apa interupsi, jenis apa yang ada dan cara terbaik untuk menggunakannya.
- Yang kedua adalah tentang tanda-tanda yang menunjukkan perlunya gangguan. Lihatlah Animator dan lihat bagaimana Anda dapat mengganti transisi yang tidak perlu.
- Yang ketiga, kita akan berbicara tentang bagaimana mengatur pekerjaan di Animator dan mencegah pertumbuhannya yang tidak terkendali. Ini terutama berlaku untuk tim besar di mana beberapa orang terlibat dalam animator yang sama.

Bagian 1: apa itu "interupsi"?
Interupsi adalah fitur dari Unity Animator yang memungkinkan Anda untuk menghentikan transisi animasi dari satu negara ke negara lain untuk pindah ke negara ketiga.
Ini adalah satu-satunya cara yang memungkinkan Anda untuk melakukan perpaduan dari transisi yang tidak lengkap ke keadaan yang diinginkan. Dengan itu, Anda tidak bergantung pada perubahan tajam di negara bagian atau, lebih buruk lagi, pada transisi Negara Bagian. Saya akan jelaskan lebih detail nanti.
Ada beberapa tipe dasar gangguan:
Keadaan saat iniJika beberapa transisi disediakan dari keadaan tertentu dan yang lain diluncurkan pada salah satunya, perpindahan akan dilakukan dari titik saat ini, seperti yang ditunjukkan dalam diagram:
Negara bagian selanjutnyaKeadaan Berikutnya bekerja sama dengan Keadaan Saat Ini. Namun di sini, Animator akan menganalisis transisi dari keadaan berikutnya, sementara transisi dari keadaan saat ini masih berlaku.
Keadaan Saat Ini Keadaan Selanjutnya (Pertama, kondisi saat ini, kemudian berikutnya)Di suatu tempat di sekitar sini, orang-orang bosan dengan teori, dan mereka kehilangan minat pada topik. Tunggu! Ini akan membawa keahlian Anda dengan Animator ke tingkat yang baru.
Setelah menguasai Status Saat Ini dan Status Selanjutnya, Anda pasti akan memahami tipe ketiga, karena kombinasi mereka. Di dalamnya, Animator akan menganalisis bingkai transisi saat ini demi bingkai dalam mencari orang lain yang dapat dilakukan dari keadaan awal. Jika tidak ditemukan, Animator akan menganalisis keadaan berikutnya untuk mencari transisi yang sesuai. Pada saat yang sama, beralih ke transisi baru dalam proses mengeksekusi yang sebelumnya, Animator akan berperilaku persis seperti pada contoh di atas.
Keadaan Selanjutnya Keadaan Saat Ini (Keadaan pertama di depan, lalu di saat ini)Semuanya seperti pada tipe ketiga, hanya urutan analisis yang akan dibalik.
Gangguan Dipesan
Untuk setiap negara, prioritas transisi (dari atas ke bawah) ditetapkan, seperti ini:

Jika sebelumnya Anda tidak tahu mengapa harus menyeret komponen dalam daftar ini - voila! Di sini Anda menentukan peringkat prioritas transisi.
Ketika Interupsi Terurut dicentang, Animator hanya akan menyela jika prioritas transisi baru lebih tinggi dari prioritas transisi yang sedang berlangsung. Dan semakin tinggi transisi berada dalam daftar ini, semakin besar prioritasnya.
Bagian 2: cara menentukan di mana harus istirahat
Ketika bekerja dengan interupsi, paling sulit untuk menentukan kapan tepatnya menggunakannya. Dan dalam beberapa situasi mereka diperlukan - seiring waktu Anda mulai menyadarinya.
Perhatikan contoh yang paling mencolok. Pola yang akrab?

Itu semua bermuara pada Any State. Benar?
Tidak.
Ini adalah tanda pertama bahwa sebagian besar transisi Anda paling baik dilakukan dengan interupsi. Transisi dari Negara Bagian mana pun memiliki hak untuk hidup dalam kasus-kasus khusus, tetapi kebanyakan orang menggunakannya ketika mereka benar-benar membutuhkan (well, Anda dapat menebaknya) interupsi.
Pola Interupsi Keadaan Saat Ini:

Seringkali, Any State dibuat hanya untuk transisi ke state kedua, ketika yang pertama sudah dimulai. Lupakan. Gunakan interupsi.
Contoh lain: kami memiliki transisi dari FirstState ke SecondState, tetapi Exit Time tidak diatur, waktu transisi adalah 0 dan suatu kondisi ditentukan. Gangguan idealnya akan menyelesaikan masalah ini. Anda tidak dapat beralih ke Negara Apa pun karena sudah terlalu sering digunakan, dan dengan menambahkannya ke SecondState, Anda mengaktifkan status yang tidak diperlukan dalam kasus ini.
Pola Interupsi Keadaan Berikutnya:
Cukup sering ada transisi dengan Exit Time dan kondisi transisi yang benar-benar gila. Atur interupsi dengan benar, dan Anda akan lebih mudah mencapai tujuan yang sama. Seperti yang Anda lihat, Setiap Negara sering ditemukan di mana interupsi diperlukan.
Ingatlah bahwa Anda dapat menambahkan beberapa transisi dari dua kondisi yang identik agar berhasil menggunakan interupsi.
Biasanya, semua pola lainnya adalah kombinasi dari contoh-contoh yang dijelaskan di atas.
Situasi khas untuk gangguan:Dalam beberapa situasi, interupsi adalah jalan keluar terbaik. Sedikit latihan di Animator, dan Anda dapat dengan mudah belajar memperhatikannya.
a) Tindakan selanjutnya harus segera memicu animasi.Ini sering terjadi di game aksi di mana ada banyak input dan Anda harus segera mengambil tindakan berikut.
Sebagai contoh, orang sering menggunakan transisi State (atau beberapa transisi dengan konfigurasi yang berbeda) untuk lancar transisi dari lompatan ganda ke brengsek.
Penting untuk memetakan semua tindakan yang mungkin, mengatur durasi acara dan menambahkannya ke status dan transisi. Dan kemudian mengatur interupsi untuk beralih dengan benar dari satu peristiwa ke peristiwa lainnya.
b) Animasi telah dimulai, tetapi situasinya telah berubah, dan kita perlu beralih ke urutan animasi yang berbeda.Ini sering terjadi dengan Animator UI, di mana Anda dapat melewati beberapa item menu, dan submenu dapat ditampilkan di atas segalanya.
Orang sering menambahkan beberapa Animator ke objek yang sama, dan mengatur kondisi nyala / mati untuk melewati satu animasi dan memulai yang lain. Ini adalah contoh lain di mana interupsi layak digunakan.
c) Anda harus keluar dari rantai animasi saat ini.Interupsi dapat dihubungkan satu sama lain - Anda mendapatkan urutan interupsi yang akan membawa Anda ke rantai baru. Dalam hal ini, semua negara bagian akan selesai dengan benar dan tepat waktu. Di sini Anda dapat menggunakan interupsi Next State.
Bagian 3: semua yang ada di Animator harus jelas
Bekerja dengan Animator adalah jenis seni khusus. Semakin banyak latihan, semakin jelas kemajuannya. Alur kerja yang jelas dan konsisten selalu memiliki efek positif pada hasil.
Rekomendasi untuk menghindari kebingungan di Animator:
- Gunakan Mesin Sub-Negara dan cobalah untuk menghindari transisi ke kondisi internal. Mesin Sub-Negara yang benar bekerja secara independen pada input dan output, menggunakan transisi yang mengarahkan aliran ke dalam, dan tahu apa yang harus dilakukan dengan hasilnya. Dengan cara ini Anda dapat menghindari masalah kritis saat bekerja di Animator.
- Gunakan Setiap Negara sesedikit mungkin. Pikirkan apakah ini benar-benar perlu. Hubungi kolega Anda. Dan hanya jika semua orang setuju, gunakan transisi Any State.
- Jika Anda merasa bahwa Animator Anda seharusnya terlihat lebih mudah dari sekarang - bereskan. Ini adalah cara terbaik untuk mengasah keterampilan Anda.