Total Tayangan Halaman

Kamis, 16 April 2020

6. Prefab | Pemrograman Permainan dengan UNITY


Prefab merupakan sebuah GameObject yang disimpan ke dalam Assets, yang nantinya bisa dimanfaatkan menjadi GameObject kembali.

Fungsi Instantiate() atau yang dalam banyak forum lebih sering disebut dengan: "Fungsi 
untuk membuat GameObject secara runtime."

Idenya game yang akan dibuat kali ini cukup sederhana yaitu membuat Prefab dari sebuah GameObject dan mendaftarkannya sebagai sebuah variable public agar dapat dibuat ulang berkali-kali oleh fungsi pemanggil. Fungsi ini merupakan salah satu fungsi yang sering digunakan dalam pembuatan game.

Buatlah project baru di Unity atau Scene baru.
Pastikan Project yang digunakan adalah Game 3D.

Tambahkan sebuah Plane dengan cara klik menu Create di jendela hierarchy > 3D Object > Plane lalu ganti namanya menjadi Lantai1.


Atur posisi Main Camera dan plane menggunakan gizmo atau panel Transform sehingga 
Kamera dapat melihat lantai dengan jelas berada di bawah.


Tambahkan plane kedua, ganti namanya menjadi Lantai2 dan atur scalenya menggunakan Scale Tool 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 Create > Create Empty Child.
Atur posisi GameObjectChild tadi menggunakan gizmo atau panel Transform sehingga 
sedikit di atas Lantai2 seperti gambar berikut.


Untuk memudahkan penyebutan, ganti nama Game Object Child tadi menjadi TitikJatuh.
Selanjutnya buat sebuah Sphere baru dengan cara klik menu GameObjects > 3D Object > Sphere dan ganti namanya menjadi MyBall. 

Arahkan MyBall ke depan Lantai2

Tambahkan sebuah gambar pada panel Assets dengan cara klik kanan pada panel Assets > Import New Assets..., lalu pilih salah satu gambar yang ada di komputer Anda atau bisa dengan cara drag & drop gambar langsung ke panel Assets.

Dari panel Assets, drag gambar tersebut menggunakan mouse lalu letakkan pada MyBall sehingga terlihat seperti di bawah ini.


Klik MyBall dan tambahkan RigidBody dengan cara klik menu Add Component di bagian Inspector > Physics > Rigidbody.

Rigidbody adalah sebuah komponen penting yang dapat membuat GameObject seolah-olah memiliki berat dan dapat dipengaruhi oleh gaya gravitasi.
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 MyBall, tambahkan Material Bounce dengan cara drag dari panel Assets ke panel Sphere Collider, parameter material.


Berikutnya untuk menjadikan Prefab, drag MyBall dari tab Hierarchy ke panel Assets.


Jika Prefab MyBall sudah dibuat, Anda dapat menghapus GameObject MyBall 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.

Setelah menghapus GameObject MyBall silahkan drag Kembali prefab yang sudah ada ke scene atau tab Hierarchy. Buatlah 5 MyBall di dalam scene.


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, lalu pastikan parameter TempatJatuh dan parameter Bola diisi.

Parameter Tempat Jatuh diisi dengan GameObject TitikJatuh, sedangkan parameter Bola diisi dengan prefab MyBall.


Jalankan Games dan klik tombol Buat Bola 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.


Kalian bisa tambahkan script dibawah agar bola bisa bertambah Ketika salah satu keyboard ditekan. Dalam kasus ini saya menggunakan tombol spasi


Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta ðŸ˜„