Salam sejahtera bagi kita semuaa
Dikesempatan kali ini saya akan membagikan tutorial membuat Shooting Target sederhana menggunakan unity3D yang telah diajarkan oleh dosen saya yaitu Bpk. Dolly Virgian Shaka dari Universitas Budi Luhur
Tutorial kali ini membahas kembali fungsi Instantiate(). Jika pada materi sebelumnya bola yang dibuat secara run time dibiarkan jatuh begitu saja, kali ini bola-bola tersebut akan dilemparkan menuju sebuah sasaran.
Unity dilengkapi dengan event standar untuk mendeteksi dua buah GameObject yang berbenturan, salah satunya adalah CollisionDetection.
Oke langsung saja langkah pertama ialah Buatlah project baru di Unity atau cukup scene baru saja jika masih ingin menggunakan project yang sudah digunakan dalam materi sebelumnya. Tambahkan sebuah Plane dengan cara klik menu GameObject -> 3D Obect -> Plane.
Atur posisi Plane pada komponen Transform menjadi (0,0,0). Setelah itu klik Main Camera di tab Hierarchy, kemudian ganti Positionnya menjadi (0,0,0) dan Rotationnya menjadi (0,90,0). Atur posisi main Camera menggunakan gizmo sehingga didapat tampilan kurang lebih seperti ini
Masih dengan Main Camera terpilih pada tab Hierarchy, tambahkan EmptyChild dengan cara klik menu GameObject -> Create Empty Child. Beri nama child1
Siapkan Prefab Bola yang berasal dari materi pembahasan sebelumnya. Ganti nama prefab menjadi Peluru.
Tambahkan sebuah Capsule untuk menjadi target sasaran tembak, lalu centang pilih Is Trigger pada objek tersebut.
Letakkan objek sasaran berada pada sebrang Main Camera sehingga tampak seperti berikut ini.
Buat sebuah 3D text dengan cara klik menu GameObject -> 3D Object -> 3D Text.
Ganti tulisan “Hello World” dengan “BINGOOO” lalu tempatkan 3D Text tersebut tepat di atas Capsule dengan text mengarah ke main Camera.
Gunakan gizmo untuk dapat melakukannya
Berikutnya buatlah script C# dan beri nama ShootingTarget.cs lalu ubah code menjadi seperti ini:
Pasang script ShootingTarget.cs pada GameObject Main Camera dan isilah parameter posisiTembak dengan EmptyGameObject yang menjadi Child Main Camera dan parameter Bola dengan prefab peluru
Sampai tahap ini, jika Game dijalankan, sebuah bola akan meluncur dari kamera setiap kali tombol spasi ditekan.
Tahap berikutnya adalah, akan dibuat skema, ketika bola mengenai target alias capsule tadi kita akan memberi keterangan pada 3D Text dan hitung score hasil tepat sasaran. Buatlah sebuah script C# kembali dan beri nama Target.cs
Deklarasikan beberapa buah variable dan modifikasi method Start().
method Sembunyikan() pada baris 19 untuk menyembunyikan 3D Text dan method OnTriggerEnter() pada baris 23 untuk menangani Collision.
Pasang script Target.cs pada GameObject Capsule, kemudian isilah parameter text3d dengan GameObject 3D Text dan parameter pesan dengan teks sesuai keinginan Anda untuk pesan saat target terkena peluru.
Lalu selanjutnya beri tag pada prefab Peluru yang sudah kita buat dengan tag "Bola" Karena kita menggunakan tag tersebut pada script Target.cs yang sudah kita buat tadi pada baris 24.
Selanjutnya jalankan games dan cobalah menembak capsule yang ada di tengah.
Bisa dilihat perbedaannya, saat peluru mengenai target maka akan muncul 3d text sesuai dengan parameter yang kita isi tadi. Dan score bertambah sesuai berapa banyaknya peluru mengenai kapsul (target)
Jika kita tadi melihat peluru keluar dari Main Camera, maka kali ini kita akan membuat posisi tembak yang baru dengan menggunakan game object cube.
Pertama buat game object Cube lalu tambahkan game object child dengan nama child 2pada cube tersebut
Pasang script ShootingTarget.cs pada cube tersebut, lalu isi parameter posisi tembak dengan child2 dan peluru pada parameter Bola.
Agar bisa menembak peluru menggunakan klik Mouse kita edit kembali Script ShootingTarget.cs dengan menambahkan method OnGUI dengan script berikut ini
Lalu jalankan game tersebut dan hasilnya akan seperti ini
Sekian tutorial saya kali ini, mohon koreksi nya jika banyak kesalahan. Terimakasih
No comments:
Post a Comment