membuat game 3d dengan unity3d

128
 1

Upload: andrieasmara

Post on 06-Oct-2015

201 views

Category:

Documents


5 download

DESCRIPTION

cara membuat game 3D dengan Unity 3D

TRANSCRIPT

  • 1

  • 2

    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 anak-anak, 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)

  • 3

    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

  • 4

    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 fitur-fitur 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

  • 5

    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 fitur-fitur 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.

  • 6

    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

  • 7

    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

  • 8

    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.

  • 9

    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

  • 10

    1. Untuk melakukan input component 2. Untuk melakukan editting object dan penambahan script 3. Untuk membuat component Support yang berupa Script atau file- file 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

  • 11

    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

  • 12

    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

  • 13

    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

  • 14

    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-----------

  • 15

    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

  • 16

    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.

  • 17

    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

  • 18

    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.

  • 19

    NO SCRIPT DEFINISI

    1 function Update() Untuk mengeksekusi perintah yang selalu

    berubah sesuai kondisi

    2 function OnCollisionEnter() Untuk mengeksekusi perintah pada

    object yang akan bertabrakan atau

    bersentuhan dengan object lain

    3 function OnTriggerEnter() 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 dan perintah-

    perintah eksekusinya

    6 public class ObjectMenu :

    MonoBehaviour

    Mendefinisikan bahwa perintah yang

    dimasukkan berupa C Sharp Script

    Itulah beberapa fungsi yang biasa digunakan 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

  • 20

    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 DEFINISI 1 Instantiate Untuk menciptakan sebuah object yang

    akan dieksekusi pada titik tertentu

    2 Destroy() Untuk menghapus object yang

    didefinisikan

    3 if() Untuk melakukan perumpaman atau

    percabangan

    4 else if() Untuk melakukan perumpamaan lain jika

    yang pertama bernilai salah

    5 Find() Untuk mencari object yang akan

    dieksekusi

    6 Transform Untuk melakukan input data pada menu

    transform suatu object

    7 Rigidbody Untuk memberikan tarikan gravitasi

    pada object

    8 Var Untuk mendefinisikan sebuah object

    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

  • 21

    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 object

    tersebut integer (angka)

    15 String Untuk mendefinisikan bahwa object

    tersebut berupa String (kata)

    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 Untuk melakukan perubahan posisi atau

    perpindahan object yang mengarah

    kedepan

    22 DeltaTime Mendefinisikan perintah time dan

    mengisi nilai default pada time

    23 Quaternion Untuk mendeklarasikan bagian suatu

    object, atau object tertentu mengenai

    identitas, posisi dll

    24 LookRotation Melihat perubahan posisi suatu object

    tertentu

    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.

  • 22

    28 Button Untuk membuat object button

    29 Box Untuk membuat object Box

    30 Rect Untuk membuat object rectangle (kotak)

    31 ........... Untuk memberikan pernyataan yang

    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 pernyataan

    sebeanyak satu kalimat

    36 /*...............*/ Untuk memasukkan pernyataan lebih

    dari satu kalimat

    37 InvokeRepeating Untuk melakukan perulangan pada

    function tertentu

    38 Function....(........) Untuk mengaktifkan function buatan

    yang telah dibuat sebelumnya

    39 -=

    +=

    Melakukan pengurarang

    Melakukan penambahan

    40 <

    >

    Kurang dari

    Lebih dari

    41 Texture2D Untuk memberikan object yang

    bertexture 2D

    42 Name Untuk mendefinisikan atau menginput

    sebuah nama suatu object atau object

    target

    43 GameObject Untuk mendefinisikan object pelaku

    atau object yang dikendalikan

    44 Collision Untuk mendefinisikan object yang akan

    berbenturan

  • 23

    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 Mengaktifkan suatu perintah jika

    bernilai true, jika bernilai false maka

    menonaktifkan perintah

    51 Translate 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.

  • 24

    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.

  • 25

    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

  • 26

    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

  • 27

    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

  • 28

    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:

  • 29

    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)

  • 30

    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.

  • 31

    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.

  • 32

    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

  • 33

    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.

  • 34

    B. Membuat Object Character Dengan Camera

    Membuat character dengan menggunakan object camera adalah salah satu cara untuk memberikan nuansa seakan-akan user-lah 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

  • 35

    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

  • 36

    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.

  • 37

    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.

  • 38

    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.

  • 39

    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

  • 40

    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

  • 41

    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

  • 42

    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

  • 43

    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

  • 44

    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.

  • 45

    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.

  • 46

    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.

  • 47

    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

  • 48

    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

  • 49

    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.

  • 50

    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.

  • 51

    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.

  • 52

    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.

  • 53

    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.

  • 54

    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

  • 55

    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

  • 56

    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

  • 57

    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.

  • 58

    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.

  • 59

    - 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.

  • 60

    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

  • 61

    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

  • 62

    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.

  • 63

    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

  • 64

    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.

  • 65

    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 efek-efek, dapat pula melakukan input benda seperti halnya pohon, ranting

  • 66

    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

  • 67

    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.

  • 68

    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

  • 69

    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

  • 70

    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 .

  • 71

    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.

  • 72

    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.

  • 73

    - 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.

  • 74

    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.

  • 75

    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

  • 76

    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

  • 77

    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

  • 78

    12. Pembuatan Background Langit

    Pembuatan Background langit pada unity 3D tidak sulit, hanya memerlukan beberapa langkah dasar, dan tidak pula menggunakan Script sehingga dapat dengan mudah 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 langit-langit 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.

  • 79

    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.

  • 80

    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.

  • 81

    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.

  • 82

    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 lain-lain.

    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

  • 83

    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

  • 84

    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.

  • 85

    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.

  • 86

    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.

  • 87

    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.

  • 88

    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

  • 89

    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

  • 90

    Penulis menamakan script tersebut dengan nama hit_player sehingga akan nampak seperti pada gambar

    Setelah dimasukkan ke dalam jendela Hierarchy pada player, maka selanjutnya yaitu memasukkan object timer, dengan cara drag and drop object sesuai nama.

    Jika semua sudah selesai dilakukan maka dapat dilakukan Running untuk melihat hasilnya.

  • 91

    14. Pembuatan GoTo Next Level jika berada di suatu posisi

    Pada bab ini akan dibahas mengenai Pembuatan Switching Level, yaitu perpindahan level dari level sebelumnya ke level selanjutnya, yang mana pembuatan ini diperlukan suatu tempat / object yang digunakan untuk menampilkan GUI Text untuk menuju ke Level selanjutnya.

    Pembuatan Switching Level ini pada game 3d sungguh sangat diperlukan, dikarenakan Switching Level biasa digunakan untuk menguji kesungguhan pemain dalam game tersebut, yaitu dengan menjadikan setiap level berikutnya menjadi lebih sulit dari sebelumnya, sehingga akan nampak menarik dan tertantang untuk bisa menyelesaikan game tersebut, bisa juga switching level diartikan sebagai pergantian suasana, sehingga pemain tidak bosan saat memainkan game tersebut.

    Untuk pada bab ini user dapat berkreatifitas sendiri, mengembangkan sendiri mengenai GUI text, GUI Box, dan object / tempat yang akan dijadikan patokan keluarnya GUI Box.

    Pembuatan dari switcing level tidaklah sulit, hanya diperlukan beberapa langkah dan pembuatan script, untuk switching level diperlukan dua script untuk sebagai pengendaliannya, dua script tersebut akan saling memanggil saat proses eksekusi, jadi kedua script tersebut haruslah benar dalam penulisan maupun susunan, sehingga saat pemanggilan tidak mengalami error.

    Jadi Prinsip kerja dari Switching level yaitu jika Character utama atau pealku berada di suatu tempat tertentu atau berada di dekat sebuah benda maka akan nampak GUI Box yang tampil di layar

  • 92

    pemain dan akan terdapat pilihan untuk melanjutkan ke level berikutnya.

    Untuk pembuatan Switching level pertama kali yang harus dilakukan yaitu membuat sebuah object, baik itu object cube, Sphere, capsule yang mana objet tersebut akan dijadikan sebuah penanda GUI Box. Disini penulis membuat sebuah capsule yang telah diberikan texture pada bagian luarnya.

    Setelah membuat sebuah object target atau object penanda setelah itu membuat dua buah script, yang mana script pertama diberikan nama dengan Display GUI Script dan yang kedua GUI Style Script. Berikut adalah Script Display GUI Script.

    Display GUI Script

    var target : Transform; //membuat dan menginputkan object target

    function Update () {

    var other = gameObject.GetComponent ("GUI Style Script"); //memanggil script lain yang bernama GUI Style Script yang dijadikan sebagai variabel other

    if (Vector3.Distance(target.position,transform.position) < 25) { //menampilkan fungsi other saat jarak kurang dari 25

    other.enabled = true; //mengaktifkan fungsi other

    }

  • 93

    if (Vector3.Distance(target.position,transform.position) > 25) { //menampilkan fungsi other saat jarak lebih dari 25

    other.enabled = false; //menonaktifkan perintah other

    }

    }

    Fungsi dari script diatas yaitu untuk memanggil perintah dari Script yang bernama GUI Style Script dan mengaktifkannya saat berada pada jarak kurang dari 25 dari object penanda atau object target, jika lebih dari 25 maka perintah dari script GUI Style Script akan di nonaktifkan. User dapat mengganti jarak dari pemanggilan script sesuai kebutuhan, jika ingin lebih ekat maka darat di kurangi jaraknya misalnya 10 atau 5, dan jika ingin jauh bisa diisikan 30 atau 35.

    Untuk Script diatas tidak lengkap jika belum diberikan Script yang bernama GUI Style Script sebagai object yang akan dipanggil oleh script diatas. Jadi edua Script ini sangat berkaitan jika salah satu terdapat error maka tidak akan bisa dijalankan. Berikut adalah script untuk GUI Style Script.

    GUI Style Script

    function OnGUI () { //memanggil perintah GUI

    GUI.Box (Rect(10,10,300,900), "Selamat Anda Telah berhasil, ingin lanjut?"); //membuat GUI Box dengan bentuk rectangle dan ukurannya 10,10,300,900, dan memasukkan kata-kata pada GUI Box .

    if (GUI.Button (Rect (130,40,80,20), "Yes")) { //membuat GUI Button dan memasukkan kata

    Application.LoadLevel(2); // memanggil dan menjalankan scene dengan nama Level2 jika GUI Button ditekan atau di click

    }

    }

  • 94

    Fungsi dari Script dari diatas yaitu untuk menampilkan sebuah GUI Box dengan terdapat sebuah pilihan dengan tombol GUI Button, sehingga jika tombol GUI Button ditekan atau di-click satu kali maka akan mengaktifkan scene yang bernama Level2. Maka dari itu sebelumnya haruslah dibuat sebuah level lagi yang diberi nama dengan Level2. Namun jika ingin melakukan pemanggilan scene hal yang perlu diperhatikan yaitu harus me masukkan scene tersebut pada jendela Build Settings terlebih dahulu untuk pendefinisian scene yang akan dipanggil.

    Urutan Scene

    Scene Editor

    Untuk memasukkan Scene

  • 95

    Setelah semua hal dilakukan, maka yang terakhir yaitu memasukkan script tersebut ke dalam object Character utama atau object pelaku dengan cara drag and drop ke jendela Inspector. Sehingga akan nampak seperti gambar berikut.

    Setelah itu memasukkan object target yang berupa benda atau yang lainnya ke dalam sub menu dari script Display GUI Script , penulis menggunakan sebuah object yang berbentuk capsul, untuk object lain juga boleh tergantung kebutuhan dari game tersebut dan disesuaikan dengan keadaan pada game yang akan dibuat.

  • 96

    Setelah memasukkan objet target, maka selesailah sudah pembuatan dari Switching Level, untuk melihat hasilnya dapat dilakukan running , jika berhasil maka akan namapak GUI Box pada saat character utama / pelaku berada di object target tersebut dengan ketentuan jarak yang telah dimasukkan ke dalam script.

  • 97

    15. Membuat Animasi

    Animasi di dalam dunia game sangatlah berpengaruh besar terutama dalam pengaturan suasana yang interaktif, animasi biasa digunakan untuk menjadikan sebuah object seakan-akan hidup, dapat bergerak sendiri dengan gerakan tetap maupun berubah-ubah. Biasanya pemakaian animasi didalam dunia game cenderung untuk menciptakan suasana yang tidak membosankan, agar si pemain dapat merasakan interaktif dan keadaan seperti didunia nyata, selain itu bisa juga untuk pendukung suasana game, seperti halnya sauasana di hutan yang banyak hewan yang bergerak, atau suasana di bandara yang ada pesawat beterbangan, sehingga seolah-olah pemain berada didalam dunia nyata. Didalam Unity 3D terdapat fitur yang bisa digunakan untuk membuat animasi, ada tipe-tipe animasi yaitu animasi yang berulang (continue) dan ada yang tidak berulang (one Loop), untuk aimasi yang berulang prinsip kerjanya yaitu, jika suatu pergerakan animasi telah ditetapkan dari titik awal gerakan hingga akhir gerakan, maka benda tersebut akan bergerak suai alur yang telah ditetapkan tersebut, jika telah mencapai titik akhir gerakan maka akan kembali ke posisi awal dan akan melakukan pergerakan seperti sebelumnya secara berulang-ulang. Berbeda dengan animasi yang one loop, prinsip kerjanya yaitu jika suatu object benda telah mencapi titik gerak akhir maka akan kembali ke posisi semula dan akan berhenti, hanya satu kali pergerakan dalam game. Untuk memilih animasi apa yang akan digunakan didalam sebuah game haruslah sesuai dengan keadaan pada game, dan juga harus sesuai kebutuhan, karena jika terlalu banyak animasi maka hasil game akan menjadi jelek, harus ada object yang dalam posisi bergerak dan ada pula yang di posisi diam, keduanya harus sinkron.

  • 98

    Berikut adalah cara pembuatan animasi didalam unity 3D, yang mana pembuatan animasi sebenarnya mudah, namun yang sulit adalah menyesuaikan dengan keadaan game. Pertama yaitu membuat sebuah object yang akan dibuat animasi, disini penulis menggunakan particle system untuk object animasinya, untuk object animasi terserah pada user, tidak harus particle system, namun benda seperti Cube, Sphere, Cilinder dll dapat digunakan juga. Memilih object

    Setelah itu maka akan nampak sebuah object yang unik yaitu sebuah object dengan particle-particle kecil berhamburan disekitarnya. Seperti gambar dibawah ini.

  • 99

    Setelah terbuat object yang akan dibuat animasi, langkah selanjutnya yaitu membuat track animasi object, yaitu dengan cara memilih menu Windows pada Formating Tools, maka pilihlah sub menu animasi didalamnya.

    Sub Menu Animation

    Maka akan nampak jendela animasi dari Unity 3D sepert pada gambar berikut ini.

  • 100

    Untuk langkah selanjutnya yaitu membuat track animasi dari object target, yang pertama yaitu menekan tombol record sehingga pergerakan object target dapat terekam dengan baik.

    Tombol Record

    Kemudian mulai gerakkan object target (Particle System) tersebut ke arah yang diinginkan, sehingga jika terekam dengan baik maka akan nampak seperti pada gambar berikut.

  • 101

    Untuk melakukan perpindahan object dari tempat satu ketempat lain yang harus diperhatikan yaitu dengan menekan Track Record terlebih dahulu, baru kemudian object dapat digerakkan sesuai keinginan, seperti pada gambar.

    Record On Click Satu kali di sini

    Track Record

    Gerakkan object sesuai keinginan, jika object sudah cukup dalam pergerakannya, artinya sudah menempati pergerakan terakhir, maka untuk melihat hasil gerakan object tersebut dapat dilakukan one click pada pada tombol Run berikut. Namun sebelumnya Tombol record haruslah dinonaktifkan terlebih dahulu.

    Tombol Run

    Tombol Record

    Jika animasi berjalan dengan baik maka akan nampak menu animasi didalam jendela Inpector dari Particle System, seperti gambar berikut.

  • 102

    Untuk langkah selanjutnya yaitu menentukan bagai mana tipe dari animasi object tersebut, yaitu dengan cara memilih file animation yang telah tersimpan saat pembuatan animasi pertama dengan cara Double Clik, seperti pada gambar berikut.

    Double Click disini

    Maka akan nampak pilihan pada jendela inspector object particle system, seperti pada gambar.

    Tipe Animasi

    Single Loop

    Continue Loop

    Pilih salah satu tipe animasi yang diinginkan, dengan catatan harus sesuai dengan tema game yang akan dibuat, dan juga suasana game yang diinginkan.

  • 103

    Jika semua hal telah dilakukan maka untuk melihat hasilnya dapat dilihat dengan cara melakukan Running sehingga akan terlihat hasil animasi dari object target tersebut.

    Contoh diatas hanyalah sebagai gambaran dasar dari pembuatan object animasi, untuk selanjutnya User bisa membuat dengan variasi lain yang berbeda dan disesuaikan oleh keadaan yang akan di buat didalam game. Selamat mencoba.........

  • 104

    16. Pembuatan Menu Item

    Pembuatan menu item didalam suatu game adalah penting sekali, karena menu item biasa muncul di saat permainan akan dimulai, dan juga akan dieksekusi pertama kali, sehingga pemain akan menilai game tersebut saat itu pula, jika tampilan dari menu item suatu game tidak menarik minat dari pemain maka cenderung pemain akan bosan, dan akan beranggapan rendah terhadap game tersebut.

    Jadi penilaian dari pemain dimulai saat main menu muncul, jika main menu menarik minat dari pemain maka pemain akan senang dan tertarik untuk bermain game tersebut terus menerus, Sehingga dapat pula diartikan menu item sebagai item awal pembawa suasana game, dan daya tarik pemain.

    Biasanya menu item bersifat attraktif dan dinamis, bisa pula statis, namun jika statis akan membuat game tidak lebih hidup. Didalam menu item terdapat suatu gambaran dasar tentang game yang akan dimainkan seperti halnya adanya gambar Character tokoh dan character musuh, adanya background peperangan atau hutan, bisa pula dengan music yang mendukung, semuanya bisa dijadikan sebagai gambaran sebuah game, sehingga pemain akan tertarik untuk memeinkan game tersebut.

    Yang terpenting yaitu gambaran suasana di dalam game janganlah berbeda dengan gambaran suasana dimenu item, sehingga pemain tidak merasa curiga atau berganti suasana secara mendadak, game yang baik biasanya menggunakan menu item yang attractive yaitu dengan adanya pergerakan animasi dan perubahan warna text saat ditekan atau click, itu pun termasuk salah satu yang membuat pemain bisa tertarik dengan game didalamnya. Maka dari itu

  • 105

    pembuatan menu item janganlah sembarangan, haruslah disesuaikan dengan keadaan.

    Untuk di bab ini akan dibahas mengenai bagaimana cara membuat menu item suatu game dengan dua tipe yaitu tipe statis dan tipe attractive dan dinamis, yang biasa digunakan didalam suatu game 3d, penulis hanya mencontohkan pembuatan menu item yang dasar, untuk selanjutnya, mengenai pengkodisian suasana atau background dapat dikembangkan sendiri dengan sentuhan seni dan imaginasi.

    Tampilan umum dari menu item yaitu seperti pada gambar berikut, penulis membuat menu item dengan animasi, particle system dan kondisi suasan background seperti di rawa-rawa.

    Menu item Statis

    Menu item Dinamis

    Particle System

    Suasana di rawa

  • 106

    A. Pembuatan Menu Item Statis

    Pembuatan main menu yang statis lebih mudah dari pada menu item yang dinamis dikarenakan hanya menggunakan GUI Box dan GUI Button untuk Formnya, sehingga tidak ada unsur animasi didalamnya. Untuk mengkondisian suasana dapat dilakukan pada background, karena pada Button dan Form tidak dapat diberikan suasana game.

    Untuk pembuatan Menu item statis ini penulis hanya mencontohkan dengan satu Form GUI Box dan satu GUI Button, sehingga untuk proses pengembangan lebih lanjut user bisa melakukannya sendiri dengan prinsip dasar yang sudah dicontohkan.

    Berikut adalah langkah awal didalam pembuatan menu item yang statis, dengan membuka jendela java script dan menuliskan Script berikut.

    function OnGUI () { // membuat fungsi GUI

    GUI.Box (Rect(10,10,200,90), " Start The New Game?"); //membuat GUI Form dengan kata

    if (GUI.Button(Rect(60,40,80,20),"yes")) //membuat GUI Button dengan kata

    {

    Application.LoadLevel(1); //memanggil Scene Unity dengan nama Level1

    }

    }

  • 107

    Selanjutnya memasukkan Scene Unity yang akan dieksekusi yaitu Scene menu item dan scene Level1 pada jendela Build Settings, seperti pada gambar berikut. File -> 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.

  • 108

    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.

  • 109

    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.

  • 110

    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 .

  • 111

    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.

  • 112

    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.

  • 113

    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.

  • 114

    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.

  • 115

    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 } } }

  • 116

    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 check box Is Quit yang mana untuk menandakan kalau 3D text dengan nama exit tersebut mengaktifkan perintah Is Quit pada C Sharp Script yang telah dibuat sebelumnya. Berikut adalah gambarnya.

  • 117

    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