14 0 4 MB
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