Tutorial IMedia9.SDK #3: AIMotion - IMedia9 - Connecting Inspiration

Breaking

Friday, August 3, 2018

Tutorial IMedia9.SDK #3: AIMotion



Halo guys! Kembali lagi di tutorial IMedia9.SDK. Sebelum membahas mengenai AIMotion sangat disarankan bagi anda untuk membaca terlebih dahulu 2 tutorial sebelumnya yaitu mengenai penggunaan Mechanim3D dan Anima3D.

AIMotion adalah script AI sederhana yang bisa digunakan untuk melakukan ilusi pergerakan musuh. Anda bisa mendownloadnya di sini.



Namun sebelum menggunakan AIMotion, ada baiknya kita siapkan karakternya terlebih dahulu. Terutama animasinya.



Jika pada tutorial sebelumnya kita hanya memiliki 2 Animation State, sekarang tambah 2 Animation State lagi yaitu Attack dan Death dengan 2 parameter bertipe Trigger, masing-masing Attack dan Death juga.



Buat transisi bolak-balik dari Idle dan Run ke Attack. Untuk transisi KE Attack, hapus centang Has Exit Time dan gunakan parameter komparasi Attack.



Sedangkan untuk transisi DARI Attack, centang Has Exit Time dan kosongkan saja parameter komparasi. Karena parameter Trigger memiliki status on/off secara otomatis berdasarkan waktu tertentu (tergantung animasinya).



Lakukan hal yang sama untuk Animation Death. Khusus untuk animasi Death, JANGAN buat transisi bolak-balik kecuali anda ingin bikin game zombie.



Tes animasi anda terlebih dahulu. Caranya? Pisahkan tab Animator dan Play Unity. Klik parameter Death, dan perhatikan apakah status animasinya berpindah dan animasinya tampil secara visual. Jika berhasil, mantap. Itu tandanya anda berhasil. Jika gagal, panggil pak Eko.



Setelah menyiapkan animasinya, pasang Animator dan Character Controller.



Untuk membuat simulasi gerakan Player vs Enemy, duplikasi GameObject Kiky Si Kancil dan beri material Biru dan Merah. Biar beda.



Untuk Player (Blue Kancil) pasang script Mechanim3DKeyboard dan Anima3DKeyboard seperti pada tutorial sebelumnya.



Tes terlebih dahulu playernya. Bisa jalan nggak?



Kalau karakter utama sudah berjalan, barulah import package AIMotion.



Pasang script AIMechanim3D pada karakter Musuh (Red Kancil)



Untuk parameter Player Target Tag beri Tag yang digunakan oleh objek Player, misalnya "Player".



Itu berarti karakter Blue Kancil harus dipasang Tag Player. Apa fungsinya?

Script AIMechanim3D  adalah script AI sederhana agar objek musuh mengejar dan menyerang objek player pada jarak dan radius tertentu.



Gunakan parameter Range Settings untuk menguji seberapa efektif radius pengejaran karakter musuh. Tes dengan Unity dan perhatikan jika karakter musuh kini mengejar karakter player.

Tapi kok ngejarnya diam kayak patung? Tenang. Script yang dipasang kan baru AIMechanim3D. Fungsinya memang hanya Transformasi Posisi. Kita lanjut dulu yuk!

Tapi saya pengin ngejarnya langsung gerak animasinya. Kayak berlari gitu. Iya nanti. Itu mah pake script AIAnima3D. Untuk Transformasi Bentuk.

Tapi kan jelek kalau ngejarnya kayak gitu. Kenap... #Plak! Plak! Plak! Bletak! Bledug!

Meooong....

Ok. Mari kita lanjutkan,




Tambahkan dulu dua buah Cube. Simpan di tempat yang rada berjauhan. Ingat! Centang pilihan Collider Is Trigger.



Periksa parameter Patrol Settings. Centang Is Patrol Enabled dan pasangkan 2 Cube itu sebagai bagian dari poin awal dan akhir.



Tes Unity. Dan perhatikan jika kini karakter Red Kancil akan melakukan patroli secara otomatis di antara 2 Cube tersebut.



Tapi, jika karakter Blue Kancil mencoba mendekati, maka Red Kancil akan mencoba mengejarnya. Mantap kan?



Dan untuk melengkapi animasinya, barulah pasangkan script AIAnima3D. Sesuaikan seluruh parameternya. Cek sendiri pada gambar lah ya.



Tes sekali lagi. Dan kini, Red Kancil akan mengejar Blue Kancil jika berada pada jarak radiusnya. Cieee yang main kejar-kejaran...



No comments:

Post a Comment