Tutorial Membuat Game Dengan Unity

download Tutorial Membuat Game Dengan Unity

of 25

Transcript of Tutorial Membuat Game Dengan Unity

  • 2

    Daftar Isi

    Penting Dibaca 3

    Projek baru 4

    Simple FPS (First Person Shooter) 6

    First Person Controller 6

    Game Object 7

    Transformasi (Move, Rotate & Scale) 8

    Pencahayaan (Lighting) 11

    Pistol Sederhana 14

    Peluru 16

    Scripting Dasar 17

    Efek Ledakan 21

    Build 23

    Kesimpulan 24

  • 3

    PENTING DIBACA!!

    1. Tutorial part 1 ini membahas dasar-dasar dalam menggunakan program Unity dari nol,

    tanpa bantuan program lain selain Unity. Tujuan utama dari tutorial ini diantaranya agar

    pembaca dapat memahami:

    - Unity basic interface

    - Konsep dasar program Unity

    - Membuat game FPS sederhana dengan Unity

    2. Jika anda merasa sudah advanced/expert dengan Unity, mungkin tutorial ini tidak cocok

    untuk anda.

    3. Program Unity yang digunakan adalah Unity Free version.

    4. Mohon ikuti petunjuk tutorial ini tahap-per-tahap untuk kemudahan anda dalam memahami

    pesan-pesan yang ingin disampaikan.

    5. Tutorial ini menggunakan beberapa kata/kalimat dalam bahasa Inggris yang sulit

    diterjemahkan dalam bahasa Indonesia. Sehingga dianjurkan anda mencari reverensi

    dari sumber lain jika mengalami kesulitan dalam memahami suatu kata/kalimat. Harap

    dimaklumi jika penulis tidak konsisten dalam penggunaan Bahasa Indonesia/ Inggris

    dalam tutorial ini.

    6. Silahkan meng-Copy atau menyebarkan tutorial ini tanpa ijin/ sepengetahuan penulis.

    Asal jangan dijual :p

  • 4

    Projek baru

    Ketika anda menjalankan program Unity, dia akan otomatis membuka project/dokumen yang terakhir

    kali kita buka. Jika ini adalah pertama kali anda menggunakan Unity, maka biasanya project yang

    terbuka adalah Island Demo. Sesuai namanya, ini adalah demo project dari unity. Sebelum kita

    membuat project kita sendiri, tak ada salahnya kita sedikit berpetualang sejenak.

    Klik tombol play (Tombol ini berguna untuk melakukan test simulasi/game yang

    telah kita buat).

    Setelah tombol play ditekan, silahkan anda ber eksplorasi (gunakan mouse untuk

    melihat-lihat, gunakan keyboard W,S,A,D atau ,,, untuk bergerak mundur, kiri atau kanan, SPACE untuk melompat).

    Ini adalah contoh sederhana sebuah game First Person.

    Jika anda sudah puas berjalan-jalan, dan ingin berhenti, silahkan tekan kembali tombol

    play untuk menghentikan simulasi. Selanjutnya kita akan mulai mengakrabkan diri kita

    dengan Unity.

    (Jika pulaunya tidak keluar, klik File > Open Scene, lalu pilih file Island.Unity)

  • 5

    Untuk membuat sebuah project baru Unity, pilih File > New Project.

    Catatan : New Project berbeda dengan New Scene. Project adalah game keseluruhan yang anda

    buat, sedangkan Scene adalah sebuah level dalam project game anda. Dengan kata lain, Project

    game anda akan tersusun dari kumpulan beberapa Scene

    Catatan : Unity membaca projectnya berupa sebuah folder yang isinya merupakan kumpulan aset-

    aset pendukung game anda. Maka, sangat penting bagi anda untuk memperhatikan & menyusun baik-

    baik sistem folderisasi project anda, akan dijelaskan lebih lengkap nanti, untuk sementara, jangan

    dulu dipikirkan :p

    Pilih Browse untuk menentukan lokasi project Unity anda.

    Terdapat pilihan Import the following packages:, ini adalah aset-aset dasar yang disediakan Unity.

    Untuk setingan standar cukup pilih Standard Assets.unityPackage.

    Toon Shading.unityPackage dapat dipilih jika anda ingin menggunakan aroma kartun

    pada game anda.

    Setelah anda puas dengan pilihan anda, dan telah menentukan tempat yang baik untuk

    folder project anda, silahkan tekan Create.

    Silahkan tunggu sejenak, Unity akan mengumpulkan aset-aset dasar ke dalam folder

    project anda. Biasanya Unity akan secara otomatis menutup programnya, namun jangan

    khawatir, silahkan bersabar nikmati sejenak lagu mp3 yang sedang anda dengarkan,

    atau cicipi sejenak kopi yang telah anda siapkan

    Jika progress bar sudah hilang, dan program Unity sudah kembali berjalan, maka anda telah berhasil

    membuat project Unity baru yang kosong, dengan scene yang kosong. Dengan demikian, kita

    langsung ke pelajaran pertama kita : Simple FPS (first Person Shooter)

  • 6

    Simple FPS (First Person Shooter)

    Game FPS atau First Person Shooter atau dalam bahasa Indonesia disebut Tembak menembak

    dalam Pandangan Orang ke-1, adalah game dimana kita seakan sedang menembaki musuh

    dengan view kamera orang pertama. Contoh game laris yang menggunakan genre FPS adalah Doom,

    F.E.A.R, Left 4 Dead, Counter Strike, dll. Namun jangan dulu berharap kita akan langsung membuat

    game seperti itu. Mari kita pelajari dulu dasar-dasarnya.

    Catatan : Setelah mengikuti tutorial FPS ini, mungkin beberapa orang akan berpikir bahwa ada

    program lain yang lebih mudah untuk membuat game FPS, seperti FPS Creator. Memang, jika anda

    ingin secara ekspress dan mudah membuat game FPS, FPS Creator lah jawabannya. Namun FPS

    Creator tidak customizeable. Di sini kita akan belajar membuat sebuah game dari nol dengan

    bantuan Unity. Dimana kita mempunyai total control atas game yang kita buat. Untuk mempelajari

    dasar-dasarnya, kita gunakan contoh kasus dalam membuat game FPS.

    First Person Controller

    Untuk jenis kamera FPS, Unity dengan baik hati telah menyediakan template agar kita dapat langsung

    mengaplikasikannya pada game kita.

    Sebelum kita mulai, hapus terlebih dahulu kamera default yang ada di scene kita. (pilih lalu

    tekan Delete). Sehingga scene kita benar-benar bersih.

    dalam panel Project, klik segitiga yang yang ada di sebelah folder Standard Assets,

    klik juga segitiga di sebelah folder Prefabs,

    lalu klik First Person Controller, tahan dan geser ke dalam layar utama

    dengan demikian anda akan mendapati tambahan ikon kamera baru pada layar utama Scene

    anda.

    Kamera ini akan menjadi mata dalam game anda.

    tekan F untuk fokus pandangan viewport kepada prefab kamera yang baru saja anda

    buat.

  • 7

    Game Object

    Selanjutnya, mari kita tambahkan beberapa objek ke dalam game kita.

    pilih GameObject > Create Other > Plane

    jika plane yang telah anda buat bertumpuk dengan prefab First Person Controller,

    maka coba anda turunkan plane tersebut dengan cara click & drag panah yang berdiri

    vertikal.

  • 8

    Transformasi (Move, Rotate & Scale)

    Selanjutnya anda dapat mengubah posisi objek dalam unity dengan cara click & drag

    sesuai dengan sumbu yang anda inginkan.

    Selain mengubah posisi, anda dapat mengubah rotasi dan skala dengan metode yang

    sama. Silahkan anda bereksperimen dan membiasakan diri anda. Jangan khawatir, kalau

    anda tidak puas, tinggal tekan Ctrl-Z (Undo).

    Mengubah Skala :

    Mengubah Rotasi :

    Mengubah Posisi :

  • 9

    Sudah puas memutar-mutarnya? Kalau begitu, mari kita lanjutkan.

    Plane yang kita buat barusan merupakan dasar atau tanah yang akan dijadikan pijakan oleh First

    Person Controller. Selanjutnya mari kita tambahkan objek lain yang lebih menarik.

    sama seperti ketika kita membuat Plane, pilih GameObject > Create Other, namun

    kali ini silahkan anda pilih bentuk-bentuk yang anda sukai, lalu taruh diatas plane yang

    tadi. Gunakan geometri dasar Cube (kubus), Sphere (Bola), Capsule (kapsul),

    Cylinder (Silinder), atau Plane.

    Tips:

    manipulasi kamera viewport:

    Mouse Scroll untuk zoom in/ zoom out

    Klik kanan + drag untuk mengubah rotasi pandangan

    Tekan F untuk fokus kepada objek yang anda pilih

    Ctrl-D untuk duplikat objek yang anda pilih. (hasil duplikasi objek akan berposisi sama

    dengan objek sebelumnya)

    Hierarchy:

    Panel Hierarchy merupakan daftar benda-benda/objek yang telah kita buat. Panel ini berguna untuk

    mempermudah pemilihan objek, juga dalam penamaan objek. Terutama jika scene yang kita buat

    telah terdiri dari banyak objek dan sulit untuk dipilih secara manual lewat viewport.

  • 10

    Gunakan Ikon Indikasi Tampak seperti gambar dibawah ini untuk merubah pandangan

    pada viewport:

    Gunakan panel dibawah ini untuk mengganti tampilan viewport (Textured /Wireframe/

    Textured-Wireframe). Silahkan dicoba satu persatu untuk mengetahui perbedaannya.

    Sudah puas menambah objek-objeknya? Kalau begitu mari kita lanjutkan.

    Sekarang coba anda tekan tombol play

    Maka anda akan mendapati Game Viewport anda seperti ini:

    Lho!? Kemana benda-benda yang tadi kita buat!?

  • 11

    Pencahayaan (Lighting)

    Untuk menjawab pertanyaan pada halaman sebelumnya, mari kita kembali ke Scene Viewport.

    Hentikan simulasi game dengan menekan kembali tombol Play.

    Setelah kembali ke Scene viewport, pilih GameObject > Create Other > Point Light

    Jika anda perhatikan, selain Point Light, terdapat pula pilihan Spotlight dan

    Directional Light. Ya, mereka adalah sumber cahaya yang nantinya akan sangat

    berpengaruh bagi game anda.

    Untuk mengatur karakteristik cahaya yang anda inginkan, pilih cahaya melalui panel

    hierarchy.

    lalu coba anda perhatikan ke sebuah panel berjudul Inspector di sebelah kanan layar.

  • 12

    Panel Inspector adalah tempat untuk mengubah parameter objek pada Unity. Anda juga dapat

    mengubahnya ketika dalam Game Viewport (ketika anda menekan tombol play ). Sehingga

    mempermudah kita untuk mendapatkan settingan yang sesuai dengan keinginan kita (Tweaking).

    Namun perlu diingat, jika anda ingin mengubah parameter sebuah objek secara permanen,

    pastikan untuk tetap berada di dalam scene viewport. Mengubah parameter Inspector dalam

    game viewport hanya bersifat sementara/preview.

    Kembali ke lighting, setelah anda pilih cahaya, perhatikan kembali panel Inspector, lalu atur

    parameter lighting tersebut sesuai seperti yang anda inginkan.

    Type : Untuk mengganti tipe cahaya (Point Light, Spotlight dan Directional Light)

    Color : Untuk mengubah warna cahaya

    Attenuate : Pilihan apakah cahaya tersebut akan menyinari cahayanya secara

    terbatas atau tak terbatas.

    Intensity : Intensitas cahaya.

    Range : Jarak penyinaran cahaya, hanya berguna jika Attenuate dipilih.

    Spot Angle : Sudut penyinaran. Hanya berguna pada tipe cahaya Spotlight.

    Shadows : Parameter bayangan (harus pakai Unity Pro).

    Cookie : Jika anda ingin menggunakan texture gambar pada cahaya tersebut.

    Draw Halo : Kesan glow pada cahaya tersebut.

    Flare : Efek mengkilat pada cahaya. (dapat dilihat di game viewport)

    Render Mode : Tingkat kualitas pantulan cahaya terhadap objek.

    Culling Mask : Layer apa saja yang akan menerima pantulan cahaya tersebut

    (akan dijelaskan nanti)

    Catatan : Panel Inspector adalah tempat untuk mengubah parameter semua jenis benda pada

    Unity. Namun tidak akan dijelaskan satu persatu secara mendetail pada bab ini. Seiring berjalannya

    tutorial ini, anda akan sedikit demi sedikit memahami lebih jauh tentang panel Inspector.

    Tips :

    Ada dua jenis cahaya di Unity, yaitu Object Light dan Ambient Light. Object Light seperti yang telah

    dijelaskan adalah cahaya yang kita buat melalui game object. Sedangkan Ambient Light adalah

    cahaya dasar suatu scene. Untuk memahaminya lebih jauh, mari kita bahas sedikit.

    Coba anda pilih Edit > Render Setting, lalu perhatikan ke panel Inspector.

    Lalu coba anda ubah warna dari ambient Light dan perhatikan efeknya.

  • 13

    Jika anda sudah puas mengatur cahayanya, sekarang coba tekan kembali tombol play.

    gunakan mouse untuk mengubah pandangan, keyboard W,S,A,D atau ,,, untuk bergerak mundur, kiri atau kanan, SPACE untuk melompat.

    Jangan lupa save scene anda, gunakan Ctrl-S atau pilih File > Save Scene, lalu pilih

    nama yang anda inginkan.

    Catatan : Jika anda berencana akan membuat banyak level/scene, ada baiknya anda membuat

    folder baru di dalam folder project Unity anda untuk mempermudah pengelolaan file.

    Contoh; save scene anda dalam folder baru yang diberi nama Levels. Sesuai selera anda.

    Selamat!! Anda telah berhasil membuat sebuah game FPS! Namun belum sesuai dengan

    namanya (First Person Shooter), maka di halaman selanjutnya kita akan membuat sebuah

    shooter sederhana.

  • 14

    Pistol Sederhana

    Mari kita lanjutkan dengan tahap berikutnya, disini kita akan menambahkan sebuah pistol sederhana.

    Bersiap-siaplah, karena disini kita akan mempelajari dasar-dasar penggunaan script pada Unity.

    Pertama-tama, mari kita buat sebuah pistol abal-abal.

    Buat sebuah cube, lalu ubah sedemikian rupa dengan menggunakan Scale(skala) atau

    panel Inspector sehingga berbentuk persegi panjang.

    Ganti nama cube tersebut menjadi Pistol. Jangan lupa tekan Enter setelah mengganti

    nama.

    Catatan : Usahakan untuk mengikuti penamaan objek sesuai dengan tutorial ini. Karena penamaan

    tersebut selanjutnya akan dipergunakan pada Script untuk mempermudah anda dalam proses

    belajar. Dan perlu diingat, huruf besar dan kecil sangat diperhitungkan dalam Scripting.

    Posisikan pistol kita agar menempel dengan First Person Controller, dan searah

    dengan sudut pandang kameranya. Seperti gambar di bawah ini.

    Lalu pindahkan objek Pistol ke dalam objek First Person Controller pada panel

    hierarchy.

  • 15

    Ketika ditanya losing prefabare you wish to continue? pilih continue.

    Maka sekarang objek pistol tersebut telah menjadi satu kesatuan dengan objek First

    Person Controller.

    Sehingga jika kita play game kita sekarang, maka pistol kotak tersebut akan mengikuti

    kemana kita pergi.

    Namun apa yang terjadi? Meskipun mengikuti, si pistol ternyata tidak mengikuti gerakan kamera kita.

    Untuk itu, mari kita lakukan langkah berikut.

    Pindahkan objek pistol ke dalam objek Main Camera di dalam FPController. Sehingga

    si pistol kini bersatu dengan Main Camera.

    Sehingga tampilan Hierarchy menjadi seperti ini:

    Kita lihat hasilnya dengan menekan tombol play.

  • 16

    Peluru

    Ya, sekarang pistol tersebut sudah mengikuti gerakan kamera. Selanjutnya kita buat agar pistol kita

    dapat menembaki sebuah peluru.

    Buat sebuah Game Object berupa Sphere(bola). Taruh dimana saja.

    Ganti nama Sphere tersebut menjadi Peluru

    Berikan ukuran yang rasional pada peluru tersebut sesuai dengan ukuran pistol.

    Selanjutnya, dalam keadaan objek peluru tersebut terpilih, pilih Component > Physics

    > Rigidbody.

    Sehingga peluru tersebut kini memiliki properti Rigidbody pada panel Inspector.

  • 17

    Rigidbody adalah komponen yang memberikan efek gravitasi pada sebuah objek. Objek yang diberi

    komponen Rigidbody akan memiliki efek benda dinamis yang akan terpengaruh gravitasi sesuai

    dengan parameternya. Rigidbody juga akan dapat saling berinteraksi dengan objek lain yang juga ber

    komponen Rigidbody.

    Selanjutnya, pilih Create > Prefab.

    Ganti nama Prefab baru new prefab menjadi peluruPrefab.

    Pindahkan objek Peluru dari panel Hierarchy ke

    peluruPrefab di panel Project.

    Hapus objek peluru yang ada di panel Hierarchy. Kita sudah tidak membutuhkannya lagi.

    Scripting Dasar

    Untuk sementara kita tinggalkan dulu pistol dan peluru tersebut. Selanjutnya mari kita mulai proses

    scripting untuk pistol dan pelurunya.

    pada panel Project, pilih Create, lalu pilih Folder.

  • 18

    Maka akan muncul sebuah New Folder di dalam panel project.

    Pilih New Folder tersebut, lalu klik sekali lagi. Ganti namanya menjadi Java Script

    Lalu klik kanan folder Java Script tersebut, dan pilih Create > JavaScript

    Maka akan muncul NewBehaviourScript, ini adalah script kosong baru. Genti namanya

    menjadi PistolScript.

    Klik dua kali (double click) PistolScript tersebut.

    Setelah double click, maka sebuah windows baru akan muncul. Ini adalah Unity Script windows.

    Jika anda memang berencana akan berurusan dengan Unity dalam waktu panjang ini, maka anda

    akan menghabiskan banyak waktu bersuka duka disini. Cry tear of joy!! >:D

    Seperti yang anda lihat, script kosong hanya berisi function Update () {}

    Hapus semua script tersebut, lalu copy paste script di bawah ini ke dalamnya:

    var peluru : Rigidbody; var kecepatan = 20; function Update () { if (Input.GetButtonDown ("Fire1")) { var peluruBaru : Rigidbody = Instantiate (peluru, transform.position,transform.rotation); peluruBaru.velocity = transform.TransformDirection(Vector3 (0,0,kecepatan)); Physics.IgnoreCollision(peluruBaru.collider, transform.root.collider); } }

    save script tersebut.

  • 19

    Catatan : Di tutorial ini tidak akan dijelaskan secara spesifik mengenai script yang diberikan. Jika

    anda ingin mengetahui lebih jauh mengenai scripting di Unity, silahkan merujuk ke Help > Scripting

    Manual. Atau lakukan penelitian lewat komunitas maupun forum-forum Unity di internet. Banyak

    pengguna Unity dari penjuru dunia yang secara aktif sharing script yang mereka buat.

    Sekarang mari kita kembali ke pistol dan peluru kita.

    Sebelum mengaplikasikan script yang baru saja kita buat, mari kita lakukan terlebih dahulu langkah-

    langkah berikut ini;

    pilih GameObject > Create Empty

    Empty Game Object adalah sebuah objek yang meskipun kosong namun berguna sebagai point

    master suatu objek. dalam kasus ini, Empty Game Object tersebut akan menjadi tempat dimana

    peluru ditembakkan.

    Ganti nama Game Object kosong tersebut menjadi Pistol Tembak

    Pindahkan Game Object Pistol Tembak sehingga bersatu dengan object Pistol

    Atur posisinya sehingga berada di ujung Pistol. Pastikan agar sedikit berada di luar

    objek pistol.

    Drag & drop script PistolScript ke dalam objek Pistol Tembak

  • 20

    Sekarang pilih objek Pistol Tembak, lalu perhatikan ke panel Inspector.

    Dapat kita lihat, kini ada parameter tambahan pada objek Pistol Tembak. Parameter ni merupakan

    hasil aplikasi Java Script PistolScript.

    Selanjutnya, dengan tetap memilih objek Pistol Tembak, drag & drop peluruPrefab

    dari panel Project ke slot Peluru pada panel inspector objek Pistol Tembak.

    tekan Play (Gunakan klik kiri atau keyboard Ctrl-kiri anda untuk menembak).

  • 21

    Efek Ledakan

    Sekarang pistol kita sudah dapat menembakkan peluru. Selanjutnya mari kita tambahkan efek

    ledakan pada peluru yang ditembakkan.

    Buat Java Script baru bernama Ledakan

    Copy paste script di bawah ini

    var ledakan : GameObject;

    function OnCollisionEnter (collision : Collision) {

    var kontak : ContactPoint = collision.contacts[0]; var rotasi = Quaternion.FromToRotation(Vector3.up, kontak.normal); var ledakanBaru : GameObject = Instantiate (ledakan, kontak.point, rotasi); Destroy(gameObject); }

    Pilih peluruPrefab pada panel project.

    Pilih Component > Scripts > Ledakan

    Sekarang prefab peluruPrefab telah memiliki parameter Ledakan hasil dari script di atas.

  • 22

    Dengan peluruPrefab tetap terpilih, buka folder Standard Assets di panel Project,

    lalu pilih Particles.

    pindahkan prefab explosion dari panel project ke slot Ledakan di Inspector

    peluruPrefab.

    Prefab explosion ini adalah efek template dari Unity.

    Sekarang mari kita coba hasilnya. Tekan Play

    Peluru yang dilontarkan kini menghasilkan efek ledakan ketika bersentuhan dengan objek lain. Jika

    anda mengalami kasus peluru meledak sebelum dilontarkan, pastikan objek Pistol Tembak tidak

    bersentuhan dengan objek Pistol.

  • 23

    Build

    Untuk tahap akhir mari kita Build game kita sehingga menjadi sebuah game yang standalone

    Save project dan scene anda

    Pilih File > Build Setting

    Pilih Add Current

    Ganti menjadi Windows Standalone.

    Pilih Build

    Beri nama lalu save di tempat yang anda inginkan

  • 24

    Kesimpulan

    Jika tutorial ini kita singkat dengan sebuah gambar, maka kurang lebih dapat diperoleh kesimpulan

    seperti ilustrasi dibawah ini:

  • 25

    Demikian Tutorial Membuat Game Dengan Unity Part 1 (dasar)

    berakhir. Selanjutnya, silahkan anda bereksperimen dengan apa yang

    sejauh ini telah anda pelajari. Cari tutorial atau resource lain melalui

    internet. Atau silahkan tunggu kehadiran Part 2 Tutorial ini.

    Di Tutorial Part 2 direncanakan akan membahas :

    3rd person game tutorial

    Integrasi Unity dengan Program 3D

    Animasi karakter

    Kontrol karakter

    Simple AI (Artificial Intelligence) & waypoint

    GUI system

    Berhubung ini adalah tutorial pertama yang saya buat, mohon maaf

    jika ada kesalahan penulisan, atau segala kekurangan dalam tutorial

    ini. Sampai jumpa di tutorial part 2, & Happy game making! :)

    Vadi Vanadi Buchari

    [email protected]