Salam sejahtera..
Pada kali ini, penulis akan menerangkan tutorial pembuatan Grafik dan contoh collision pada Unity 3D, sebagai lanjutan yang dua minggu kemarin yang membahas instalasi Unity dan pembuatan objek sederhana. Disini tidak hanya diterangkan tentang cara pembuatan scene yang menarik, tapi juga membuat objek yang dapat bergerak dan menghasilkan benturan yang biasa disebut Collision. Pergerakan objek ini dipengaruhi oleh script C#. Pada project ini, penulis memberi contoh berupa lapangan basket dengan bola sebagai objek bergeraknya. Berikut adalah langkah-langkahnya:
- Buka aplikasi dan buat project baru. Disini penulis menamainya Grafik.
- Dan aplikasi Unity 3D akan terbuka seperti di bawah ini.
- Beri GameObject berupa Terrain sebagai latar utama. Caranya klik tab GameObject -> sorot 3D Object -> klik Terrain. Maka akan muncul latar putih raksasa pada scene.
- Import Terrain Asset ke dalam project dengan mengopy folder Terrain Assets ke dalam folder Assets pada project ini. Terrain Assets ini bisa didapatkan di Assets Store.
- Buat penampakan gunung dengan cara seperti postingan yang lalu, yaitu klik properties Terrain di sebelah kanan, pilih tombol untuk membuat efek timbul dan pilih lingkaran yang besar. lalu klik berulang kali pada Terrain agar tampak seperti pegunungan kecil.
- Beri latar rumput pada Terrain. Caranya klik tombol Edit Texture di Point Texture pada Inspector Terrain di sebelah kanan scene.
- Akan muncul jendela baru seperti di bawah ini. Klik Select pada Albedo atau Normal untuk memasukkan Texture ke dalam Terrain.
- Pilih Texture yang Anda inginkan, lalu double klik pada texture tersebut. Lalu akan kembali ke jendela diatas. Klik Add untuk menerapkaTexture keTerrain.
- Sekarang waktunya memberi lapangan Bola Basket. Caranya Klik tab GameObject -> sorot 3D Object -> klik Plane. Maka akan muncul latar putih yang lebih kecil dari Terrain. Besarkan Plane sesuai kebutuhan dan letakkan diatas Terrain agar terlihat.
- Lalu untuk menyatukan Plane dan Terrain menjadi satu object, seret Plane di list ke dalam Terrain di list.
- Import gambar lapangan basket di project dengan cara klik kanan pada project -> klik Import New Assets -> pilih gambar lapangan bola basket -> klik Import. Setelah itu seret gambar tersebut ke Plane yang ada di list GameObject sebelah kiri. Dan akhirnya, Plane pun berubah menjadi Lapangan bola basket.
- Karena Lapangan terlihat aneh, tarik sumbu y pada Lapangan bola ke atas agar lapangan terlihat sepenuhnya.
- Akhirnya Terrain penuh dengan warna hijau, seperti rerumputan. Lalu beri pohon agar terlihat menarik. Caranya Klik tombol Place Trees pada Inspector Terrain -> klik Edit Trees -> Add Tree.
- Setelah itu akan muncul jendela Add Tree seperti di bawah ini. Klik lingkaran kecil di samping Tree Prefab untuk browse Tree.
- Pilih Tree sesuai kebutuhan Anda dengan double klik. Lalu klik add pada jendela Add Tree.
- Klik pada area di Terrain yang ingin anda beri pohon. Biasanya kursor akan berubah menjadi lingkarang biru saat akan memasukkan pohon ke dalam scene.
- Inilah hasil pohon yang dimasukkan tadi.
- Anda dapat menambah jenis pohon lain dengan cara yang tadi. Selain itu, jumlah pohon yang masuk ke Terrain dapat diatur di Place Mass Tree di Inspector Terrain. Inilah hasil Terrain yang telah dipenuhi berbagai pohon, perbukitan, dan lapangan bola basket.
- Lalu membuat pagar pembatas lapangan. Klik tab GameObject -> sorot 3D Object -> klik cube. Sesuaikan ukuran dan posisi cube agar menjadi kotak panjang di sekitar lapangan.
- Buat hingga mengelilingi lapangan. Pagar inilah yang akan dijadikan object Collision atau benturan.
- Setelah itu, importlah gambar pagar besi yang berformat png ke dalam project. Caranya mirip dengan Import New Asstes diatas. Lalu seret gambar pagar besi ke cube di list yang namanya telah penulis ganti jadi pagar. Sekarang Cube berubah menjadi pagar besi dengan lubang hitam.
- Untuk mengubah lubang hitam itu menjadi lubang transparan, klik pagar tersebut lalu klik combo box pada Rendering Mode pada Inspector dan pilih transparent. Akhirnya pagar besi itu terlihat jaring-jaring besi biasa pada umumnya. Lakukan lagi pada pagar besi yang lain.
- Inilah hasil ketika semua pagar besi di-transparan.
- Sekarang buat bola sebagai object collision yang bergerak atau yang akan berbenturan dengan pagar besi. Caranya klik tab GameObject -> sorot 3D Object -> klik Sphere.
- Posisikan bola diatas lapangan bola basket dan atur ukurannya agar terlihat sesuai.
- Beri tekstur bola basket pada object sphere atau bola tersebut. Import terlebih dahulu gambar bolanya.
- Seret gambar bola basket ke object sphere atau bola di list. Akhirnya object itu pun terbungkus tekstur bola basket. Lalu buatlah folder "scripts" sebagai wadah script code untuk pergerakan bola basket.
- Klik kanan pada project -> klik create -> klik c# script. Beri nama bolabasket. Script tersebut tersebut tersimpan dalam format .cs .
- Double klik script bolabasket.cs tersebut untuk membuka monodevelop dan membuat kode didalamnya atau dapat dibuka melalui notepad++. Lalu isikan kode berikut.
Keterangan :
velocity = kecepatan objek bergerak, dideklarasi dan inisialisasi di luar method sehingga dapat diakses method apapun pada class tersebut.
void update = method yang berisi pergerakan bola.
Input.GetKey(KeyCode.UpArrow) => berisi inputan user berupa tombol Up Arrow atau panah ke atas. Jika user menekan ini, bola akan bergerak mundur atau ke atas bila dilihat dari monitor.
Input.GetKey(KeyCode.DownArrow) => berisi inputan user berupa tombol Down Arrow atau panah ke bawah. Jika user menekan ini, bola akan bergerak maju atau ke bawah bila dilihat dari monitor.
Input.GetKey(KeyCode.RightArrow) => berisi inputan user berupa tombol Right Arrow atau panah ke kanan. Jika user menekan ini, bola akan bergerak ke kanan.
Input.GetKey(KeyCode.LeftArrow) => berisi inputan user berupa tombol Left Arrow atau panah ke kiri. Jika user menekan ini, bola akan bergerak ke kiri.
OnCollisionEnter = saat bola akan menabrak, tapi belum menyentuh pagar besi.
OnCollisionExit = saat bola sudah menabrak pagar besi dan memantul keluar. - Seret kode script tersebut ke objek sphere atau bola di list agar bola dapat bergerak melalui inputan user.
- Lalu agar bola dapat menabrak objek pagar besi, klik objek bola pada scene. Lalu klik add component di inspector sphere. Pilih Physic. Pilih Rigidbody. Objek bola sekarang dapat berbenturan dengan pagar besi yang menghalanginya.
- Dan akhirnya selesai dan siap untuk ditest.
Testing :