Membuat Game 3D Dengan Unity3D [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

1



KATA PENGANTAR



Alhamdulillah, segala puji bagi Allah swt ysng telah memberikan kelancaran di dalam pembuatan buku ini, dan juga tak lupa kepada segenap pihak yang telah membantu terbitnya buku ini, mulai dari proses editing, processing, dan publishing. Buku ini diperuntukkan untuk segala umur, baik itu untuk anakanak, remaja, maupun orang dewasa, dikarenakan buku ini membahas mengenai pembuatan Game 3d yang mana Game 3d sangat digemari sekali dimasyarakat sekarang ini, seperti halnya game “Devil May Cry”, “Final Fantasy” dan yang lainnya yang menggunakan basis 3d. Tujuan dari pembuatan buku ini yaitu untuk menambah pengetahuan mengenai dunia game terutama game 3d, game 2d dengan game 3d itu sungguh berbeda dari proses input character dan proses pemberian scriptnya sungguh berbeda, dan cenderung lebih komplex game 3d karena membutuhkan Graphic yang besar, dan untuk Komputer harus memiliki VGA yang cukup yaitu minimal 2Gb karena jika kurang dari itu akan mengakibatkan lambatnya proses eksekusi program saat dicompile, dan juga dapat berakibat Hank-nya computer/laptop. Maka VGA itu sungguh sangat penting. Segala kritik dan saran dari pembaca semua sangat kami harapkan untuk proses evaluasi yang lebih lanjut pada buku ini, maka dari itu mohon partisipasinya dengan mengirimkan komentar ke alamat E-mail berikut ini: [email protected] Author (Yanuar Mukhammad) 2



DAFTAR ISI



1. Pengenalan Unity 3d............................................................................4 2. Proses instalasi Software...............................................................12 3. Pengenalan mengenai Script.............................................................15 4. Pembuatan Character dan Scriptnya...............................................24 5. Pembuatan Script tembakan............................................................38 6. Pembuatan Object musuh................................................................47 7. Pembuatan Script Arah hadapan musuh.........................................51 8. Pembuatan Script Tembakan Musuh...............................................55 9. Pembuatan Explode Tembakan.......................................................61 10. Pembuatan Script Destroy Object Musuh..................................64 11. Pembuatan Terrain..........................................................................65 12. Menginputkan Background Langit...................................................78 13. Pembuatan Timer pada game.........................................................82 14. Pembuatan GoTo Next Level jika berada di suatu posisi........91 15. Membuat Animasi...........................................................................97 16. Pembuatan Main Menu....................................................................104 17. Pembuatan HealthBar.................................................................119 18. About Author...............................................................................127 19. Daftar Pustaka.............................................................................128



3



1. Pengenalan Unity 3D Unity 3D adalah sebuah software yang digunakan untuk beberapa macam hal, seperti untuk membuat game 3D maupun object animasi. Unity 3D memiliki dua jenis type, ada yang menggunakan licensi freeware dan ada juga yang berbayar, jadi para pemabaca yan ingin menggunakan software tersebut tidak usah khawatir, karena dapat menggunakan software yang freeware atau tidak berabayar, namun fitur yang disediakan jelas berbeda terutama komponen standart asset



yang ada, jika yang berbayar maka terdapat



komponen complete, terdapat komponen Shooter, komponen Pohon yang lengkap dan terdapat object tambahan seperti pesawat, batu, dan lain-lain. Jadi pada Unity 3D terdapat dua jenis permainan game yang dapat dibuat, bagi para game development yang menyukai Script atau bahasa pemprograman, maka dapat menggunakan script sebagai controller objectnya, atau kalau itu kesulitan dengan bahasa Sciptnya maka di Unity 3D terdapat suatu bantuan bagi para Game Development yang tidak menyukai script, bisa menggunakan fiturfitur pada Standart Asset yang ada, tapi jika ingin tanpa Script maka haruslah memiliki Softwar Unity 3D yang berbayar, artinya pada Software yang freeware hanya disediakan beberapa standart asset yang utama, tanpa ada component tambahan, namun pada Unity 3D yang berbayar terdapat component yang complete sehingga dapat langsung inputkan ke layar kerja tanpa harus membuat Scriptnya, karena Scriptnya sudah ada di form tersendiri, jadi tinggal masukkan ke object terkait maka akan jadilah sebuah perintah. Namun disini penulis menerangkan bagaimana cara membuat sebuah game 3D dengan menggunakan Script karena dengan mengolah 4



Script kita bisa membuat berbagai macam perintah pada object yang diinginkan, dan juga dengan script kita bisa berada didunia pemprograman yang unik dan menarik, para 3D Game Maker pasti lebih menyukai dengan bahasa pemprograman dari pada hanya melakukan input object ke layar, maka dari itu untuk lebih menarik dan



menantang



penulis



memilih



menggunakan



script



sebagai



controllernya Karena dirasa lebih sulit dari hanya sekedar melakukan input script kedalam object. Untuk mengenal lebih jauh tentang Unity 3D maka akan dijelaskan bagian per bagian yang ada di Unity 3D, berikut adalah tampilan layar kerja dari Unity 3D.



Untuk lebih jelasnya akan dibahas mendetail mengenai fiturfitur dan apa saja yang ada pada Unity 3D, yang mengenai layar kerja, layar kamera dan tempat untuk melakukan pembuatan script yang akan digunakan untuk controller object. 5



1. Formating Tools



Menu File -Untuk membuat File Unity baru -Untuk membuka File Unity -Untuk menyimpan File Unity -Untuk menyimpan File Unity dengan nama -Untuk membuat Project baru -Untuk membuka Project -Untuk menyimpan Project -Untuk menyatukan Scene yang ada -Untuk menyatukan Scene dan compile -Untuk keluar dari Program Menu Edit -Untuk kembali ke keadaan sebelumnya -Untuk kembali ke keadaan setelahnya -Untuk memotong object -Untuk meng-Copy object -Untuk mem-paste object -Untuk melakukan duplikat object -Untuk menghilangkan object -Untuk memilih Frame -Untuk menemukan object -Untuk memilih semua object -Untuk men-setting layar -Untuk menjalankan object - Untuk men-stop permainan



-Untuk Melakukan identifikasi Tags -Untuk men-setting Render



6



Menu Asset -Untuk mengimport Asset ulang -Untuk membuat Script, Prefab, dll



-Untuk melakukan import Asset -Me-referesh -Untuk mengimport Package -Untuk mengexport Package



-Untuk melakukan penyatuan Project dgn Script Menu GameObject -Membuat Empty Object -Untuk membuat object dan GUI



Menu Component -Untuk membuat Mesh -Untuk membuat Partile object -Untuk menambahkan komponen pada object -Untuk menambahkan Audio -Untuk melakukan Rendering -Untuk melakukan input Script tanpa harus membuat -Untuk input componen tanpa harus membuat -Untuk input camera Control



7



Menu Terrain -Untuk membuat Background Tanah



-Untuk melakukan Settingan Resolusi Terrain



Menu Window -



-Untuk membuat animasi Object



Itu semua adalah komponen yang ada didalam Formatting Tools yang mana sangat penting sekali didalam proses pembuatan suatu game, yang memerlukan banyak proses editting dan setting, maka dari itu perlunya untuk mengetahui masing-masing fungsi tersebut. Dan yang telah dijabarkan diatas adalah fungsi-fungsi umum yang biasa digunakan didalam proses Editting Game, untuk menu yang tidak di jelaskan diatas hanyalah faktor pendukung, jadi jika penasaran dengan fungsi menu yang tidak dijelaskan diatas, maka dapat menemukannya sendiri dengan cara melakukan identifikasi dengan mengklik pada menu tersebut. 8



1



2



3 4



1. Untuk memindahkan posisi camera / sudut pandang 2. Untuk memindahkan object ke tempat lain 3. Untuk melakukan rotasi object 4. Untuk melakukan Resize pada object



1



2



3



4



5



6



7



1. Untuk melihat layar editor 2. Untuk mengubah tampilan layar 3. Untuk mengubah warna dan pencahayaan layar 4. Untuk melihat hasil dari layar editor 5. Untuk mengaktifkan Point Light / pencahayaan 6. Untuk mengaktifkan backround 7. Untuk mengaktifkan Audio



1



2



3



9



1. Untuk melakukan input component 2. Untuk melakukan editting object dan penambahan script 3. Untuk membuat component Support yang berupa Script atau filefile pendukung object yang akan diikutsertakan saat dimainkan



1



2



1. Untuk mengaktifkan/menon-aktifkan Layers 2. Untuk mengubah posisi Layar Editor dan Layar Hasil



1



2 3



1. Untuk Menjalankan Layar Editor 2. Untuk melakukan Pause saat Running 3. Untuk melihat hasil akhir Runing



1



2 1. Layar Editor 2. Untuk menampilkan pesan error saat Running



10



1



2



1. Jendela Console akan aktif jika terdapat suatu error saat Running program, maka dari itu dapat dilihat dengan klik pada error report terkait agar didapatkan definisi error pada bagian definisi 2. Error Definition, yaitu untuk menjelaskan bagaimana error itu terjadi dan apa yang harus dilakukan oleh user untuk merepair-nya 2. Proses Instalasi Software Pada proses instalasi di sini akan diterangkan bagaimana cara melakukan instalasi software Unity 3D pada komputer/laptop, hal yang perlu diperhatikan oleh pengguna yaitu: RAM minimal 2 Gb VGA minimal 2 Gb Processor minimal pentium 4 (untuk intel) Menggunakan Microsoft windows XP , 7 atau Linux Hard Disk Space minimal 1,3 Gb



11



Pada tahap awal untuk melakukan installasi, anda dapat menggunakan software yang ada di CD ini, atau dapat pula mendownload master software Unity 3D di www.unity3d.com , Anda dapat memilih mau menggunakan yang freeware atau yang berbayar. Dan pembahasan mengenai itu telah dibahas sebelumnya. Klik



dua kali pada



pada contoh ini penulis



menggunaka Unity 3D 3.3.0 sebagai contohnya. Maka akan muncu jendela seperti



Klik tombol “Next >” untuk melanjutkan



12



Pada License Agreement, untuk menyetuji terhadap Syarat pada Unity 3D maka klik tombol “I Agree” untuk melanjutkannya kalau tidak menyetuji klik “cancel” untuk membatalkannya



Pada Choose Component maka lakukanlah “check” pada ketiga item karena



itu



merupakan



Fitur



tambahan



yang



akan



diinstall



mendampingi fitur utama



13



Pada lokasi peng-installan bisa dilakukan dimanapun yang user inginkan, baik itu di Drive C > Program Files > Unity (default) atau bisa di Drive D: dan yang lainnya, setelah itu klik “Install” untuk memulai proses Instalasi Software Unity 3D Setelah selesai proses installasi, maka buka-lah software tersebut dengan cara melakukan double klik pada “Short Cut” di desktop, dan Unity 3D akhirnya siap digunakan.



------------000000-----------



14



3. Pengenalan Mengenai Script Script



adalah



suatu bahasa



yang



digunakan



untuk



melakukan perintah pada object tertentu, atau dengan kata lain bahasa pemprogamannya Unity 3D. Perlu diketahui bahwa bahasa pemprogama dari Unity 3D adalah case sensitive, atau kalau lebih tepat sangat sensitive sekali, jadi misalnya ada suatu pernyataan perintah yang kurang titik atau koma, itu akan berakibat error, bahkan kurang definisi object terkait juga



akan



menyebabkan



error,



maka



dari



itu



harus



sangat



diperhatikan, tapi tidak usah dikhawatirkan, karena pada saat terjadi error report akan disertai juga definisi mengenai error tersebut, jadi user dapat mengetahui kesalahan atau kekurangan didalam menuliskan script tersebut. Berikut adalah cara melakukan iniput Script Java kedalam Unity 3D, namun belum dimasukkan kedalam suatu object.



Java Script 15



Langkah awal dalam pembuatan Script yaitu dengan klik kanan pada jendela “project” maka akan ditampilkan seperti gambar diatas, dimana memang banyak pilihan ada C Sharp Script, Java Script, Boo Script, GUI dst. Pada buku ini hanya berfokus kepada bahasa yang biasa digunakan didalam Unity 3D, terutama untuk membuat suatu game, yaitu dengan bahasa Java Script, namun akan ada contoh mengenai penggunaan dari C Sharp Script pada bab terkait. Bahasa java script disini memang bukanlah seperti bahasa java script yang ada untuk membuat website atau seperti bahasa java yang lainnya, dimana bahasa Java Script disini berbeda dengan bahasa java pada umumnya seperti pernggunaan bahasa Java SE, java ME dsb. Maka dari itu perlunya mengetahui bahasa java script namun tidak seperti bahasa java script pada umumnya, namun struktur dari perintahnya ada kemiripan dengan bahasa java script pada umumnya. Berikut adalah cara untuk menuliskan bahasa java script pada jendela script.



16



Untuk perbedaan antara jendela Java Script dan C Sharp Script dapat dilihat dari struktruralnya berikut: 1. Jendela pada Java Script



2. Jendela pada C Sharp Script



Untuk lebih jelas dari penggunaanya akan dijelaskan pada Bab Pembuatan Menu Item, penggunaan antara C Sharp Script dan Java



Script



memang



berbeda,



Java



Script



digunakan



untuk 17



melakukan input perintah kedalam suatu object tertentu, yang di tuangkan kedalam bahasa Java, namun pada C Sharp script yaitu bahasa yang digunakan untuk melakukan Syncronisasi terhadap object luar, jadi pada perintahnya diberikan fungsi: Using UnityEngine; Using System.Collection; Artinya C Sharp Script membutuhkan tambahan data yang ada pada UnityEngine dan System.Collection, jadi jika data dari pihak luar atau data import tersebut tidak ada atau belum Syncron maka dapat dipastikan akan terjadi kesalahan atau Error report. Itulah sekilas perbedaan antara Java Script denga C Sharp Script yang mana memang keduanya penggunaannya sungguh berbeda, maka dari itu User harus jeli dan teliti didalam menentukan media untuk menuliskan perintah, bisa itu lewat Java Scrpit atau C Sharp Script karena kedua bahasa itu yang akan sering digunakan didalam pembuatan game 3D. Untuk selanjutnya akan dijelaskan mengenai bahasa Java script yang digunaakan dan cara penggunaannya, sengaja pada buku ini tidak dijabarkan mengenai semua fungsi yang ada pada Java Script Unity 3D karena bahasa Java Script yang ada pada Unity 3D sangat banyak dengan



variasi



yang



sungguh



rumit,



jadi



pembaca



dapat



mengembangkan sendiri mengenai bahasa Java Script tersebut, yang terpenting yaitu dapat mengetahui mengenai fungsi perintah yang digunakan. Disini akan dijelaskan mengenai fungsi-fungsi umum yang biasa digunakan atau perintah-perintah umum didalam menuliskan suatu perintah yang berbasis Java Script.



18



NO



SCRIPT



DEFINISI



1



function Update()



Untuk mengeksekusi perintah yang selalu berubah sesuai kondisi



2



function OnCollisionEnter()



3



function OnTriggerEnter()



Untuk mengeksekusi perintah pada object yang akan bertabrakan atau bersentuhan dengan object lain Untuk mendeteksi benturan saat check box is trigger diaktifkan



4



function Start()



Untuk melakukan eksekusi perintah pada saat Running dijalankan



5



function OnGUI()



Untuk membuat GUI perintah eksekusinya



6



public class ObjectMenu MonoBehaviour



Itulah



beberapa



dan



perintah-



: Mendefinisikan bahwa perintah dimasukkan berupa C Sharp Script



fungsi



yang



biasa



digunakan



yang



didalam



pembuatan game 3d, yang mana masing-masing fungsi tersebut mewakili suatu perintah yang berbeda, sehingga harus mengetahui dengan betul apa yang diinginkan oleh user terhadap object tersebut, fungsi-fungsi diatas sangatlah penting dalam pembuatan suatu perintah object, dan harus mengetahui bagaimana cara penggunaan dan cara kerja fungsi-fungsi tersebut, bisa dikatakan fungsi tersebut adalah pintunya perintah, jadi jika salah memasukkan fungsi maka salah pula perintah yang diberikan. Untuk Contoh penggunaan masing-masing fungsi tersebut akan dijelaskan pada masing-masing bab terkait, karena buku ini hanya menjelaskan tentang bagaimana cara membuat game maka akan disesuaikan dengan contoh didalam pembuatan game 3D. Selain menu-menu fungsi tersebut, terdapat pula unsur-unsur lain yang harus diketahui, yaitu mengenai perintah khusus, atau bahasa yang menjadikan perintah tersebut berjalan, dalam hal ini 19



akan dijelaskan mengenai beberapa hal yang sering sekali ditemui didalam pembuatan Script java, tanpa bahasa pendukung maka fungsi-fungsi tidak dapat berjalan atau dengan kata lain kekosongan perintah. Jadi bahasa juga sangat penting sekali untuk dipahami dan dimengerti penggunaanya selain mengetahui fungsi-fungsi, karena fungsi hanyalah sebuah pintu pemberi jalan, dan yang mengisi adalah bahasa-bahasa perintah yang berbasis java.



Berikut adalah beberapa macam perintah khusus yang seting sekali digunakan didalam pembuatan game. NO SCRIPT 1 Instantiate



DEFINISI Untuk menciptakan sebuah object yang akan dieksekusi pada titik tertentu



2



Destroy()



Untuk menghapus didefinisikan



3



if()



Untuk melakukan percabangan



4



else if()



Untuk melakukan perumpamaan lain jika yang pertama bernilai salah



5



Find()



Untuk mencari dieksekusi



6



Transform



Untuk melakukan input data pada menu transform suatu object



7



Rigidbody



Untuk memberikan pada object



8



Var



Untuk mendefinisikan yang akan dieksekusi



9



static var



Untuk mendefinisikan sebuah object agar bersifat tetap (nilai tidak berubah)



10



switch()



Untuk melakukan pergantian pada perulangan yang lebih dari satu dengan menggunakan perumpamaan case



object



yang



perumpaman



object



yang



tarikan



atau



akan



gravitasi



sebuah



object



20



11



Case



Untuk melakukan perumpamaan (jika) lebih dari dua



12



guiTexture



Melakukan input data pada GUI di bagian texturnya



13



Break



Untuk memberikan waktu tenggang atau waktu henti



14



Int



Untuk mendefinisikan bahwa tersebut integer (angka)



object



15



String



Untuk mendefinisikan bahwa tersebut berupa String (kata)



object



16



AddForce



Untuk melakukan suatu perubahan terkait posisi pada suatu titik



17



LoadLevel()



Untuk memanggil unity Scene yang tersimpan di Built setting



18



GUI



Suatu text yang akan dieksekusi selama running dan letaknya tidak berubah



19



Rotation



Untuk melakukan rotation dengan titik tertentu



20



Position



Untuk mengubah posisi dengan titik koordinat tertentu



21



Forward



22



DeltaTime



Untuk melakukan perubahan posisi atau perpindahan object yang mengarah kedepan Mendefinisikan perintah time dan mengisi nilai default pada time



23



Quaternion



24



LookRotation



25



Identity



Melakukan perintah identifikasi object, bisa berupa nama, atau identitas yg lain



26



Vector3



Untuk melakukan pendefinisian posisi di suatu titik



27



Application



Untuk memanggil suatu perintah eksekusi seperti Quit, LoadLevel() dll.



Untuk mendeklarasikan bagian suatu object, atau object tertentu mengenai identitas, posisi dll Melihat perubahan posisi suatu object tertentu



21



28



Button



Untuk membuat object button



29



Box



Untuk membuat object Box



30



Rect



Untuk membuat object rectangle (kotak)



31



“...........”



Untuk memberikan menjadi output hasil



32



{}



Untuk mengelompokkan perintah yang akan dieksekusi



33



; (titik koma)



Untuk mengakhiri suatu perintah



34



: (titik dua)



Untuk memberikan sub perintah



35



//................



Untuk memasukkan sebeanyak satu kalimat



36



/*...............*/



Untuk memasukkan pernyataan lebih dari satu kalimat



37



InvokeRepeating



Untuk melakukan function tertentu



38



Function....(........)



Untuk mengaktifkan function yang telah dibuat sebelumnya



39



-= +=



40



< >



pernyataan



yang



pernyataan



perulangan



pada buatan



Melakukan pengurarang Melakukan penambahan Kurang dari Lebih dari



41



Texture2D



Untuk memberikan bertexture 2D



object



yang



42



Name



43



GameObject



Untuk mendefinisikan atau menginput sebuah nama suatu object atau object target Untuk mendefinisikan object pelaku atau object yang dikendalikan



44



Collision



Untuk mendefinisikan object yang akan berbenturan



22



45



Float



Untuk memasukan suatu nilai dengan tipe integer pada satu object



46



GetButtonDown()



Melakukan eksekusi saat tombol arrow down ditekan



47



OnMouseDown()



Melakukan eksekusi pada saat mouse mouse diturunkan



48



Debug.Log()



Untuk mengeksekusi perintah baik itu string atau fungsi variabel



49



Target.position



Untuk mendeteksi object target pada posisi tertentu



50



Enabled



51



Translate



Mengaktifkan suatu perintah jika bernilai true, jika bernilai false maka menonaktifkan perintah Untuk mendefinisikan suatu posisi target



52



Input.GetAxis



Untuk memasukkan perintah input pada keyboard



Itulah beberapa dari bahasa Java Script yang biasa digunakan didalam pembuatan game 3D, sehingga jika script tersebut dapat dipahami dengan baik dan mengetahui kinerja perintahnya dengan benar, maka dapat dengan mudah memakainya dengan disesuaikan dengan keinginan. Perlu diperhatikan mengenai sistem penulisan script di atas, ada yang menggunakan awalan huruf besar dan adapula yang menggunakan huruf kecil, lakukanlah penulisan script seperti yang tertera di atas, karena jika penulisan salah sedikit yaitu kesalahan pada awalan huruf maka akan berakibat error atau program tidak mau berjalan. Maka dari itu perlu diperhatikan mengenai penulisan awal kata, karena bahasa Java Script pada Unity 3D ini bersifat Case Sensitive.



23



4. Membuat Object Sebagai Character Pada pembahasan kali ini, akan dijelaskan mengenai bagaimana membuat suatu tokoh yang akan digunakan sebagai controller dari pihak user, yang akan melakukan langkah maju jika ditekan tombol arrow up , mundur jika ditekan arrow down dan ke kanan/kiri jika ditekan arrow Right/Left. Membuat suatu tokoh karakter yang akan digunakan didalam game 3D memiliki dua jenis atau dua macam, yang pertama yaitu tokoh karakter yang menggunakan bentuk seperti orang, kubus, ular, dsb. Dan yang kedua yaitu membuat karakter dengan tanpa bentuk, artinya karakter yang akan dimainkan hanya berupa camera yang berjalan namun dapat melakukan tembakan dan serangan, seperti halnya permainan 3D yaitu “Counter Strike”, “Call of Duty” biasanya yang bergenre FPS atau Shooter, yang menggunakan karakter bentuk seperti halnya “Final Fantasy”, “Devil May Cry” dsb. Pada kali ini akan dijelaskan mengenai pembuatan character yang menggunakan object bentuk dan object camera, jadi kedua hal tersebuat akan coba dijelaskan secara mendetail mengenai cara pembuatan dan cara pemberian scriptnya. Untuk yang menggunakan object rupa/bentuk sebagai pelaku utamanya diperlukan suatu kreatifitas didalam membuatnya, didalam proses pembuatannya membutuhkan bantuan software lain seperti 3DSMax, AutoCAD, dll. Yang sesudahnya diexport kedalam Unity 3D. Namun pada penjelasan mengenai pembuatan object rupa disini penulis sengaja menggunakan object yang sederhana yaitu sebuah bola.



24



A. Membuat Object Character Dengan Bentuk Untuk membuat suatu object yag akan digunakan sebagai object karakter haruslah memiliki bentuk yang dominan, artinya memiliki bentuk yang dapat terlihat sebagai karakter tokoh untuk sebagai pelaku, jadi supaya hasilnya bagus haruslah didukung dengan software lain untuk didesain, jika tidak bisa membuat character tokoh dengan bentuk seperti orang atau mobil dsb. Bisa juga membuat game sederhana yaitu dengan karakter tokoh berupa bola atau kubus. Untuk contoh yang digunakan disini yaitu menggunakan karakter bola yang dapat dikendalikan arah lajunya menggunakan tombol. Ini hanyalah sebuah contoh sederhana, jadi perlu pengembangan lebih lanjut untuk bisa membuat sebuah game yang bagus. Berikut cara membuat sebuah bola di layar Unity 3D



Object Bola



25



Object Sphere



menu transform



Untuk melakukan editting position, dapat menggunakan menu transform, yang mana dapat pula menggunakan menu yang memerlukan dragging and clicking pada mouse yaitu menggunaka menu item berikut:



Posisikanlah object sesuai yang diinginkan agar dapat tampak jelas di camera hasil, berikut adalah camera hasil dan objectnya:



Object Camera Object Sphere



Layar Hasil



26



Setelah membuat sebuah object dan sudah diposisikan terlihat di camera,



selanjutnya membuat landasan object agar



object tersebut dapat terlihat berjalan disebuah dataran, dataran ini dibuat dengan menggunakan object cube yang diperlebar luasannya sehingga tampak seperti dataran. Point Light Object Cube Object Sphere



Layar hasil



Pada gambar tersebut terdapat Point light yang mana digunakan untuk memberikan pencahayaan pada object, Point light ini dapat diposisi sesuai keinginan, bisa diperlebar jangkauan dari sinarnya maupun merubah posisi baik itu move atau rotate, untuk lebih mempermudah memposisikan point light pada suatu object, baiknya melakuka copy paste titik transform pada object target ke point 27



light, sehinga mendapatkan posisi yang tepat secara cepat. Berikut cara membuat point light pada layar Unity 3D.



Object Point Light



Setelah semuanya selesai dimasukkan kedalam layar, maka tahap selanjutnya yaitu memberikan script ke pada object Sphere atau bola tersebut agar dapat melakukan pergerakan saat ditekan tombol arrow, maka dari itu yang pertama kali harus dilakukan yaitu membuat



java



script,



sebagaimana



yang



telah



diterangkan



sebelumnya, maka akan nampak jendela java Script dengan memilih pilihan java script:



28



Kemudian tuliskan script pada layar java script seperti berikut ini, agar didapat suatu pergerakan dari bola tersebut, jangan lupa beri nama terlebuh dahulu file java script tersebut, di contoh ini diberi nama “Controller”.



var speed = 3.0; // memasukkan nilai dan mendeklarasikan speed var rotateSpeed = 3.0; // memasukkan nilai dan mendeklarasikan rotateSpeed function update() { var controller : CharacterController = GetComponent(CharacterController); // untuk melakukan identifikasi object transform.Rotate(0, Input.GetAxis (“Horizontal”) * rotateSpeed, 0); //untuk berjalan horisontal var forward = transform.TransformDirection(Vector3.forward); var curSpeed = speed * Input.GetAxis(“Vertical”); //untuk melakukan locatan controller.SimpleMove(forward * curSpeed); //memberikan nilai curSpeed } #script RequireComponent(CharacterController)



29



Setelah menuliskan script tersebut di jendela Java Script, maka langkah selanjutnya yaitu memasukkan script tersebut ke object target. Proses pemasukkan script ke object dapat dilakukan dengan dua cara yaitu 1. Memasukkan Script ke object dengan cara melakukan drag and drop pada text java script tersebut ke object yang terdapat di layar berikut adalah penjelasan dengan menggunakan gambar.



Sehingga akan nampak Script yang bernama “Controller” yang ada didalam menu inspector object target.



30



2. Memasukkan Script Ke object target dengan melakukan drag and drop pada jendela inspector object target , namun sebelum melakukan drag and drop, terlebih dahulu lakukan seleksi atau pemilihan object dengan cara melakukan “click” satu kali pada object target agar didapat jendela inspector-nya. Berikut adalah gambar mengenai cara tersebut.



Satu hal yang harus dilakukan sebelum melakukan Running File, yaitu melakukan penambahan input gravitasi dengan cara “klik satu kali” pada object target kemudian pilih Component pada tools, terakhir pilih rigidbody, berikut adalah penjelasan dengan gambar.



31



Sehingga nampak pada jendela inspector yaitu menu item rigidbody yang terpadang didalam object target, agar object target mengalami gravitasi ke arah bawah sehingga membentur daratan yang terbuat dari cube, dan tidak mengambang.



Jika ingin merubah kecepatan gravitasi suatu object target maka dapat dilakukan perubahan angka pada pilihan Mass yang angka Defaultnya



yaitu



1



,



jika



ingin



dipercepat



maka



lakukanlah



penambahan angka menjadi > 1, atau jika ingin memperlambat lakukanlah pengurangan angka menjadi < 1, karena jika massa suatu benda besar maka tarikan gravitasi juga akan semakin besar sehingga kecepatan gravitasi suatu benda semakin besar



32



Untuk melihat hasilnya, dapat dilihat dengan cara melakukan running, cara termudah didalam proses Running yaitu dengan menggunakan tombol berikut:



Tombol Running



Klik satu kali pada button tersebut maka akan terlihat layar hasil atau layar game seperti pada gambar berikut.



33



B. Membuat Object Character Dengan Camera Membuat character dengan menggunakan object camera adalah salah satu cara untuk memberikan nuansa seakan-akan userlah yang tengah melakukan aktifitas pada game tersebut, contoh dari game 3d yang menggunakan object camera yaitu “Counter Strike”, “Call Of Duty”, dll, kebanyakan dari game yang menggunaka object camera yaitu yang menggunakan genre Shooter atau FPS, karena lebih mengena pada pemain yang sedang melakukan permainan tersebut. Proses pembuatan dari character game object menggunakan camera ini lebih mudah dari pada menggunakan object bentuk yang terlebih dahulu membuat bentuk untuk membuat suatu object character, namun pada Caharcter object menggunakan camera tidak diperlukan suatu bentuk yang akan dikendalikan dilayar, dan juga tidak perlu menggunakan



Java script karena pad Unity 3D telah



disediakan suatu pilihan untuk melakukan input character engan menggunakan camera sebagai pelaku utama dan sumber pengendalian pemain, maka dari itu pembuatannya hanya memerlukan waktu sedikit, karena hanya perlu melakukan drag and drop dari pilihan ke layar editor atau layar Scene. Namun sebelumnya membuat dahulu object cube sebagai object dasar untuk dijadikan ground atau daratan untuk menjadikan tempat berdiri dan berjalannya camera saat dikendalikan, seperti yang telah diterangkan saat membuat object character menggunakan object rupa sedagai sumber pengendalian



34



Berikut adalah cara untuk membuka pilihan object Camera sebagai object pelaku utama yang akan dikendalikan oleh pemain. Pertama carilah folder “Standart Asset” pada jendela project lalu bukalah folder tersebut sehingga nampak jelas component yang ada didalamnya



Pilihlah Folder “Standart Asset” kemudian terlihat Folder “Character Controller”, klik juga pada Folder tersebut agar terlihat seluruh



componentyang



ada



di



Folder



“Character



Controller”



tersebut.



Setelah nampak jelas component yang ada didalam Folder “Chacter



Controller”



kemudian



pilihlah



prefab



“First



Person



Controller” yang terdapat didalam folder tersebut



35



Setelah prefab “First Person Controller” tersebut terseleksi, maka lakukanlah drag and drop ke layar editor, sehingga akan nampak seperti pada gambar berikut.



Setelah melakukan drag and drop pada prefab tersebut, maka pada jendela Hierarchy akan terseleksi object tersebut, itu artinya sebuah object camera telah terbuat di layar editor.



36



Untuk melihat hasilnya, dapat dilihat dengan cara melakukan running, cara termudah didalam proses Running yaitu dengan menggunakan tombol berikut:



Tombol Running



Klik satu kali pada button tersebut maka akan terlihat layar hasil atau layar game seperti pada gambar berikut.



Running Report



Setelah nampak jendela Running Report maka Lakukanlah gerakan dengan menekan tombol arrow pada keyboard dan mengubah fokus pandangan dengan menggerakkan cursor dengan menggunakan mouse, maka character object camera telah terbuat.



37



5. Pembuatan Tembakan Pada Object Character Pembuatan object character yang telah dibuat sebelumnya belum lengkap kalau object tersebut belum memiliki suatu tembakan atau pelengkap lain yang dapat memunculkan ketertarikan akan game tersebut, maka dari itu suatu game biasa memberikan keunikan pada chacracter object yang dikendalikan oleh user seperti melakukan tembakan, pukulan, loncatan dan lain-lain Disini akan dijelaskan mengenai pembuatan peluru yang akan digunakan untuk melakukan tembakan saat tombol “space” pada keyboard ditekan, saat tombol “space” ditekan maka akan keluar sebuah bola yang dianggap sebagai sebuah peluru, yang menggelinding searah horisontal, yang mana jika object peluru tersebut sudah menjuhi object musuh maka object pelurutersebut akan otomatis menghilang, karena jika tidak hilang akan mengakibatkan penumpukan object pada area game sehingga akan megakibatkan lambatnya proses eksekusi pada program, yang biasanya disertakan dengan “Blue Screen” atau terjadi Error pada computer, itulah tujuan dibuanya suatu perintah yang digunakan untuk menghilangkan object secara otomatis. Pada pembahasan kali ini, penulis sengaja memberikan contoh pada object character dengan menggunakan camera, dan tidak menjelaskan mengenai pemberian object tembakan pada character yang menggunakan bentuk, karena untuk yang pemberian object tembakan pada character yang menggunakan bentuk akan dibahas pada bab pemberian object tembakan pada musuh jadi pada bab tersebut akan sama langkah kerjanya dengan pemberian object tembakan pada character bentuk, untuk user yang ingin menggunakan object bentuk sebagai character yang dapat mengeluarkan tembakan, dapat melakukannya dengan meniru script dan langkah kerja pada bab 8, yang menerangkan tentang object musuh. 38



Untuk yang pertama kali harus dilakukan didalam pemberian tembakan pada object character yang menggunakan camera, yaitu membuat sebuah object tembakan terebih dahulu, disini penulis mencontohkan dengan memberikan object Sphere sebagai object tembakan, berikut gambarnya



Setelah



itu



membuat



Prefab



untuk



menampung



object



tembakan tersebut, Prefab digunakan untuk melakukan penggabungan antara suatu object dengan script yang mana object tersebut dapat dipanggil pada Script untuk melakukan perintah, sehingga akan nampak seperti Group jika terdiri lebih dari satu object. Jadi Prefab dapat diartikan sebagai object yang akan dieksekusi oleh script dengan cara melakuka penggabungan antara suatu object dengan perintah script yang akan diberikan keoada object tersebut. Prefab akan terbentuk pada jendela project yang artinya belum dapat aktif jika belum dimasukkan kedalam suatu object



yang terdapat pada 39



jendela Hierarchy sehingga harus melakukan drag and drop ke suatu object lain untuk mengaktifkan prefab tersebut. Berikut adalah cara pembuatan prefab yang diberi nama pefab “Bullet” sebagai object untuk dieksekusi oleh script.



Sehingga akan nampak seperti gambar berikut ini, untuk pemberian nama dapat dilakukan dengan melakukan klik dua kali dengan jarak waktu sedikit lama (bukan double click)



Setelah



membuat



object



Prefab



dengan



nama



Bullet,



selanjutnya melakukan perwarnaan atau pemberian texture pada object Sphere tersebut yang akan dijadikan sebagai object peluru, cara nya yaitu seleksi object sphere tersebut, kemudian lihat pada jendela Inspector, cari menu Mesh Renderer , seperti pada gambar berikut ini



40



Kemudian buka Materials sehingga isinya terlihat semua, setelah itu “Click” pada Element, lalu “Click” lagi pada bulatan kecil yang terdapat di ujung menu Element seperti pada gambar.



Sehingga akan nampak pilihan texture seperti gambar berikut



41



Pilihlah salah satu texture tersebut sesuai keinginan user, jika pada contoh kali ini penulis memilih “Fire Smoke” sebagai texture object, “click” satu kali pada pilihan maka akan langsung diterapkan pada object target



Object yang telah diberi Texture



Setelah pembuatan Object peluru selesai, maka yang harus dilakukan kemudian yaitu memasukkan object peluru tersebut kedalam Prefab Bullet yang telah dibuat, dengan cara melakukan drag and drop object peluru ke dalam prefab Bullet, Berikut gambarnya



42



Setelah itu jika sudah masuk ke Prefab maka akan nampak seperti pada gambar berikut ini.



Untuk menghilangkan object agar saat running tidak terlihat, dapat dilakukan dengan cara UnCheck pada Check Box berikut.



Setelah berhasil memasukan object ke prefab, yang harus dilakukan



kemudian



yaitu



membuat



Script



perintah



untuk



mengedalikan object peluru tersebut, cara untuk membuat script telah dijelaskan pada bab sebelumnya. Masukkan Script berikut pada jendela Java Script dengan nama “Shoot” 43



var prefabBullet:Transform; // untuk memanggil prefab dengan nama Bullet var shootForce:float; // untuk memasukkan nilai function Update() { if(Input.GetButtonDown("Jump")) // untuk mengaktifkan input ketika ditekan tombol jump { var instanceBullet = Instantiate(prefabBullet, transform.position, Quaternion.identity); // untuk membuat object ketika ditekan tombol jump(space) instanceBullet.rigidbody.AddForce(transform.forward * shootForce); //untuk mengeluarkan object dengan arah kedepan } }



Setelah melakukan input script, maka akan nampak seperti gambar berikut.



44



Kemudian hal yang harus dilakukan ketika sudah membuat script untuk mengeluarkan tembakan yaitu “Shoot”, masukkanlah script tersebut ke dalam object character camera berserta Prefab Bullet yang telah dibuat dengan cara drag and drop pada object camera.



Pada



gambar



tersebut



penulis



telah



menamakan



object



cahacter camera dengan nama “player”, sehingga setelah dimasukkan ke object camera maka akan tampak prefab “Bullet” berada didalam sub dari object camera, artinya object peluru siap dipanggil. Kemudian masukkan Script “shoot” pada jendela inspector dari object camera dengan cara drag and drop.



45



Pada tanda panah kuning tersebut tempat untuk melakukan input prefab, jadi masukkanlah prefab “Bullet” yang telah dibuat tadi kedalam tanda panah kuning tersebut dengan cara drag and drop, sehingga akan nampak seperti gambar diatas, untuk melakukan pengaturan kecepatan dari peluru tersebut dapat dilakukan dengan merubah nilai pada Shoot Force, untuk contoh sengaja diberikan nilai 1500.



Jika semuanya sudah selesai dilakukan maka lakukanlah Running untuk melihat hasil akhirnya.



46



6. Membuat Object Musuh Membuat Object musuh adalah salah satu bagian yang terpenting didalam pembuatan suatu game, karena permainan game pasti mengharuskan adanya musuh sebagai object target yang dapat memberikan kesan terhadap pemain. Untuk membuat object musuh dapat dilakukan dengan cara membuat sebuah bentuk dasar, pada kali ini penulis sengaja membuat object musuh yang sederhana yaitu dengan hanya menggunakan object Cube, Cilinder, dan plane. Yang dijadikan menjadi satu bagian sehingga seolah-olah object musuh tersebut berbentuk robot. Untuk hal yang pertama kali arus dibuat yaitu membuat sebuah badan dengan menggunaka cube yang diresize ke sumbu z sehingga berbentuk seperti gambar



Object Cube



Object Cilinder Object Plane



47



Setelah membuat object musuh seperti pada gambar, maka diharuskan melakukan pengelompokkan object menjadi satu bagian, jadi jika object utama di pindahkan maka sub object yang ada didalamnya pun ikut berpindah. Untuk melakukan pengelompokkan object dapat dilakukan dengan cara melakukan drag and drob pada object yang akan dijadikan object utama, pada object musuh yang dijadikan object utama adalah object cube, sehingga object Cilinder harus berada di dalam sub dari object cube. Berikut adalah gambar pengelompokkan object menjadi satu bagian. Object Utama Sub Object Utama



Untuk mempermudah tampilan dari pengelompokkan oject maka dapat dilakukan dengan cara memilih pada Formatting Tools yaitu GameObject setelah itu pilih Create Empty



48



Kemudian akan nampak suatu object yang tidak memiliki bentuk sehingga pada jendela Hierarchy akan terdapat onject aru bernama GameObject.



Ubah nama Game Object menjadi “enemy”, sehingga mudah dipahami dan dapat mengetahui dengan mudah mengenai object musuh yang akan dijadikan object ekekusi dari perintah script, setelah itu masukkan object cube tersebut ke dalam object enemy, dan juga object plane, namun object plane tidak dimasukkan ke dalam object cube, sehingga akan nampak pada seperti pada gambar berikut.



Jadi object Plane berada di dalam object enemy tapi tidak menjadi sub object dari object cube, sehingga object cube dan object plane berdiri secara terpisah.



49



Jika sudah selesai dalam pembuatannya, maka hal yang terpenting lainnya yaitu peletakan di arean ground, letakkanlah object musuh tersebut tepat pada object ground karena kalau mengambang akan menjadi game yang jelek, sehingga lakukanlah seperti gambar berikut.



Letakkanlah object musuh tepat pada object ground, jangan sambai ada kemiringan saat meletakkanya, karena jika miring, akan berakibat object tersebut akan tidak simetris atau tegak lurus dengan ground, dan itu membuat jelek area game. Setelah semua selesai maka object musuh akhirnya jadi, pada bab berikutnya akan dijelaskan mengenai Script agar musuh dapat melihat object camera dan dapat mengeluarkan tembakan yang tertuju pada object character camera. Lakukanlah Running untuk melihat hasilnya.



50



7. Pembuatan Script Arah hadapan musuh



Pembuatan arah hadap musuh terhadap object pelaku adalah salah satu cara dimana musuh dapat menembakkan peluru tepat pada object pelaku, jika object pelaku melakukan gerakan maka otomatis musuh akan melakukan putaran ke arah object pelaku berada, sehingga akan menjadi game yang menarik untuk dimainkan. Pembuatan arah hadap musuh ini diperlukan posisi dari musuh yang tepat, karena musuh akan melakukan putaran terhadap object pelaku berada. Jika miring terhadap tanah maka object musuh akan terlihat jelek. Untuk membuat arah hadap musuh maka diperlukan sebuah script yang akan digunakan sebagai pengendali dari arah hadap musuh itu sendiri. Namun sebelum membuat script untuk mengarahkan object musuh, terlebih dahulu membuat empty object dengan nama “spawnPoint”, berikut adalah langkah untuk membuatnya.



51



Setelah terbentuk empty object maka letakkanlah object tersebut tepat didepan arah moncong dari object musuh yaitu pada object silinder, tujuan dari pembuatan empty object ini yaitu untuk melakukan pendefinisian tempat object peluru yang akan dikeluarkan oleh musuh. Sehingga diusahakan



terletak di epan object silinder



agar terlihat seperti object musuh mengeluarkan tembakan dari object silinder.



Empty Object



Berikan



nama



empty



object



tersebut



dengan



nama



“spawPoint” lalu masukkanlah empty object tersebut kedalam object cube dengan melakukan drag and drop seperti pada gambar.



52



Selanjutnya membuat script dengan nama “Lookattarget” untuk mengarahkan object musuh untuk dapat menghadap pada object pelaku berada. Berikut adalah scriptnya. var LookAtTarget:Transform; //mendefinisikan dan input object pelaku var damp = 6.0; //menberikan kecepatan putaran var bullitPrefab:Transform; //mendefinisikan dan input object pelaku var savedTime=0; //memberikan nilai savedTime function Update () { if(LookAtTarget) { var rotate = Quaternion.LookRotation(LookAtTarget.position - transform.position); transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp); //melakukan rotate otomatis menurut pergerakan object pelaku var seconds : int = Time.time; //mendefinisikan second sebagai waktu yang bertipe integer var addeven = (seconds % 2); //memberikan jeda pada keluarnya peluru musuh if(addeven) { Shoot(seconds); //membuat fungsi Shoot sebagai perintah second } } } function Shoot (seconds) //mengaktifkan fungsi buatan Shoot { if(seconds != savedTime) //melakukan perumpamaan second { var bullit = Instantiate(bullitPrefab, transform.Find("spawnPoint").transform.position, Quaternion.identity); //membuat object peluru yang akan dikeluarkan pada “spawn Point” bullit.rigidbody.AddForce(transform.forward * 1500); //melakukan input kecepatan arah gerak peluru savedTime=seconds; } }



Setelah membuat script tersebut pada jendela script, maka yang harus dilakukan kemudian yaitu memasukkan script tersebut pada object musuh berikut adalah gambar untuk melakukan input script pada object musuh.



53



Kemudian masukkan object pelaku yaitu pada bagian Look At Target seperti yang ditunjukkan oleh panah berwarna kuning. Lakukanlah drag and drop object kedalam pilihan Look At Target tersebut, agar object musuh dapat menghadap ke arah object pelaku.



Untuk melihat hasilnya dapat dilakukan running



54



8. Pembuatan Tembakan Musuh



Membuat temabakan musuh sangatlah penting, karena untuk menciptakan suasana game yang menarik, jadi object pelaku mengeluarkan tembakan dan juga object musuhpun mengeluarkan tembakan sehingga akan terjadi peperangan tembakan pada area game. Untuk membuat tembakan musuh, yang pertama yang harus dilakukan yaitu membuat object sphere terlebih dahulu, yang kemudian dimasukkan kedalam perintah Look At Target sebagai pendefinisian



object



peluru



musuh.



Berikut



adalah



gambar



ilustrasinya



Object Sphere yang telah diberikan texture



Kemudian hilangkan object tersebut dengan melakukan UnCheck pada check box berikut



55



Check Box



Kemudian memberikan Rigidbody pada object sphere tersebut dengan tujuan yaitu untuk memberikan efek tarikan gravitasi pada object sphere agar object sphere tersebut tidak terbang kesegala arah melainkan tertarik oleh daya gravitasi. Berikut adalah gambar ilustrasinya



56



Setelah itu, maka akan nampak jendela Rigidbody pada object sphere di jendela Inspector



Kemudian buat sebuah Prefab yang bernama “gun” untuk melakukan input object. Seperti pada gambar.



Setelah object sphere telah jadi dan Prefab “Gun” telah terbuat maka yang harus dilakukan kemudian yaitu memasukkan object sphere kedalam Prefab “gun” dengan cara drag and drop. 57



Namun sebelumnya masukkan terlebih dahulu object Sphere kedalam Sub Cube untuk mempermudah penefinisian object dengan cara drag and drop object.



Lalu masukkan object sphere ke dalam Prefab “gun”.



Setelah membuat object peluru musuh, hal yang terpenting yang harus dilakukan yaitu melakukan input object pada script Look At Target di object cube.



58



- Pertama adalah melakukan “click” pada object cube



Lihat pada jendela Inspector yang terdapat script “Look At Target” lalu masukkan object sphere ke dalam menu Bullit Prefab dengan cara drag and drob prefab ke dalam menu script.



59



Setelah



semuanya



jadi,



masukkan



script



untuk



menghilangkan object peuru dalam waktu lima detik



function Start () { //fungsi yang akan dijalankan saat running Destroy(gameObject,5); //menghilangkan object saat waktu lima detik }



Setelah menuliskan Script tersebut, berikanlah nama yaitu ”guns”, kemudian masukkan script tersebut ke dalam object sphere.



Untuk melihat hasilnya, maka dapat dilakukan Running



60



9. Pembuatan Explode Tembakan Pembuatan Explode tembakan sangat diperluka sekali, karena untuk memberikan efek yang bagus terhadap suatu game, jadi semakin atraktif suatu game maka akan bagus pula kualitas game tersebut, pada session ini, akan dijelaskan bagaimana cara melakukan pembuatan object explode saat object tersebut mengalami tubrukan dengan object lain, dengan fokus object yaitu pada object peluru pelaku (Object Character). Untuk lebih jelasnya berikut adalah cara bagaimana membuat explode



object peluru



pada



object pelaku (object



Character). Pertama yaitu membuat script dengan nama “enemy” pada jendela script, berikut adaah scriptnya var explode: Transform; //mendefinisikan dan input object explode function OnCollisionEnter (theCollision : Collision) //fungsi saat bertubrukan { Instantiate(explode, transform.position, transform.rotation); Destroy (gameObject,3); //menghilangkan explode saat waktu tiga detik if(theCollision.gameObject.name == "Cube") //jika bertubrukan dengan object cube { Destroy(gameObject.Find("enemy1")); // menghilangkan object enemy1 } else if(theCollision.gameObject.name == "Cube2") { Destroy(gameObject.Find("enemy2")); } }



Script di atas, penulis menggunakan dua buah object enemy yang bernama “enemy1” dan “enemy2”, sehingga pada script diatas 61



dapat dirubah sesuai keadaan, jika ada tiga object maka definisikan tiga object, jika ada satu object maka definisikan hanya satu object, tergantung dari pembuatan objectnya. Yang arus diperhatikan yaitu nama yang diinputkan / dipanggil, harus sama dengan nama object yang akan dieksekusi, karena Java Script bersifat Case Sensitif jadi penulisan huruf besar dan kecilnya harus diperhatikan. Setelah membuat Script, selanjutnya memasukkan script tersebut kedalam jendela inspector object peluru (peluru object Character) / peluru pelaku. Seperti yang telah dibuat sebelumnya yaitu object bullet yang berada pada sub player



Object Bullet Click satu kali pada object Bullet lalu masukkan script “enemy” yang telah dibuat kedalam jenela inspectornya. Seperti pada gambar berikut.



62



Jika telah memasukkan script tersebut maka akan otomatis terbuat suatu menu yaitu Explode.



Masukkan prefab explosion yang terdapat di Folder standart Asset lalu buka Folder Legacy Particles, kemudian masukkan prefab explosion ke dalam menu explosion.



Untuk melihat hasilnya, lakukanlah running



63



10. Pembuatan Script Destroy Object Musuh Pembuatan Script Object musuh sudah dibahas pada bab sebelumnya



yaitu pada bab 9, yang mana script untuk



melakukan penghancuran object musuh dengan explosion yaitu sebagai berikut.



Syarat utama yang harus ada untuk melakukan perintah pada script diatas yaitu 1. Terdapat Object dengan nama “Cube” 2. Terdapat Object dengan nama “enemy 1” 3. Terdapat Object dengan nama “Cube 2” 4. Terdapat Object dengan nama “enemy 2” /*Untuk script di atas bersifat opsional, tergantung pada pembuatan object dan penamaan object yang dilakukan.



64



11. Pembuatan Terrain Terrain adalah sebuah bentuk atau object yang digunakan sebagai background dasar suatu pembuatan game, jika menggunakan object cube sebagai background dasar juga bisa, jadi pembuatan background dasar bisa menggunakan object cube atau bisa juga dengan Terrain. Pada



bab



ini



akan



dibahas



mengenai



pembuatan



background dasar menggunakan Menu Terrain, dan bagai mana cara memberikan efek gunungan, efek pasir, efek air, dan efek yang lain yang mana biasa digunakan untuk mempercantik tampilan suatu game, terutama game 3D yang sangat memerlukan sekali kecantikan background agar si pemain dapat nyaman di dalam permainan tersebut. Untuk pembuatan dasar background menggunakan object cube telah dibahas di bab sebelumnya, untuk pembuatan dasar backround ini hanya memerlukan resize dari object cube sesuai yang diinginkan lalu memberikan texture pada object cube tersebut, sehingga akan menampilkan suatu design background pada area game. Namun ada kekurangan pada pembuatan object cube sebagai dasar background, yaitu tidak bisa membuat efek-efek yang digunakan untuk memperindah tampilan game, efek eperti gunungan, pasir dan lainnya tidak akan bisa diinputkan ke dalam object cube, karena sejatinya object cube bukanlah sebagai object dasar suatu game namun object cube adalah sebagai object utama didalam pembuatan game. Pada Unity 3D disarankan untuk menggunakan object dasar background yaitu Terrain, disamping dapat memberikan efekefek, dapat pula melakukan input benda seperti halnya pohon, ranting 65



atau air. Itulah mengapa object Terrain sangat penting didalam pembuatan game 3D.



Untuk langkah yang pertama yaitu membuat object Terrain dengan cara memilih menu Terrain, lalu pilih Create Terrain



Namun jika nginginkan ukuran tertentu pada object Terrain, dapat melakukannya dengan cara memilih menu berikut sebelum atau sesuadah membuat sebuah object Terrain



66



Maka akan tampak jendela seperti berikut ini.



Ubahlah ukuran dari lebar Terrain dan Panjang Terrain sesuai kebutuhan, jika menginginkan object Terrain yang lebih besar dapat dilakukan penambahan pada Terrain Width dan Terrain Length, jika ingin mengecilkan ukuran maka dapat mengurangi angka kedua menu item tersebut. Setelah memilih pilihan create Terrain tersebut kemudian akan otomatis terbuat suatu object datar yang tipis pada layar Editor. Dan akan ada menu Terrain pada jendela Hierarchy.



67



Sehingga akan tampak object Terrain tanpa texture seperti gambar berikut.



Untuk memberikan texture pada object Terrain dapat menggunakan pilihan pada menu inspector pada Object Terrain



68



Penjelasan mengenai menu Terrain



1



2



3



4



5



6



7



1. Membuat object gunungan dan membuat ketinggian gunungan 2. Untuk mengatur ketinggian gunungan 3. Untuk mengatur Kehalusan lekukan pada gunungan 4. Untuk memberikan Texture pada object Terrain 5. Untuk memasukan object Tree (pohon) 6. Untuk memasukkan object seperti tanaman, batu, dll 7. Untuk men-setting object Terrain



69



Untuk membuat texture pada object Terrain, langkah yang harus dilakukan yaitu dengan terlebih dahulu menyeleksi object Terrain pada jendela Hierarchy lalu di jendela Inspector memilih pilihan berikut.



Pilih



dan



“click”



tombol



Edit



Textures



sehingga



akan



mengeluarkan pilihan setting seperti berikut, pilih Add Texture .



70



Sehingga akan memunculkan jendela Add Texture seperti gabar berikut. Lalu pilih dan “click” bulatan kecil pada menu Splat.



Kemudian akan nampak menu Terrain Texture, yang bervariasi, ada bermacam-macam texture, ada texture air, texture rumput dan texture pasir, untuk lebih memperindah Terrain disini penulis sengaja memilih menu texture grass (Hill) sebagai warna dasar Background, untuk pemilihan texture yang lain sesuai engan kebutuhan, jika menginginkan texture air, maka pilihlah menu air, jika ingin suasana di padang pasir, maka dapat memilik pilihan pasir.



71



Double Click pada menu Texture tersebut sehingga akan langsung masuk pada menu splat, Jangan lupa pilih tombol Add untuk mengaplikasikan texture pada object terrain yang telah terseleksi sebelumnya.



Maka akan otomatis merubah texture pada object Terrain tersebut, yang telah terseleksi / terpilih sebelumnya.



72



- Memberikan object gunungan pada Terrain Memberkan efek gunungan pada sebuah game adalah suatu hal yang penting, karena akan memberikan suasana pada game tersebut, game yang bagus menggunakan efek gunungan disesuaikan dengan keadaan game, jika game tersebut berada di sebuah padang pasir maka gunungan yang digunakan tidak terlalu banyak namun tinggi, tapi jika game tersebut dikondisikan di sebuah hutan atau daerah perbukitan, maka gunungan yang dibuat banyak dan bervariasi, gunuangan



disini



hanyalah



untuk



memperjelas



keadaan



dan



mempercantik suasana sebuah game. Untuk memberikan efek gunungan pada object Terrain dapat dibuat dengan menu berikut.



Klik satu kali pada menu button tersebut kemudian pilih salah satu corak yang akan dibuat pada pilihan Brushes, setiap corak akan berbeda hasilnya, maka dari itu perlu ketelitian didalam memilih corak dari Brushes berikut.



73



Untuk mengaplikasikannya, yaitu dapat dengan langsung melakukan drag and drop pada object terrain secara langsung, maka akan dihasilkan gunungan seperti gambar dibawah ini.



- Memberikan object Tree pada Terrain Object Tree pada suatu game adalah kebutuhan sekender atau kebutuha tambahan, namun keberadaan dari pohon itu sendiri bisa menambah indah tampilan suatu game, terutama game 3D, pada game 3D biasa digunakan object pohon sebagai object yang menguatkan kondisi suatu game, semisal kondisi tersebut di pegunungan, maka akan ada banyak pohon, namun jika itu di padang pasir atau di pantai, maka object pohon hanya digunakan sebagai object pendukung suasana. Untuk memberikan object pohon maka dapat dilakukan dengan memilih pada menu botton berikut pada object Terrain.



74



“clik” satu kali pada menu botton tersebut, kemudian akan nampak pilihan pada jendela inspector pada object Terrain, kemudian pilihlah button Edit Trees.



Lalu “click” satu kali pada pilihan add tree



maka akan muncul jendela Add Trees tersebut, setelah itu “click” satu kali pada bulatan kecil pada menu Tree



75



Sehingga akan muncul pilihan object Tree, untuk memilih object Tree tidaklah sembarangan, harus perlu melihat kondisi atau suasana game yang akan dibuat, pemilihan object Tree biarpun bersifat



sebagai



pendukung



namun



keberadaannya



dapat



memperindah penampilan suatu game, disini sengaja di pilih object Tree pada menu Big Tree



Double Click pada menu tersebut sehingga akan masuk ke dalam menu Tree pada jendela Add Trees, jika object pohon sudah dimasukkan maka akan terlihat seperti pada jendela berikut.



Untuk selesai penambahan objet tree maka “click” satu kali pada button Add



76



Sehingga akan muncul menu seperti berikut pada jendela inspector di object Terrain tersebut. Untuk mengaplikasikan object Tree dapat dilakukan Drag and Drop langsung pada object Terrain, namun sebelum melakukan pembuatan object pohon pada Terrain, yang harus diperhatikan adalah berapa banyak pohon yang akan dimasukkan ke dalam Terrain dalam satu kali drag and drop dan berapa tinggi serta lebar pohon tersebut, untuk itu perlu mengatur terlebih dahulu menu settings pada object Tree.



1 2 3



Object Pohon Keterangan 1. Untuk menginputkan banyak / sedikit object Pohon dalam satu kali drag and drop 2. Untuk menambah atau mengurangi tinggi pohon 3. Untuk menambah atau mengurangi lebar pohon



77



12. Pembuatan Background Langit Pembuatan Background langit pada unity 3D tidak sulit, hanya



memerlukan



menggunakan



beberapa



Script



langkah



sehingga



dapat



dasar,



dan



dengan



tidak



mudah



pula untuk



membuatnya. Perlu diketahui bahwa setiap game 3D memiliki komponen utama sebagai object pendukung



yaitu object dasar, object



tambahan dan object langit-langit, Terrain sebagai dasar Background sebuah object adalah salah satu object utama, untuk sebagai objet tambahan seperti object pohon, tanaman, batu dll. Untuk object utama yang ketiga yaitu object langit-langit, yang mana object langitlangit adalah object pemberi suasana yang terbesar pada subuah object, artinya suasana game akan terasa jika suasana langit-langit tepat menggambarkan suasana yang diinginkan, seperti halnya menginginkan sasana di pantai dengan kondisi yang cerah, atau kondisi di malam hari. Maka dari itu pemilihan object langit-langit sangatlah penting dan jangan sembarangan didalam memilihnya, karena kalau salah akan merusak kondisi yang diinginkan sebelumnya. Untuk membuat texture langit-langit dapat dilakukan dengan cara berikut. Pertama



Pilihlah



menu



edit



pada



Formating



Tools,



kemudian “click” satu kali pada pilihan Render Setting, seperti pada gambar berikut.



78



Setelah menu Render Setting dipilih, maka akan muncul pada jendela Inspector seperti gambar diatas, terdapat beberapa pilihan pada menu Render Setting. Untuk memberikan texture langit maka hanya dibutuhkan menu Skybox Material.



Untuk memberikan efek asap atau kabut maka dapat melakukan “check” pada “check Box” berikut. Lalu jika ingin memberikan warna pada asap / kabut tersebut dapat dilakukan dengan cara mengubah warna pada menu Fog Color.



79



Jika menu Inspector pada Render Setting telah siap, maka yang harus dilakukan adalah memberikan texture dari folder standart asset, langkah pertama yaitu membuka folder standart asset, setelah itu pilih Folder Skyboxes.



Buka Folder Tersebut agar nampak semua isi yang ada didalam folder tersebut.



80



Setelah Folder Skyboxes telah dibuka, dan menu Render Setting pada jendela Inspector telah siap, maka lakukanlah drag and drob, dari object yang berada di dalam Folder Skyboxes kedalam menu Skybox Material.



Pilihlah texture langit yang sesuai dengan keadaan game yang diinginkan, ada bermacam-macam variasi texture langit, pilihlah yang tepat, jika di gambar, dicontohkan penulis memilih Sunny1 Skybox, yang mana memberikan efek texture langit yang cerah berawan. Seperti pada gambar berikut.



81



13. Pembuatan Timer Pada Game



Pembuatan Timer pada sebuah game merupakan unsr yang tidak wajib ada, tergantung dari bagaimana cara game tersebut melakukan



pembatasan,



ada



yang



dengan



membunuh



atau



menghancurkan semua musuh, ada yang menggunakan timer dan lainlain. Pada bab 13 ini akan dijelaskan cara untuk membuat timer pada unity 3D, fungsi dari timer disini yaitu untuk membatasi waktu bermain, jadi jika waktu habis maka akan nampak sesuatu, bisa itu pindah ke Scene / level berukutnya, bisa juga dengan tulisan Game Over, terserah pada pengembangannya. Pada pembuatan timer disini, penulis menggunakan tiga buah object, yaitu Object tiga icon :



Object Dua icon :



Object satu icon :



Ketiga



object tersebut yang



akan digunakan sebagai



parameter dari timer, jadi dari tiga icon, menjadi dua icon, setelah itu mencadi satu icon. Untuk prmbuatan timer memang harus dibutuhkan sebuah benda yang digunakan sebagai object GUI, untuk melakukan timer, jadi object akan berada sebagai GUI, artinya object tersebut 82



berada di layar, dan tidak didalam area permainan. GUI bisa berupa object atau tulisan yang mana object atau tulisan tersebut tidak masuk didalam area game, namun berada di layar, posisinya pun tidak berubah, dan tetap berada di layar game. Untuk membuat timer pada sebuah game, yang harus dilakukan yaitu membuat object



timer terlebih



dahulu, bisa



menggunakan gambar, atau icon, yang harus dilakukan penyesuaian ukuran, bisa dengan Photoshop, Corel Draw dll. Pada bab ini tidak dijelaskan mengenai bagaimana cara membuat object timer, baik itu dari sebuah program lain seperti Photoshop, corel draw dll, namun bab ini hanya fokus didalam bagaimana cara memasang object timer tersebut ke dalam layar. Setelah object timer sudah siap, masukkan object tersebut ke dalam Folder Unity 3D yang berada di My Computer > Drive C > User > Asus (penulis menggunakan laptop Asus) > my Documents > New Unity Project



83



Kemudian buka Foder Assets yang terdapat di dalam folder New Unity Project tersebut.



Setelah itu akan muncul isi didalam folder tersebut, lakukanlah copy-paste object yang akan digunakan sebagai Timer ke dalam Folder Assets tersebut.



Jika sudah melakukan copy paste ke dalam Folder Assets tersebut maka akan otomatis object tersebut muncul di jendela project. Yang harus diperhatikan saat memasukkan object yaitu ukuran dari icon / gambar, karena jika terlalu besar akan menutupi pandangan layar. Jadi disesuaikan dengan kondisi layar.



84



Berikut adalah hasil dari object yang telah dimasukkan ke dalam Folder Assets, akan muncul secara otomatis di jendela Project.



Didalam gambar tersebut, object timer di jadikan dalam satu Folder yang bernama Lives Bar. Sebuah Folder didalam jendela project berguna untuk mengelompokkan data-data yang sejenis, misalnya data yang berupa script atau yang berupa gambar, tujuan dari folder hanyalah memperapi pandangan, dan memudahkan user dalam memilih data. Untuk membuatnya dapat dilakukan dengan cara melakukan “click” pada tombol create di jendela Project.



85



Setelah itu akan muncul pilihan seperti pada gambar di bawah ini, pilihlah menu Folder, dan “click” satu kali, maka akan otomatis terbuat sebuah folder di jendela Project.



Setelah semuanya sudah siap terutama object timernya, maka yang harus dilakukan kemudian adalah memberikan object tampil pada layar, yaitu dengan cara membuat GUI Texture terlebih dahulu. GUI texture yaitu sebuah menu yang digunakan untuk memasukkan object ke dalam layar, dan object tersebut tidak berupa text. Berbeda dengan GUI Text yaitu untuk memasukkan text ke dalam layar bukanlah sebuah benda. Untuk membuat GUI Texture dapat dilakukan denga cara “click” satu kali pada button Create di jendela Hierarchy, sehingga akan muncul pilihan seperti berikut.



86



“Click” satu kali pada pilihan GUI Texture tersebut, maka akan terbuat suatu GUI texture default. Rubahlah nama GUI Texture tersebut dengan nama health3.



Kemudian lakukanlah drag and drob object health3 yang telah dibuat, dari jendela Project, ke dalam jendela GUI Texture pada menu Texture.



87



Untuk melakukan penempatan object, dapat dilakukan dengan cara mengubah nilai pada menu transform di GUI Texture. Untuk menempatkan di pojok kanan atas maka dapat diberikan nilai berikut. X = 0,13 Y=1 Z=0



Maka akan nampak seperti gambar berikut



Setelah



semuanya



sudah



dilakukan,



untuk



proses



perhitungan dari timer dapat dilakukan dengan memberikan script sebagai pengendali object tersebut. Prinsip kerja dari script tersebut yaitu untuk melakukan perhitungan secara mundur dari nilai maksimal 100 hingga 0, jadi di tiap-tiap hitungan terdapat bentuk yang akan ditampilkan di layar misalnya jika perhitungan sudah mencapai angka 50 maka bentuk GUI



88



texture akan berubah menjadi dua icon (health2), jika angka sudah mencapai 10 maka aka berubah menjadi satu icon (health1). Berikut adalah scriptnya.



static var Healthcount:int =100; //memberikan nilai maksimal var health1 : Texture2D; //mendefinisi dan menginputkan object health1 var health2 : Texture2D; //mendefinisi dan menginputkan object health2 var health3 : Texture2D; //mendefinisi dan menginputkan object health3 function Update() { var heathtexture = gameObject.Find("health3"); //mencari focus object yang akan di kenai perintah if(Healthcount Build Settings



Lakukanlah Setting peletakan GUI box atau GUI Form dengan memasukkan nilai yang diinginkan pada GUI Box script yang telah dibuat sehingga peletakan dari GUI Form dan Gui button dapat tepat berada pada posisi yang diinginkan. Setelah



langkah-langkah



tersebut



selesai,



maka



lakukanlah Running untuk melihat hasil dari menu item statis yang telah dibuat itu. berikut adalah gambaran tampilan dari menu item statis yang telah jadi.



“click” atau tekan tombol “yes” untuk memasuki game pada scene level 1 yang telah dibuat sebelumnya. 107



A. Pembuatan Menu Item Dinamis



Pembuatan Menu item dinamis tidaklah semudah membuat menu item statis yang hanya menggunakan Script GUI dan GUI Button, namun terdapat langkah-langkah khusus yang harus diperhatikan didalam pembuatannya, seperti halnya peng-input-an Font Windows ke bagian Unty Project dan proses eksekusi Script saat mouse enter dan mouse exit. Untuk membuat menu item dinamis yang pertama kali harus dibuat yaitu membuat sebuah cube dengan texture yang diinginkan, seperti pada gambar berikut ini.



Object cube



Selanjutnya yaitu untuk memperindah tampilan dari 3D text yang akan dibuat lebih baiknya mengambil Font dari Windows Font yang di-copy-kan ke dalam folder unity project . berikut penjelasan mengenai gambarnya. Masuk ke C -> Windows -> Fonts setelah itu pilih salah satu Font yang sesuai untuk menu item, copy font tersebut.



108



Kemudian masuk ke Folder new unity project seperti yang pernah diterangan sebelumnya yaitu pada bab pembuatan Timer pada My Computer > Drive C > User > Asus (penulis menggunakan laptop Asus) > my Documents > New Unity Project . Sehingga akan nampak file folder new unity project seperti gambar berikut.



Paste-kan Font yang sebelumnya di-copy ke dalam folder Assets, jika sudah di paste-kan maka akan nampak seperti pada gambar berikut. Penulis memilih AdobeGothicStd-Bold sebagai text untuk menu item.



109



Maka secara otomatis akan masuk ke dalam jendela project pada program Unity 3D. Seperti pada gambar.



Lakukanlah pengubahan settings pada jendela inpector dari font tersebut yaitu pada bagian berikut. Isikan setting sama seperti pada gambar, yaitu mengenai Font Size, Character dan Font Rendering .



110



Setelah itu membuat 3D text sebagai unsur item yang akan digunakan pada pilihan menu yaitu dengan cara memasukkan 3D text pada menu create di jendela Hierarchy.



Sehingga akan nampak 3D text, kemudian lakukanlah pengubahan 3D text tersebut dari kata Hello World menjadi kata Start Game.



111



Font akan otomatis berubah



Maka akan nampak Font AdobeGothicSTD-Bold secara otomatis, jika belum nampak maka dapat dilakukan drag and drop dari jendela project ke sub menu Font pada jendela inspector Langkah selanjutnya yaitu memasukkan Box Collider ke sub menu dari 3D text, kegunaan dari box Collider ini yaitu untuk mendeteksi ada sentuhan antara mouse dengan object terkait sehingga akan dijalankan efek saat terjadi sentuhan atau tabrakan pada object yang terdapat box collider. Berikut adalah cara untuk menambahkan sub menu Box Collider pada jendela inspector 3D text, pilih menu component pada formating toos, lalu pilih Physics, dan pilih Box Collider.



112



Maka sub menu Box Collider pada jendela 3D text akan terbuat dengan sendirinya.



Sub Menu Box Collider



Posisikan 3D text dengan Cube agar sejajar pada camera, berilah Point light untuk memperindah tampilan menu item, Setelah selesai membuat Cube, 3D text dan Box Collider maka yang harus dilakukan kemudian yaitu membuat duplikat dari cube dan 3d text sehingga akan menjadi dua bagian yang sama, dengan cara copy-paste object pada jendela Hierarchy dan ubahlah text sesuai kebutuhan, sehingga akan nampak seperti pada gambar berikut.



113



Langkah yang terakhir yaitu memberikan script para 3D text yang akan dieksekusi, Script tersebut berfungsi untuk melakukan perubahan warna dan sedikit gerakan agar nampak hidup saat ditekan pada bagian textnya, ada dua 3D text yang akan diberikan script yaitu Start game dan Exit, keduanya dimasukkan script yang sama. Berikut adalah scriptnya dengan tipe C sharp script dan nama Object Menu. Berikut adalah cara membuat C Sharp Script.



114



Ubah semua isi dari default C Sharp Script seperti pada script dibawah ini. Fungsi dari C sharp Script yaitu untuk mengaktifkan UnityEngine dan System.Collection pada unity 3D. Berikut adalah Script C sharp Scriptnya.



using UnityEngine; using System.Collections; [ExecuteInEditMode] public class ObjectMenu : MonoBehaviour { public bool isQuit = false; void OnMouseEnter() //mengaktifkan saat mouse on selection { renderer.material.color = Color.red; //mengubah warna 3D text menjadi merah saat dipilih oleh mouse } void OnMouseExit() //mengaktifkan saat mouse off selection { renderer.material.color = Color.white; //mengubah warna 3D text menjadi merah saat dipilih oleh mouse } void OnMouseDown() //mengaktifka tombol keyboard down { if(isQuit) //jika check box is quit terpilih { Application.Quit(); //keluar dari program } else { Application.LoadLevel(1); //masuk ke Scene dengan nama level1 } } }



115



Lakukanlah drag and drop Script tersebut ke dalam jendela inspector di tiap-tiap object 3D text. Sehingga jika sudah dimasukkan akan nampak seperti pada gambar berikut.



Untuk 3D text pada menu exit ada sedikit perbedaan yaitu dengan



mengaktifkan



menandakan



kalau



check



3D



text



box



Is



dengan



Quit nama



yang



mana



“exit”



untuk



tersebut



mengaktifkan perintah Is Quit pada C Sharp Script yang telah dibuat sebelumnya. Berikut adalah gambarnya.



116



Sebagai catatan bahwa pada bagian Bulid setting telah ada dua item yaitu Menu item dan level 1, sehingga saat eksekusi tidak mengalami error kaena belum adanya identifikasi scene yang akan di eksekusi.



Setelah semua langkah telah dilakukan, maka Lakukanlah Running untuk melihat hasilnya, soal bacground dan animasi telah dijelaskan pada bab terkait, sehingga pada bab ini hanya membahas mengenai pembuatan menu item statis dan dinamis. Untuk animasi dan suasana background disesuaikan dengan keadaan game dan juga kreatifitas dari user supaya dapat membuat pemain dapat tertarik untuk bermain pada game yang telah dibuat tersebut.



117



18. Pembuatan HealthBar Pada suatu game 3d maupun 2d pastilah ada yang dinamakan Health bar, tertama game yang bergenre adventure dan shooter. healthbar sangat penting didalam suatu game karena untuk mengukur kemampuan dan menjadi tolok ukur suatu nyawa dari character utama / pelaku. Fungsi lain dari health bar yaitu agar pemain tidak cepat bosan atau cepat menyerah dengan keadaan yang sulit pada game tersebut, karena dengan adanya healthbar pemain dapat memanage kondisi terbaik untuk bisa keluar dari kondisi sulit suatu game, atau dengan kata lain health bar berfungsi untuk memberikan kesempatan kepada pemain saat terkena serangan dari musuh, dan tidak cepat Game Over . karena jika cepat game over maka pemain akan bosan dan berfikir kalau game tersebut terlalu sulit. Game 3d maupun 2d memiliki heath bar yang biasa terletak dilayar bagian pojok atau di bagian bawah, penempatan health bar sangat berpengaruh sekali bagi suasana psikologis pemain, posisi health bar harus diletakkan dimana pemain dapat nyaman untuk melihatnya, warna dan bentuk haruslah jelas dan juga yang terpenting adalah kata-kata penunjuk kalau warna atau bentuk tersebut adalah health bar, bisa berupa kata-kata seperti LIVES, POINT, HEALTBAR, dll Prinsip kerja dari Health Bar disini yaitu jika terkena serangan dari musuh maka akan mengurangi nyawa atau nilai health bar tersebut, bentuk dari perubahan pada health bar bisa bermacammacam, ada yang mengurangi panjang, ada yang mengurangi jumlah dan ada pula yang mengurangi pint atau angka. Manfaat dari healthbar pada suatu game yaitu bisa menumbuhkan suasana psikologis yang lebih baik, terutama didalam 118



memanage suatu kondisi tertentu dengan berbagai pilihan, dan memberikan



tantangan



tersendiri



bagi



pemain



untuk



memacu



semangat dan pikiran. Pada bab ini akan dibahas mengenai bagaimana membuat healthbar pada suatu game 3d dengan menggunakan unity 3d, langkahnya cukup sederhana, hanya memerlukan perintah script untuk menjalankannya dan GUI Texture sebagai bentuknya. Penulis sengaja membuat healthbar dengan menggunakan tiga buah bentuk object yang telah diimport ke dalam unity project, caranya sama seperti pembuatan pada timer, dengan melakukan copy atau cut object, setelah itu di-paste pada Folder New Unity Project. Object ang digunakan sebagai health bar yaitu:



health1



health2



health1 Jika sudah diimport ke dalam unity 3d maka akan nampak icon tersebut pada jendela project seperti pada gambar berikut.



119



Langkah selanjutnya yaitu membuat GUI Texture, yang mana kegunaan dari GUI Texture adalah untuk membuat object berupa benda yang akan ditampilkan dilayar. Berikut adalah cara untuk membuat GUI Texture.



Setelah itu ubah namanya dari “Unity Watermark-small” menjadi “health3” dengan cara rename. Setelah itu lakukanlah drag and drop object ke dalam sub menu texture pada object GUI Texture, seperti pada gambar berikut.



Jika sudah berhasil memasukkan object, maka akan nampak pada layar, kemudian lakukan setting pada menu transform sehingga didapat posisi yang ideal untuk sebuah healthbar, lakukan setting dengan memasukkan angka berikut ke dalam menu transform.



120



Nilai yang tersebut adalah untuk memposisikan agar object dapat berada di pojok kiri atas seperti pada gambar. Untuk posisi lain juga bisa, tergantung dengan kenyamanan dari user untuk menempatkannya. Setelah object telah namapak dilayar, selanjutnya adalah melakukan pembuatan script yang gunanya adalah untuk merubah bentuk dari healthbar dari health3 menjadi health2 dan seterusnya. Berikut adalah scriptnya dengan nama HealthControl dengan tipe java script.



HealthControl.js var health1 : Texture2D; //melakukan penginputan object dan pendeklarasian var health2 : Texture2D; var health3 : Texture2D; static var LIVES = 3; // memberikan nilai pada sting LIVES dengan jenis Static Var function Update () { switch(LIVES) //untuk melakukan pergantian perulangan { case 3:// perumpamaan pertama guiTexture.texture = health3;//memberikan object health3 break;//mengembalikan perumpamaan pada kendali lain 121



case 2: guiTexture.texture = health2; break; case 1: guiTexture.texture = health1; break; case 0: untuk memberikan script game over break; } }



Kemudian masukkanlah ke dalam jendela inspector pada object GUI Texture yang sudah diberi nama dengan health3 dengan cara drag and drop seperti pada gambar.



122



Masukkanlah object ke dalam ketiga sub menu script dengan cara drag and drop object.



Jika sudah memasukkan object kedalam sub script menu maka yang harus dilakukan lagi yaitu membuat script untuk melakukan pengendalian saat main Character / pelaku yang berupa object capsule (main character berupa camera) terkena tembakan dari musuh dengan nama healthbar, bertipe java script.



healthbar.js static var heathtexture ;// mendefinisikan “heathtexture” sebagai static var function OnCollisionEnter (theCollision : Collision) { //fungsi untuk melakukan perintah saat object berbenturan atau bersentuhan var heathtexture = gameObject.Find("health3"); //mencari object heath3 if(theCollision.gameObject.name == "player"){ //melakukan perintah saat berbenturan dengan pelaku yang mana pelaku / character utama bernama “player” HealthControl.LIVES -= 1;//melakukan pergantian perulangan pada LIVES di script HealthControl.js } }



Selanjutnya yaitu memasukkan script tersebut ke dalam prefab peluru musuh, yang mana pada bab sebelumnya telah dibahas mengenai pembuatan object peluru musuh. Nama dari prefab peluru musuh yaitu “gun”. 123



Kemudian hal yang sangat penting untuk dilakukan yaitu membuat sub menu collider pada prefab “gun”, sub menu collider berfungsi



untuk



mendeteksi



benturan



yang



dilakukan



oleh



GameObject terhadap object lain, sehingga perintah pada script akan dapat dieksekusi dengan pendeteksian dari sub menu collider. Sub menu collider tidak bersifat otomatis, maksudnya yaitu jika sub menu collider berupa capsule collider berarti hanya mendeteksi benturan dengan object yang berupa capsule pada GameObject, untuk Box Collider hanya mendeteksi benturan dengan object cube, Sphere Collider hanya untuk mendeteksi benturan object yang berupa sphere terhadap GameObject, begitu pula dengan yang lainnya. Karena character utama atau pelaku berbentuk capsule maka yang digunakan adalah Capsule Collider, berikut adalah cara untuk memberikan sub menu collider. 124



Pilih menu component pada formating tools, lalu pilih physics kemudian pilih Capsule Collider.



Maka akan nampak sub menu Capsule Collider pada bagian jendela inspector pada object prefab “gun”.



Setelah semua langkah telah dilakukan maka untuk melihat hasilnya dapat menggunakan tombol play untuk running result.



125



Seseorang yang banyak mencoba, akan banyak pula tahu apa yang dibutuhkannya dan bagaimana cara penyelesaiannya



“Banyak mencoba maka akan banyak bisa”



-----------------Selamat Mencoba----------------



126



ABOUT AUTHOR



Yanuar



Mukhammad



adalah



seorang



mahasiswa universitas gadjah mada tepatnya di D3 Elektronika



dan Instrumentasi angkatan



2009, kelahiran kota pekalongan, jawa tengah, sekarang tinggal di Kota Batang, jawa tengah, kegiatan utama dari penulis adalah membuat animasi dan game baik itu 3D atupun 2D.



127



DAFTAR PUSTAKA



www.unity3dstudent.com www.youtube.com www.unityanswer.com



128