Cara membuat animasi 3D character di unity
Assalamu'alaikum Warahmatullahi Wabarakatuh
Kali ini saya akan memberi tutorial cara membuat animasi 3D character di unity
Silahkan disimak penjelasan nya sebagai berikut
Kali ini saya akan memberi tutorial cara membuat animasi 3D character di unity
Silahkan disimak penjelasan nya sebagai berikut
Seperti pada materi sebelumnya, kita akan
memanfaatkan beberapa Assets yang sudah tersedia dan “meramunya” menjadi
sebuah game yang menarik.
Silahkan unduh / copy Assets yang dibutuhkan dari beberapa sumber berikut:
Assets yang dibutuhkan adalah:
1. Standard-Assets.unitypackage
2. Kiky Si Kancil.unitypackage
Buatlah Project 3D baru di Unity. Import package Standard-Asset, kemudian tambahkan sebuah Terrain yang memiliki texture rumput.
Baca materi sebelumnya jika lupa bagaimana melakukan import dan membuat Terrain dengan texture rumput.
Cari
folder Characters pada Assets, pilih folder ThirdPersonCharacter, pilih
Prefabs dan masukkan prefab ThirdPersonController ke dalam Scene.
Akan
ada sesosok laki-laki berambut rancung yang seluruh kulit dan bajunya
berwarna abu-abu. Namanya adalah Ethan, ia adalah salah satu model
bawaan Unity yang texturenya memang sengaja dihilangkan.
Selanjutnya
tambahkan prefabs FreeLookCameraRig yang bisa didapatkan pada folder
Prefabs di dalam folder Cameras. Sebelumnya, hapus dulu object Main
Camera pada Hierarchy karena fungsi kamera akan kita ganti menggunakan
FreeLookCameraRig ini.
Klik prefabs FreeLookCameraRig dan pada parameter Target, drag ThirdPresonController alias karakter Ethan.
Silahkan coba jalankan game, gerakkan karakter Ethan dengan keyboard dan kamera akan secara ‘otomatis’ mengikuti dari belakang.
Ini
adalah dasar pergerakan 3D dalam Unity, bagaimana jika yang akan
digerakkan itu adalah karakter buatan sendiri? itu yang akan kita bahas
selanjutnya.
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.
Mulai
Unity 4.0 disarankan untuk menggunakan CharacterController dan
menghindari Rigidbody untuk pengendalian karakter yang ‘rumit’.
Atur Size CharacterController sehingga meliputi seluruh tubuh Kiky Si Kancil.
Untuk
membuat karakter yang diimpor bisa digerakkan oleh Unity, kita harus
memastikan bahwa karakter tersebut memang memiliki animasi dan dapat
dikenali oleh Unity. Caranya cukup mudah, di panel Assets, klik file
UnitySikancilX.blender dan perhatikan tab inspector.
Pada
panel Clips dapat dilihat bahwa objek Kiky Si Kancil memiliki beberapa
jenis animasi seperti idle, run, walk dan poselib. untuk sementara
animasi standar tersebut sudah cukup. Hanya saja perlu diperhatikan
bahwa untuk beberapa animasi yang bersifat loop (frame awal dan akhir
sama), pilihan Loop Time harus dicentang. Jika tidak maka animasi hanya
akan berjalan selama total frame dan tidak kembali lagi, jalan hanya
satu langkah akan berhenti.
Selanjutnya
adalah buat sebuah Animator Controller. Caranya klik menu Assets ->
Create -> Animator Controller. Kemudian beri nama KikyController
(Jika namanya bentrok dengan Animator Controller yang sudah ada dalam
package, silahkan sesuaikan saja).
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.
Sekian tutorial dari saya, semoga bermanfaat :)
Jika kalian ingin mengetahui lebih banyak tentang pembuatan game kalian bisa daftar di Universitas Budi Luhur
Wassalamu'alaikum Warahmatullahi Wabarakatuh.
Jika kalian ingin mengetahui lebih banyak tentang pembuatan game kalian bisa daftar di Universitas Budi Luhur
Wassalamu'alaikum Warahmatullahi Wabarakatuh.
Komentar
Posting Komentar