pelatihan game development
TRANSCRIPT
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 1
Daftar Isi
Daftar Isi 1
Penting dibaca 2
Into Game-Dev 3
Apa itu Unity 3D 4
First Project : 3D First Person 9
1. Membuat Dataran (Terrain) 9
2. Character Controller 11
3. First Object : Wall 13
4. Insert Texture 14
5. First Script 17
6. Animating Object 20
7. Game Atribute 24
8. Lighting Effect 27
9. Skyboxes 29
What’s Next 31
Daftar Pustaka 32
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 2
Penting Dibaca
Sebelum anda melangkah lebih lanjut kedalam tutorial ini, sangat dianjurkan
agar anda membaca bagian ini terlebih dahulu agar tidak timbul kebingungan
dalam diri anda nantinya.
1. Tujuan dari tutorial ini adalah untuk mengenalkan tentang Game-
Development dan penggunaan UNITY 3D game engine. Sehingga
tutorial ini lebih tepat untuk kalangan pemula yang ingin belajar.
2. Yang anda dapatkan dengan mengikuti pelatihan ini nantinya adalah :
a) Mengerti apa itu game-development.
b) Mengerti dasar-dasar dari interface UNITY 3D.
c) Dapat mengoperasikan UNITY 3D secara umum.
d) Membuat game 3D FPS sederhana.
3. Jangan sungkan dan malu untuk menghubungi saya atau instruktur
yang ada apabila anda mengalami kesulitan atau ingin bertanya.
4. Saya, instruktur yang hadir, serta seluruh panitia tidak akan
bertanggung -jawab atas apa yang anda lakukan dan penyalah-gunaan
pelatihan maupun tutorial ini.
5. Tutorial ini bersifat terbuka, anda dapat menyebarkan atau bahkan
menyempurnakannya di kemudian hari jika berkenan, namun tidak
untuk komersial.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 3
Into Game-Dev
Saya mengasumsikan anda sekalian adalah orang yang masih belum awam
dengan game development dan baru saja memasukinya untuk belajar, oleh
karenanya sedikit pengantar tentang game development mungkin anda
butuhkan.
Game berdasar pada imajinasi, sebuah dunia yang penuh dengan kreatifitas.
Game adalah sebuah produk seni, sama seperti anda membuat sebuah
gambar dengan menggunakan Corel Draw, video dengan menggunakan
Movie Maker, atau sekedar meng-edit foto dengan menggunakan Adobe
Photoshop. Oleh karenanya untuk membuat game yang anda butuhkan hanya
dua : imajinasi dan sedikit pengetahuan penggunaan tool dan Unity 3D adalah
tool utama yang nantinya akan anda gunakan dalam mengembangkan
imajinasi anda.
Tentunya anda sudah sering kali bermain game, mulai dari game terbaru dan
umum seperti Counter Strike, Warcraft, Need for Speed, Elder Scroll, dll
hingga game klasik masa kanak-kanak seperti Mario Bros, Zelda, Megaman,
dll. Bagi anda yang sudah biasa memainkan banyak game tentunya sudah
tahu banya macam-macam genre game, beberapa genre game yang umum
beredar saat ini antara lain RPG (Role Playing Game), FPS (First Action
Shooter), Sports, Racing, RTS (Real Time Strategy), Third Person, Arcade,
dan MMO (Massively Multiplayer Online). Namun terlepas dari genre tersebut,
game terbagi menjadi 2 macam berdasarkan platformnya yaitu 2D dan 3D,
yang nantinya akan anda akan mendapatkan kesempatan mencoba membuat
dalam platform 3D.
Kembali tentang game development, pengembangan sebuah game tidaklah
dilakukan oleh perseorangan, namun dilakukan oleh sebuah tim. Jika anda
berkesempatan menamatkan sebuah game atau membuka bagian “About”
maka biasanya anda akan melihat sederetan nama yang merupakan
kontributor dalam pengembangan hingga pemasaran game tersebut.
Umumnya terdapat 5 elemen utama dalam pengembangan game, yaitu
produser, game designer, proggrammer, art designer, audio designer.
Elemen ini dapat bertambah sesuai dengan kebutuhan juga menyesuaikan
dengan ketersediaan dana, biasanya semakin besar skala gamenya maka
semakin banyak juga elemen yang dibutuhkankan.
Demikian adalah sedikit pengantar mengenai game development, sebelum
kita benar-benar masuk kedalam pelatihan ini, saya akan terlebih dahulu
mengajak anda untuk mengenal tool yang akan kita gunakan sealama
pelatihan ini, yakni Unity 3D.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 4
Apa itu Unity 3D
Unity adalah sebuah tool game development, yang juga dapat dikatakan
sebagai sebuah “game engine” yang artinya project dari Unity ini akan
di”assembly” menjadi sebuah game (Corel Draw, Blender, dll juga dapat
dikatan tool game development namun bukan game engine). Unity terkenal
karena kemudahan, fleksibilitas dan kekuatannya dalam membuat sebuah
game, dikatakan mudah karena interfacenya yang ringan dan mudah
dipahami hingga membuat orang yang baru belajar sekalipun akan langsung
mampu membuat sebuah game sederhana, dikatakan fleksibel karena anda
akan dapat menuangkan kreatifitas anda semaksimal mungkin secara unity
mendukung banyak mode dan platform, dikatan kuat karena dengan engine
yang digunakan Unity mampu menghasilkan sebuah game yang “rumit/berat”
baik secara visual, kompleksitas, dan juga konten yang diusung. Beberapa
game yang mungkin anda kenal yang dibuat menggunakan Unity antara lain
adalah “Need for Speed World”, “Battlestar Galactica Online”, “Drift Mania
Championship”, “Dungeon Empires”, “Tiger Woods PGA”, dll. Selain itu juga
terdapat beberapa studio yang menggunakan unity sebagai salah satu game
engine antara lain adalah “Electronic Arts”, “GLU Mobile”, “Marvel Studio”,
“Niclodeon”, dll. Ini membuktikan bahwa Unity 3D merupakan tool yang
handal.
Unity 3D mendukung banyak sekali platform, tidak hanya untuk desktop,
namun juga untuk IoS, Android, Wii, dan lainnya.unity juga dapat mengimport
banyak format untuk membantu anda dalam mendevelop game, antara lain
adalah Maya, 3DMax, Blender, City Engine, Filter Forge, dll.
Gambar 1 : Unity 3D ketika pertama dijalankan
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 5
Gambar 2 : halaman awal Unity 3D
Masuk kedalam interface, unity memiliki 4 area utama dan 3 menu bar,
seperti terlihat pada gambar 2, dengan penjelasan sebagai berikut :
Nomor 1 : Scene/Game/Animation
Scene adalah area dimana game anda dibuat, area ini digunakan unuk
membuat dan menaruh objek serta memanipulasinya, dibagian pojok kanan
atas adalah tools untuk mengatur view/sudut pandang dari desain anda
secara default (sumbu x, y, atau z). Pengendalian area ini menggunakan
mouse klik kiri untuk memilih/memblok objek, klik kanan untuk memutar view
secara random, klik tengah untuk menggeser view, dan scroll untuk men-
zoom in dan out.
Game adalah area dimana anda dapat melihat game yang anda buat ketika
dijalankan walaupun belum game anda belum selesai. Erat kaitannya dengan
menu bar yang dikotak biru, akan dijelaskan selanjutnya.
Animation adalah area yang sesuai namanya dimana anda membuat animasi
dari game (objek dalam game lebih tepatnya) yang anda buat sebelumnya di
area scene.
Nomor 2 : Hierarchy
Hierarchy adalah area dimana seluruh objek yang berada dalam area Scene
tertulis, objek yang tertulis di dalam area hierarchy dapat disortir sesuai
dengan kebutuhan dan kemudahan anda. Area hierarchy berhubungan erat
dengan area Project.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 6
Nomor 3 : Project
Project adalah area dimana seluruh asset yang anda imporkan kedalam unity
ketika membuat projek baru, seperti sebuah perpustakaan, semua objek,
script, texture, dan yang lainnya berada dan ketika anda membutuhkannya
anda hanya perlu memanggilnya. Area Project berhubungan erat dengan
area Hierarchy karena proses pemanggilan objek terjadi ketika anda men-
drag objek yang berada di area Project kearah area Hierarchy, dengan
demikian objek akan muncul di area Scene.
Nomor 4 : Inspector
Inspector adalah area dimana objek yang sedang aktif (disorot) baik itu yang
berada di area Scene, Hierarchy, maupun Project akan ditampilkan
keterangannyanya sehingga bisa di-edit. Editing ini umumnya meliputi
atribut, texture, dan yang paling sering adalah scriptnya.
note :
untuk perlu diketahui terlebih dahulu, bahasa pemrograman yang dikenali Unity ada
tiga : C#, Java, dan Phyton. Dalam tutorial ini bahasa yang akan digunakan adalah
Java.
Selain 4 area, juga terdapat 3 menu bar yang memiliki fungsinya masing-
masing yang mana penjelasannya adalah sebagai berikut :
Menu bar 1 :
Nomor 1 : Berfungsi untuk menggerakan field of view secara bebas.
Nomor 2 : Berfungsi untuk memindahkan/menggerakkan objek.
Nomor 3 : Berfungsi untuk memutar objek.
Nomor 4 : Berfungsi untuk memperbesar/memperkecil objek.
Fungsi dari nomor 2-3 dapat digunakan secara 3 dimensi.
Menu bar 2 :
Merupakan menu bar utama yang memiliki banyak fungsi sesuai dengan
kategorinya, misalkan “GameObject” berfungsi untuk membuat objek game,
“Terrain” berfungsi untuk membuat sebuah lahan dan pengaturannya,
“Component” berfungsi untuk memunculkan komponen tambahan dan
pengaturan yang belum ter-include dalam objek, dll.
1 2 3 4
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 7
Menu bar 3 :
Tentunya anda sudah tidak asing lagi dengan ketiga lambang tersebut, yakni
“Play”, “Pause”, dan “Forward”. Dan seperti yang anda pikirkan, fungsi
ketiganya adalah untuk menjalankan dan mencoba game yang anda buat.
Ketika anda menekan “Play”, secara otomatis area “Scene” akan berpindah
ke “Game”.
Setelah anda mulai mengenal sedikit interface awal dari unity cobalah
terlebih dahulu sebelum anda memulai lebih jauh hingga anda terbiasa,
terutama bagi anda yang masih belum terbiasa dengan aplikasi desain 3
dimensi. Anda juga dapat mencoba sebuah game bonus bernama “Angry-
Bots” (jika anda meng-install unity versi terbaru), anda dapat memainkan dan
meng-editnya sesuka anda. Nah, jika anda merasa sudah cukup terbiasa
maka kita akan lanjutkan dengan membuat sebuah project baru.
Pertama-tama masuklah ke menu bar “File”->kemudian pilih “New Project”
(bukan New Scene), akan muncul jendela seperti dibawah, untuk saat ini pilih
saja “Don’t Save”.
Gambar 3 : Jendela baru yang muncul
Kemudian akan muncul jendela “Project Wizard” seperti dibawah, pada
bagian “Project Location” masukkan alamat tempat anda ingin menyimpan
game anda beserta nama game anda (dalam hal ini sama memilih nama “first
game”), kemudian pada bagian “Import the following packges” untuk saat ini
beri tanda centang pada seluruh kotak yang tersedia, kedepannya anda
dapat memilih sendiri sesuai kebutuhan anda “package” yang ingin anda
gunakan. Package berisi “paket-paket” objek dan atributnya yang nantinya
anda butuhkan dalam membangun sebuah game.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 8
Gambar 4 : Jendela ”Project Wizard”
Setelah itu Unity akan menutup dirinya sendiri dan memuat seluruh
“packages” yang sebelumnya anda pilih kemudian membuka kembali, proses
ini akan memakan waktu cukup lama sehingga anda cukup sabar menunggu.
Setelah beberapa saat maka anda akan mendapatkan jendela baru sebagai
berikut.
Gambar 5 : Jendela baru
Berikutnya anda akan memasuki lebih jauh kedalam game pertama anda.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 9
First Project 3D : First Person
Dalam project pertama ini anda akan membuat sebuah game 3D sederhana
dengan menggunakan sudut pandang orang pertama. Skenario dalam game
ini adalah anda tersesat berada dalam sebuah labirin (maze) dimana anda
harus mencari jalan keluar, namun jalan keluar ini tidak akan terbuka tanpa
anda mencari 7 kunci yang tersebar secara acak dalam labirin tersebut.
Untuk itu yang pertama-tama anda butuhkan adalah sebuah dataran(terrain),
langsung saja masuk ke menu bar “Terrain”->”Create Terrain” maka
kemudian muncullah dataran yang anda butuhkan, ukurannya mungkin
terlalu besar sehingga anda dapat mengecilkannya dengan masuk ke menu
bar “Terrain”->”Set Resolution” sehingga akan muncul jendela berikut, disini
saya men-set panjang dan lebar dari terrainnya menjadi 150.
Gambar 6 : Set Resolution
Setelah anda memiliki sebuah dataran, yang perlu anda lakukan adalah
mengecat dataran anda dengan sebuah texture tertentu, yang perlu anda
lakukan adalah lihat pada area “Inspector”->”Terrain Script”->klik pada
tombol “Paint Texture”(yang di highlight). Setelahnya klik pada bagian “Edit
Texture”->”Add Texture”, kemudian akan muncul sebuah jendela “Add
Terrain Texture”, klik pada tanda o dibagian kanan dari “Splat”, disini
terdapat banyak sekali texture yang dapat anda gunakan, anda dapat memilih
dengan bebas, disini saya akan menggunakan “Grass (Meadows)”.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 10
Gambar 7 : Paint Texture
Gambar 8 : Add Terrain Texture
Gambar 9 : Dataran setelah diberi texture
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 11
Setelah anda memiliki dataran, anda dapat memasukkan “Character
Controllers”. Character Controllers adalah (seperti namanya) pengontrol
karakter yang merupakan bawaan dari Unity, dan sudah merupakan
pengontrol yang hebat bahkan tanpa anda tambahkan script sekalipun,.
Langsung saja, pada area Project->Standart Assets->Character Controllers->
drag prefab “First Person Controller” ke area Hierarchy.
Gambar 9 : Memasukan First Person Controller kedalam game
Segera setelah anda memiliki karakter First Person, anda dapat langsung
mencoba game anda dengan menekan Play pada menu bar. Secara default,
kontrol karakternya adalah tombol tanda panah atau ASWD dengan spasi
untuk melompat.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 12
Gambar 10 : Menjalankan game untuk pertama kali
Setelah anda mencoba menjalankan karakter anda, elemen berikutnya yang
anda butuhkan adalah labirin yang terbuat dari kumpulan dinding. Disini saya
akan membuat dinding pertama dengan ukuran 150x5x1. Untuk merubah
ukuran anda cukup meng-aktifkan objek (dengan cara mengkliknya), lalu
pada area Inspector->Scale rubah nilai dai variabel X, Y, dan Z.
Dinding ini saya posisikan sebagai pembatas luar dari daratan permainan
dengan yang bukan daratan agar karakter tidak terjatuh.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 13
Gambar 10 : Menjalankan game untuk pertama kali
Karena diposisikan sebagai pembatas luar, maka saya membutuhkan 4 buah
dinding yang sama dengan klik kanan pada objek di area Hierarchy-
>Duplicate. Setelahnya, saya me-rename dinding ini dari Cube menjadi
“Dinding pembatas luar” agar nantinya tidak rancu. Kemudian untuk
memudahkan pengaturan, pada area Hierarchy saya sortir menjadi lebih
ringkas seperti berikut dengan cara men-dragnya masuk satu-persatu.
Gambar 11 : Membuat 4 dinding pembatas luar
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 14
Gambar 11 : Men-sortir area Hierarchy
Setelah anda memiliki dinding, akan kurang realistis apabila dindingnya
hanya terdiri dari waarna yang solid, oleh karenanya anda dapat
memasukkan texture kedalamnya, dengan cara meng-aktifkan objek-> pada
bagian Inspector->”Mesh Renderer”->”Materials”->klik pada tanda o.
Gambar 12 : Memasukkan texture kedalam objek
Tentunya karena unsur utama dalam game ini adalah labirin, maka anda perlu
membuat labirin, dengan menggunakan cara yang sama anda membuat
dinding pembatas luar diatas. Sesuaikan dengan krativitas anda. Labirin hasil
buatan saya adalah sebagai berikut, dimana pojok kiri bawah merupakan
tempat start dan pojok kanan atas merupakan tempat finish.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 15
Gambar 13 : Labiri akhir
Anda telah memiliki labirin, selanjutnya sesuai dengan tujuan dari game ini,
anda memerlukan 7 buah kunci yang anda letakkan secara acak di labirin
tersebut.
Pertama-tama membuat sebuah kunci, buat sebuah objek sembarang dan
anggaplah itu adalah sebuah kunci dengan cara yang sama anda membuat
objek-objek sebelumnya dan jangan lupa diberi nama agar tidak rancu (disini
saya beri nama “cratekey”).
Setelah anda membuat kunci, duplikat hingga menjadi 7, kemudian
tempatkan secara random di labirin.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 16
Gambar 14 : Kunci untuk membuka gerbang
Selanjutnya adalah membuat agar karakter anda dapat mengambil kunci,
untuk itu dibutuhkanlah script. Cara membuat scrip adalah dengan meng-klik
tanda “Create” pada area Project->JavaScript (dalam tutorial ini
menggunakan bahasa java). Kemudian beri nama “ambil-kunci”, lalu klik
dobel hingga muncul jendela “Mono Develop”, lalu tuliskan script sebagai
berikut.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 17
Gambar 15 : Membuat script dan jendela MonoDevelop
Scriptnya :
static var NUMBER_KEY = 0; function OnControllerColliderHit(hit :ControllerColliderHit) { if (hit.gameObject.tag == "cratekey") { //menghilangkan cratekey Destroy(hit.gameObject); NUMBER_KEY ++; GameObject.Find("g_keytext").guiText.text = ""+NUMBER_KEY; } }
Secara umum script diatas ini berfungsi untuk menghancurkan objek dengan
tag “cratekey” ketika bersentuhan (ColliderHit), dan dipasang pada karakter
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 18
(OnController), pada baris berikutnya terdapat script yang berfungsi untuk
menghitung jumlah key yang sudah diambil dan ditampilkan pada layar
(“g_keytext”.guiText.text=””+NUMBER_KEY pembahasan mengenai
guiText ini akan ada pada bagian berikutnya), semua yang saya beri highlight
dapat anda beri nama sesuka anda namun anda harus mengingatnya karena
akan sangat dibutuhkan nantinya . Sehingga ketika anda mengambil kunci
maka secara otomatis kunci akan hilang dan dilayar muncul angka yang akan
terus bertambah seiring anda mengambil kunci.
Selesai dengan script saatnya anda mengimplementasikan script ini kedalam
objek anda, seperti yang telah sedikit dijelaskan diatas bahwa script ini
dipasang pada karakter (OnController) maka anda perlu memasangnya pada
karakter, caranya adalah aktifkan karakter anda dengan meng-kliknya->
kemudian drag file scriptnya (disini saya beri nama “a_ambilkey”) ke area
Inspector dari objek karakter.
Gambar 16 : Memasukkan script kedalam karakter.
Anda telah memiliki script, namun jangan lupa, script ini hanya bekerja
dengan objek yang memiliki tag “cratekey”. Oleh karenanya pada objek kunci
perlu anda beri tag, caranya aktifkan objek key anda dengan cara diklik->
kemudian pada area Inspector tepat dibawah nama objek ada kolom Tag->
klik dan pilih “Add Tag”->pilih pada “Tags”->pada “Elemen 0” masukkan
nama dari tag yang anda sebelumnya buat pada script (disini saya
menggunakan nama tag “cratekeey”)->setelahnya anda kembali pada kolom
tag->pilih “cratekey”(yang diinputkan sebelumnya).
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 19
Gambar 17 : Memasukkan tag kedalam objek
Setelah selesai anda dapat mencoba memainkan game anda untuk
mengetahui apakah scriptnya sudah berjalan atau tidak.
Sekarang setelah anda memiliki labirin dan kunci untuk membuka pintunya
selanjutnya adalah membuat pintunya terbuka apabila aanda telah
mendapatkan 7 kunci. Caranya adalah dengan masuk ke area Animation (jika
tidak ada anda dapat membuat tab baru dengan mng-klik tanda di pojok
kanan atas->add tab->animation).
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 20
Gambar 18 : Memuat area animation
Setelah itu anda dapat membuat animasi baru dengan cara mengaktifkan
pintu keluar->klik pada sudut tengah atas area Animation->pilih “Create New
Clip”.
Gambar 19 : Membuat animasi 1
Akan muncul jendela “Create ew Animation”, beri nama “pintu_otomatis”->
langsung klik ok.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 21
Gambar 20 : Membuat animasi 2
Dalam animasi ini pintuk akan dibuat membuka secara otomatis, untuk itu
tekan tanda berikut, tanda ini berfungsi untuk memulai membuat animasi.
Segera setelahnya klik pada bagian seperti pada gambar->add key. Ini
berfungsi untuk membuat penanda pada objek yang akan dianimasikan. Atur
pada bagian “Position”.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 22
Gambar 21 : Membuat animasi 3
Dapat anda lihat pada bagian yang dilingkari biru, ini merupakan bagian
timeline, pergerakan objek yang diatur setiap waktunya dalam satuan detik.
Bagi anda yang sudah terbiasa menggunakan aplikasi video editing atau flash
maka fungsinya persis seperti yang anda bayangkan. Untuk mengaturnya
anda dapat menggunakan scroll mouse untuk memperbesar/memperkecil
waktu timeline.
Setelah anda memasukkan key, geser waktu pada timeline hingga
menunjukan 0:30->lalu pada area Scene turunkan sedikit pintunya, ulangi
seterusnya hingga pintu turun seluruhnya (disini saya membutuhkan 3:00
untuk menurunkan pintu seluruhnya). Dan hilangkan tanda centang pada
tanda “Play Automatically” pada area Inspector.
Gambar 22 : Membuat animasi 4
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 23
Sekarang anda telah memiliki sebuah pintu yang dapat otomatis terbuka,
yang perlu anda lakukan selanjutnya adalah membuat script yang membuat
dapat pintu terbuka apabila anda telah mengumpulkan 7 kunci. Buatlah
sebuah script baru (dengan cara yanga sama seperti sebelumnya) dan beri
nama “a_door”, kemudian tuliskan script seperti berikut.
Scriptnya :
function Update () { var hit : RaycastHit; if (Physics.Raycast(transform.position, Vector3(24.67453, 2.264201, -1.835431), hit, 30)) { if (a_ambilkey.NUMBER_KEY == 7) { hit.collider.gameObject.animation.Play("pintu_otomatis"); } } }
Anda dapat mencoba memainkan game anda untuk mengetahui apakah
scriptnya sudah bekerja atau belum. Jika sudah berhasil maka anda telah
mencapai akhir dari dari tutorial ini.
Berikutnya adalah membuat sebuah penanda jumlah kunci yang telah anda
dapatkan, untuk itu anda membutuhkan sebuah GUI Text, GUI Text adalah
text yang akan muncul dalam interface game dan tidak akan berubah
posisinya. Langsung saja pada area Hierarchy klik Create->GUI Text.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 24
Gambar 23 : Membuat GUI Text
Yang ini rubah namanya menjadi “Key_Obtained_Text”. Kemudian lihat pada
area Inspector->rubah atributnya menjadi seperti berikut.
Gambar 24 : Mem-edit GUI Text
Pada bagian “Text”, apapun yang anda ketikkan akan muncul sebagai text
yang ditampilkan, disini saya menuliskan kata “Key Obtained :”. Kemudian
pada bagian “Font Size” seperti yang anda temui pada aplikasi word
processor berfungsi untuk merubah ukuran font, ukuran awalnya terlalu kecil
jadi coba dibesarkan hingga 27 atau sesuka anda. Pada bagian “Font” juga
sama berfungsi untuk mengubah jenis font, namun disini tidak saya rubah,
jika anda ingin mengubahnya anda dapat langsung meng-klik untuk memilih
font, atau jika tidak ada pilihan font anda tinggal meng-import font yang anda
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 25
inginkan. Setelah anda membuat perubahan maka tampilannya akan menjadi
seperti ini.
Gambar 25 : Mem-edit GUI Text 2
Berikutnya yang kita lakukan adalah menempatkan text tersebut di sudut kiri
atas dari jendela, untuk itu perhatikan bagian Transform dari area Inspector.
Gambar 26 : Mem-edit posisi GUI Text
Ubag menjadi sebagai berikut, atau sesuaikan dengan keinginan anda.
Gambar 27 : Mem-edit posisi GUI Text 2
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 26
Posisinya akan menjadi sebagai berikut.
Gambar 28 : Mem-edit posisi GUI Text 3
Berikutnya buatlah lagi sebuah GUI Text, seperti langkah yang sebelumnya,
namun kali ini beri nama “gui_text”, namun anda perlu menyesuaikan dengan
script yang pertama anda tulis sebelumnya, ini dikarenakan dua hal ini akan
berkaitan. Isikan “Text” pada area Inspector dengan angka “0”, dan font size
27, sama seperti sebelumnya. Pada bagian Transform silahkan anda coba
posisikan sendiri untuk lebih memahami cara kerja dari Transform.
Gambar 29 : Mem-edit posisi GUI Text 4
Setelah anda memiliki sebuah GUI Text baru, yang perlu anda lakukan adalah
menambahkan script agar angka yang ada didalamnya dapat bertambah
sesuai dengan jumlah kunci yang anda ambil. Kembali mengulangi prosedur
membuat script sebelumnya, buat script baru dan beri nama “a_guitext”.
Isikan dengan script sebagai berikut.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 27
Scriptnya :
function Awake () { guiText.text = "" +0; }
Fungsi dari script ini adalah mengintegrasikan dengan script yang pertama, berikut perhitungannya.
Setelah script anda jadi anda tinggal memasangkannya pada objek gui_text.
Gambar 30 : Mem=ngecek script gui text
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 28
Setelah anda selesai dengan menambahkan script anda dapat menjalankan game anda untuk mengetahui apakah script sudah berjalan atau tidak.
Dalam tutorial ini saya sudah menambahkan lighting agar gambar yang saya screenshot tidak terlalu gelap, untuk anda dapt kita mulai dengan mengklik Create pada area Hierarchy, terdapat 4 model lampu yang anda pilih.
Gambar 31 : Tampilan tampa lampu/lighting
Anda dapat berkreasi sendiri dalam penggunaan lighting ini berikut dengan atribut dalam area Inspector. Disini saya akan menggunakan lighting sebagai berikut.
Gambar 32 : Lighting
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 29
Menambahkan sentuhan terakhir, dengan karakter First person yang anda gunakan maka anda mungkin menyadari langit yang berwarna biru. Tentunya hal ini kurang realistis untuk dilihat, untuk itu Unity memiliki sebuah fitur untuk mengatasi itu, yakni “Skybox”. Dengan skybox ini anda akan mendapatkan pemandangan langit yang indah.
Pertama-tama, dalam objek “First Person Controller” -> masuk pada bagian “main camera”, kemudian pada menu bar utama masuk ke menu “Component” -> “Rendering” -> “Skybox”, dengan ini maka secara otomatis skybox akan masuk kedalam atribut dari Main Camera dan dapat anda lihat pada area Inspector.
Gambar 33 : Skybox
Anda dapat memilih dengan meng-klik tanda o pada bagain kanan, disini saya mencoba texture skybox “MoonShine Skybox”. Dan hasilnya dapat anda bandingkan seperti berikut.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 30
Gambar 34 : Perbandingan Skybox
Demikian, maka jadilah game anda yang pertama.
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 31
What’s Next Dari sini berakhirlah tutorial dasar pengenalan game development
menggunakan unity 3d game engine, seperti yang sudah saya paparkan
diawal, Unity hanyalah sebuah tool, seberapapun “powerfull”nya Unity tidak
akan ada gunanya jika anda kehilangan kreatifitas dalam membuat game,
karena game adalah seni, seni membuat game.
Bagi seorang game developer, selain tool, anda akan menghabiskan banyak
waktu dalam mengkonsep cerita dan konsep, untuk itu anda akan
membutuhkan sebuah media yang memudahkan anda dalam membeberkan
analisa dari game anda, biasanya terdapat 3 media yang umum digunakan,
yaitu digram alir(Flow-Chart), diagram transisi(State Transition Diagram),
dan GOMS(Goal, Objective, Methode, Selection), walaupun itu semua tidak
akan mengalahkan kemampuan Imajinasi anda.
Setelah itu anda akan membutuhkan banyak waktu untuk mempelajari dan
mendalami Unity serta mengasah skill anda. Yang mana sampai saat inipun
saya masih melakukannya, karena belajar tidak akan pernah berakhir.
Carilah komunitas untuk bertukar pikiran dan bertanya apabila anda
mengalami kesulitan.
Dan terakhir, mohon maaf yang sebesar-besarnya apabila dalam
penyampaian saya ada salah kata maupun hal yang kurang berkenan, pun
dalam tutorial pertama yang saya buat ini. Dan untuk rekan-rekan asisten
Labolatorium Telematika B.201 Teknik Elektro ITS, rekan-rekan grup Game-
Development, panitia, peserta pelatihan, dan seluruh yang telah membantu
saya ucapkan terima kasih yang sebesar-besarnya.
Abdillah Amiruddin
Email/YM : [email protected]
PENGENALAN GAME DEVELOPMENT MENGGUNAKAN UNITY 3D GAME ENGINE
L C E N – H i m a t e k t r o I T S S u r a b a y a
Halaman 32
Referensi
Creating games with Unity and Maya, Adam Watkins, Focal Press.
Tutorial Membuat Game dengan Unity part 1, Vadi Vanadi Buchari, e-book.
Java for Dummies, Barry Burd, PhD,e-book.
www.forum.unity3d.com.
Video tutorial, Ruben&Efraim, www.tornadotwins.com.
Kumpulan Unity project, www.unity3d.com.
dll yang tidak dapat saya sebutkan satu persatu.