Tutorial Prefab dan Rigidbody
Apa itu Prefab dan apa
itu Rigid Body
- Prefab merupakan sebuah
GameObject yang disimpan ke dalam Assets, yang nantinya bisa dimanfaatkan
menjadi GameObject kembali.
- Rigid
Body adalah
asset pada unity yang 'embeded' pada objek, sehingga objek tersebut bisa
bergerak berdasarkan lekuk-lekuk terrain/latar belakang yang kita buat.
Dalam rigid body, objek secara otomatis memiliki gaya gravitasi.
Membuat
Prefab
Buatlah project baru di
Unity
Pastikan Project yang digunakan adalah Game 3D.
Tambahkan sebuah Plane dengan cara klik menu GameObject => 3D Object => Plane lalu ganti
namanya menjadi Lantai1.
Tambahkan plane kedua, ganti namanya menjadi Lantai2 dan
atur scalenya menggunakan tombol Scale di pojok kiri atas atau masukkan
angkanya pada panel transform.
Angkat posisi Lantai2 sedikit ke atas dan atur kemiringannya sehingga mirip seperti gambar berikut.
Klik Lantai2 pada tab Hierarchy kemudian buat GameObject Child dengan
cara klik menu GameObject -> Create Empty.
Untuk memudahkan penyebutan, ganti nama Game Object Child tadi menjadi TitikJatuh.
Selanjutnya buat sebuah Sphere baru dengan cara klik menu GameObjects -> 3D Object -> Spphere dan ganti namanya menjadi mycapsule.
Tambahkan sebuah gambar pada panel Assets dengan cara klik kanan pada panel Assets -> Import New Assets (contoh : tekstur-grass-field), lalu pilih salah satu gambar yang ada di komputer Anda.
Dari panel Assets, drag gambar tersebut menggunakan mouse lalu
letakkan pada mycapsule sehingga terlihat seperti di bawah ini.
Klik mycapsule dan tambahkan RigidBody dengan cara klik menu Component => Physics => Rigidbody.
Buat sebuah Physic Material dengan cara klik Assets => Create => Physics Material dan beri nama Bounce.
Ganti parameter Bounciness menjadi 0.9 untuk menambahkan efek memantul.
Kita kembali ke GameObject mycapsule, tambahkan Material Bounce dengan cara drag dari panel Assets ke panel Sphere Collider, parameter material. Atau klik tombol kecil di kolom Material pada komponen Sphere Collider milik mycapsule
Berikutnya untuk menjadikan Prefab, drag mycapsule dari tab Hierarchy ke panel Assets.
Jika Prefab mycapsule sudah dibuat, Anda dapat menghapus GameObject mycapsule dari tab Hierarchy, karena yang akan kita gunakan adalah Prefab yang sekarang sudah ada di Assets.
Prefab adalah sebuah instansiasi dari sebuah GameObject sehingga
GameObject yang sudah pernah dibuat bisa digunakan kembali dengan cepat. Selain
itu Prefab memungkinkan GameObject digandakan menggunakan script.
Buat
Script
Buat script C# dan beri nama GandakanBola.cs lalu ubah script menjadi
seperti berikut ini
Selanjutnya pasang script tersebut di GameObject mana saja yang Anda suka (contoh :lantai 2), lalu pastikan parameter TempatJatuh dan parameter Bola diisi.
Parameter Tempat Jatuh diisi dengan GameObject TitikJatuh, sedangkan parameter Bola diisi dengan prefab mycapsule.
Jalankan Games dan klik tombol buat semangka berkali-kali. Perhatikan pula kondisi tab Hierarchy dengan seksama, semua GameObject yang terbentuk dan terterah di sana akan menghilang secara otomatis setelah 5 detik. Beginilah cara Unity membuat GameObject secara runtime sekaligus menjaga kestabilan penggunaan memori pada Komputer.
Variable TempatJatuh pada baris ke 6 akan berisi koordinat GameObject
‘muncul’. Jadi yang kita perlukan dari TitikJatuh hanyalah posisinya saja,
bukan objeknya.
Baris 11 s.d 14: Kunci dari materi ini, yaitu perintah untuk
menduplikasi objek Bola di posisi TitikJatuh (position+rotation)
Baris ke 15: perintah untuk menghancurkan GameObject 5 detik setelah diciptakan.
Baris 15
merupakan salah satu bagian terpenting, jika perintah ini tidak dibuat, maka
game akan memakan banyak memori karena terus memproduksi GameObject.
Selanjutnya, kita akan mengedit script yang kedua
Klik kanan folder “script” yang tadi telah dibuat => klik open =>
edit file tersebut seperti gambar di atas => setelah selesai di edit klik
file => klik save all.
pembahasan kode :
GetKey adalah salah satu user input yang menggunakan keyboard sebagai
media inputan, berbeda dengan inputan lain, GetKey hanya terbatas pada
tombol-tombol yang ada di papan keyboard.
KeyCode adalah perintah yang digunakan untuk untuk menentukan tombol apa
yang akan di tekan sebagai KeyCode
Sekian dan terimakasih semoga bermanfaat
Komentar
Posting Komentar