Karakter dan Animasi Pada Unity3D

Hallo Semuanya kali ini saya akan memberikan tutorial membuat animasi dan karakter pada unity3D yah. Yuk langsung aja kita praktik :D

Yang pertama kali harus kamu lakukan adalah mendownload beberapa asset dibawah ini lalu import kedalam projek kalian:

https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2018-4-32351

https://drive.google.com/drive/folders/15pXvolk0R_2gpEuS_gK-2xAG-qD4LzjV?usp=sharing

Buat sebuah terrain lalu beri texture rumput lalu import FreeLookCameraRig yang berada pada standard asset dan hapus MainCamera


Hal terpenting yang perlu diketahui adalah, Unity bukanlah software untuk membuat karakter 3D. Kita harus membuat karakter tersebut menggunakan software grafis seperti Blender atau 3D Max. Adapun karakter yang akan kita pelajari pada materi kali ini adalah karakter Kiky Si Kancil yang diambil dari buku Unity Tutorial Game Engine karya Rickman Roedavan. Karakter Kiky Si Kancil dibuat menggunakan Software Blender.

Agar karakter yang dibuat pada software grafis tersebut dapat digunakan dengan baik pada Unity, maka karakter harus sudah dilengkapi dengan tekstur yang diproyeksikan menggunakan UV. model dan tekstur tersebut harus diimpor ke dalam Unity.
Selain itu, karakter yang akan diimpor ke dalam unity juga harus disertakan dengan animasinya. Setiap software grafis memiliki mekanisme yang hampir mirip dalam pengendalian animasi. 

Setiap animasi diatur ke dalam beberapa frame dan masing-masing dapat diberikan label sesuai dengan gerakan animasinya seperti idle (diam), walk (berjalan), run (berlari) dan sebagainya.
Pastikan package Kiky Si Kancil.unitypackage sudah di-import, barulah kita bisa melanjutkan materi ini.

Buka folder Model dan pasang object UnitySiKancilX.blend pada Scene.

File *.blend adalah file Blender yang dapat dikenali oleh Unity. Jika karena suatu hal file tersebut tidak dapat dibaca, disarankan untuk menginstal software Blender terlebih dahulu. Software ini gratis.

Tambahkan texture dengan cara klik texture pada panel Assets dan tarik langsung ke mesh Kiky Si kancil.


Selanjutnya tambahkan CharacterController dengan cara klik menu Component -> Physics -> Character -> Controller.


Atur Size CharacterController sehingga meliputi seluruh tubuh Kiky Si Kancil.

Selanjutnya adalah buat sebuah Animator Controller. Caranya klik menu Assets -> Create -> Animator Controller. Kemudian beri nama KikyController

Double klik KikyController maka akan muncul tab Animator.

Pada tab Animator buatlah parameter Speed bertipe Float, Shift dan Attack bertipe Bool.

Berikutnya pada panel utama Tab Animator, buat sebuah Animation State dengan cara klik kanan, pilih menu Create State -> Empty. Animation State adalah status yang dikenali oleh Unity yang isinya mengacu pada animasi yang telah dibuat pada software grafis.

Beri nama Animation State yang pertama sebagai Idle. Warna orange menunjukkan jika status yang pertama ini merupakan animasi default yang akan dijalankan pertama kali.

Masih dengan state Idle terpilih, klik tab Inspector dan isi parameter Motion dengan animasi idle. Pastikan mengisi sebuah model dengan animasi yang memang diperuntukkan untuk objek tersebut.

Lakukan hal yang sama untuk status animasi lainnya seperti Walk, Run dan Pose. Buat Animation State dan sesuaikan pula animasi-animasi lainnya.

Langkah selanjutnya adalah membuat Transition antara Animation State yang satu dengan yang lain. misalnya, perubahan dari animasi idle ke walk. Caranya klik status idle, klik kanan dan pilih Make Transition. Drag mouse dan klik status walk sampai terbentuk panah berwarna putih.

Klik panah putih tersebut. Hapus centang Has Exit Time, dan masukkan dua buah parameter pada panel Condition. Caranya, klik tombol + kecil di ujung kanan bawah panel, lalu gunakan combobox untuk memilih variabel dan menentukan nilainya.

Contoh kondisi yang dibuat:

“Animasi Idle akan berubah menjadi animasi Walk, ketika nilai Parameter Speed > 0.1 dan Parameter Shift bernilai true”

Buat panah sebaliknya dengan cara klik Animation State Walk, klik kanan, pilih make Transition dan klik Animation State Idle. Tambahkan dua buah parameter yang isinya kebalikan dari sebelumnya sehingga kondisi yang dibuat menjadi:

“Animasi walk akan berubah menjadi animasi Idle, ketika nilai parameter Speed < 0.1 dan parameter Shift bernilai false”

Lakukan hal yang sama untuk perubahan dari status idle dan status Run dan sebaliknya. hanya saja, khusus untuk perubahan ini, cukup ubah satu parameter yaitu Speed saja.

Selanjutnya perubahan yang menarik yaitu dari status Run ke status Walk. Parameter yang diubah hanyalah parameter Shift saja. Perubahan ini bisa dibaca sebagai :

“Saat animasi run sedang aktif, jika tiba-tiba parameter Shift menjadi True, aktifkanlah animasi Walk.” Lakukan hal yang sama untuk sebaliknya

Transisi selanjutnya adalah transisi dari status Any State ke status Pose dengan perubahan parameter Attack menjadi true. Dalam hal ini, tidak peduli karakter sedang idle, Walk, atau Run, jika Parameter Attack menjadi true, animasi Pose yang akan dijalankan.

Transisi yang terakhir adalah transisi dari status Pose ke Idle dengan perubahan parameter Attack menjadi false.


Selanjutnya buatlah script C# baru dan beri nama ScriptKiky.cs dan ubah menjadi seperti berikut ini:



Kemudian klik GameObject Kiky Si Kancil. Pada tab Inspector, di panel Animator, pasang KikyController jika sebelumnya belum terpasang.

Selanjutnya pasang ScriptKiky pada GameObject Kiky Si Kancil dan atur nilai parameternya sesuai kebutuhan.

Terakhir, gunakan prefab FreeLookCameraRig dan arahkan Targetnya pada Kiky Si kancil. Kita bisa mengatur beberapa parameter yang lain sesuai kebutuhan, namun yang paling utama adalah atur parameter Colsest Distance:20 agar jarak kamera dengan Kiky tidak terlalu dekat.

Jalankan Game dan lihat hasilnya :D


Komentar