Saya telah bekerja sedikit dengan Mecanim di Unity, dan merasa saya memiliki pemahaman yang cukup baik tentang cara kerjanya.
Seperti yang Anda katakan, pohon campuran hampir pasti cara untuk melakukan penggerak. Blend-tree umumnya untuk saat Anda ingin terus - menerus memadukan animasi untuk membuat hasil akhir. Seperti memberi pemain kendali seberapa cepat avatar berjalan.
Semua tindakan tunggal cenderung lebih baik untuk disimpan sebagai kondisi individual, yang dapat Anda transisikan. Bergantung pada seberapa intens permainan Anda, Anda bahkan dapat mempertimbangkan menggunakan Negara Apa pun sebagai titik keberangkatan untuk dengan cepat pergi untuk melompat, menyerang dll, tanpa harus menunggu animasi lain selesai.
Kunci untuk memadukan pohon campuran dengan running adalah menggunakan transisi . Tidak ada keajaiban untuk membuat ini tampak hebat, hanya perencanaan yang cermat, dan mengutak-atik saat melihat pratinjau transisi di Unity. Banyak pekerjaan bergantung pada animator karena memiliki fondasi untuk transisi yang sukses.
Sesuatu yang perlu diingat ketika melakukan transisi adalah menemukan keseimbangan dari mereka tampak hebat, dan memberi pemain umpan balik yang diharapkan. Anda mungkin menemukan bahwa transisi cepat berfungsi paling baik untuk permainan-merasakan, sementara transisi yang lebih lambat mungkin terlihat lebih baik tetapi membuat pemain Anda ingin membuang controller.
Di bawah ini adalah pengaturan yang agak sederhana, di mana panah menunjukkan bagaimana transisi. Transisi didasarkan pada kondisi untuk masuk, dan keluar ketika animasi selesai atau kondisi tertentu terpenuhi. Ini juga berarti bahwa satu negara dapat pergi ke berbagai negara lain tergantung pada kondisi yang berbeda.
Apa yang mungkin Anda perhatikan adalah bahwa ini dengan cepat dapat menjadi tumpukan "spageti", dan cara untuk menghindari beberapa kekacauan ini adalah dengan memanfaatkan Negara Apa pun yang juga termasuk dalam gambar di atas.
The Setiap negara memiliki manfaat untuk dapat transisi ke apa pun dari waktu tertentu. Transisi masih dapat digunakan untuk memadukan animasi, namun, Anda bekerja sedikit lebih dalam kegelapan seperti bagaimana tampilannya. Dimungkinkan untuk melakukan pratinjau dari / ke berbagai negara saat mengaturnya.
Sesuatu yang tidak Anda sebutkan adalah Layers , yang bisa sangat berguna untuk membuat karakter Anda terluka atau untuk menimpa tubuh bagian atas untuk membawa senjata yang berbeda sambil menggunakan animasi yang sama untuk kaki untuk semua senjata. Lapisan juga dicampur dan dapat disesuaikan secara bertahap, sehingga karakter bisa lebih atau kurang terluka, misalnya. Contoh lain adalah mengangkat lengan karakter di udara (jika karakter menyerah atau sesuatu), sambil menjaga semua animasi lainnya tetap sama.
Tetapi pengaturan pengendali animasi yang solid bukanlah pekerjaan 1 jam. Dibutuhkan perencanaan dan saya hanya bisa mendorong Anda mencoba menyiapkan mesin negara sederhana dengan dua serangan, lompatan, idle dan berjalan-lari pohon campuran. Anda juga dapat menemukan Perilaku yang diperkenalkan di Unity 5 sangat berguna untuk mengendalikan atau berinteraksi dengan skrip.
Saya 99% yakin bahwa AI akan berperilaku dengan cara yang sama seperti pengontrol pemain, mengingat bahwa itu adalah parameter yang diubah melalui skrip yang mengontrol bagaimana animasi berjalan dari satu negara ke negara.
Ringkasan
- Blend-tree untuk penggerak.
- Status untuk tindakan tunggal, yang didefinisikan atau status looping sederhana.
- Sub-negara bagian untuk mengatur serangkaian negara bagian, seperti lompatan.
- Transisi untuk blending / transisi antara negara yang berbeda (negara juga bisa menjadi pohon campuran).
- Layers untuk mengganti atau menambah animasi dasar.
Jadi pikirkan pohon campuran sebagai status diperluas, yang juga bertindak berdasarkan nilai parameter.
Sedikit mengoceh panjang, tapi saya harap itu menyinari subjek :)