Membuat game dengan Unity3D Session 1

heroogeswrks

Proses  pembuatan game memerlukan sebuah software/tool yang disebut game engine. Game engine memberikan kemudahan dalam menciptakan konsep sebuah game yang akan dibuat. Mulai dari pengaturan game objek dan suara efek, grafik rendering, scripting karakter pemain/musuh, dan sebagainya.

Tahun lalu penulis telah membuat artikel membuat game dengan UDK, sekarang mari kita menggunakan  Salah satu game engine yang sudah banyak digunakan yaitu unity 3D.

Pada sesi awal ini kamu akan diperkenalkan pada fitur-fitur didalam unity3D, dan pada sesi-sesi berikutnya kamu akan mulai belajar membuat games canggih secara setahap demi setahap dengan Unity3D.

Terdapat 2 hal yang bisa kita dapatkan dari UNITY:

1.  Aspek Design : Menggunakan Unity  untuk membangun Level.

Aspek ini tidak termasuk proses desain atau modeling, dikarenakan unity bukan tool untuk mendesain.

Pergunakan 3D editor lain seperti 3dsmax, Maya atau Blender untuk mendesain.

unity_1_h

(Desain Terain untuk level outdoor didalam Unity3D)

2. Aspek Programming: Membuat game dengan Unity.

Unity mempunyai banyak kemampuan untuk menampilkan materi games secara menakjubkan, akan tetapi Unity tidak mempunyai banyak fungsi dan mekanik untuk berinteraksi , kecuali jika kita mulai membuat programmingnya / scripting.

unity_1_i

(Contoh javascript)

Unity 3D atau Unity adalah sebuah game engine yang berbasis cross-platform. Dengan program unity kita bisa membuat game yang dapat dimainkan pada perangkat komputer, ponsel pintar android, web games (memerlukan plugin unity web player), iPhone, PS3, dan bahkan X-BOX.

unity_1_a

Terminologi

Scenes

Pengertian scene didalam Unity3D adalah Levels. Atau area didalam 3D Space yang menampung banyak object games.

Jika kamu membuat beberapa levels didalam games, maka didalam project Unity akan dibagi menjadi beberapa Scenes.

unity_1_b

(Banyaknya scenes didalam satu project bisa dilihat didalam project windows bagian assets, dimana seperti contoh gambar diatas hanya terdapat 1 scene dengan nama ‘mymarble’ dengan isi komponen didalamnya di perlihatkan dalam hierarchy window).

Scenes tidak hanya digunakan untuk level tapi juga bisa dibuat sebagai Opening Screen, Menu Configuration.

Packages

packages bisa diibaratkan seperti compress file seperti Zip atau Rar, nah di dalam Unity packages bisa menggabungkan semua materi games baik itu berupa file ataupun foldernya dan digabungkan menjadi satu. Kamu juga bisa memberikan packages tersebut ke rekan satu team kamu.

Packages ataupun kumpulan asset bisa kamu download di Unity3D.com sebagai kebutuhan pelengkap games kamu.

unity_1_c

(Gambar diatas  adalah packages yang dinamakan Terrain assets, dimana di dalamnya terdapat aset aset terrain yang bisa kamu download gratis, ada juga beberapa packages yang berbayar)

Selesai mendownload kamu bisa mengimport kedalam Unity dengan cara mengklik menu Asset dan mengimport package.

Selain itu juga kamu bisa mengexport materi games untuk dijadikan packages, dengan cara memilih terlebih dahulu folder materi yang ada didalam project window dan memilih menu Assets>Export Package.

unity_1_d

Unity mempunyai kecanggihan dalam mengatur Dependencis (ketergantungan / link) dalam setiap mater yang akan dimasukan kedalam packages, misalkan  ada karakter didalam asset kamu maka semua yang menjadi pelengkap karakter tersebut akan dimasukan kedalam package sesuai dependencies nya.

Prefabs

Prefabs bisa dibilang sebagai kontainer atau sebagai salah satu cara untuk membuat group asset dan dijadikan template untuk digunakan berkali-kali didalam project. Prefabs bisa juga dibilang symbol  (flash),

tidak hanya materi level design saja yang bisa dijadikan prefab, tapi juga gabungan script bisa dijadikan prefab.

Pembuatan prefab yang  diambil dari gambungan materi didalam hierarchy, biasanya di awal menggunakan tools yang dinamakan gameObject, disini kita menggunakan gameObject yang kosong (empty).

Pertama kita buat empty gameObject dengan kunci CTRL+SHIFT+N, lalu drag dan masukan materi-materi tersebut kedalam game object yang kosong. berikutnya didalam project window create, kamu buat prefab baru dan drag game object tersebut kedalam prefab.  prefab yang baru sekarang berisikan gameobject yang didalamnya terdapat mater-materi yang kamu pilih, selanjutnya kamu bisa menggunakan prefab tersebut berkali kali di dalam project.

unity_1_e

Nah didalam inspector window kamu bisa melihat pilihan prefab yaitu Apply (merubah salah satu item didalam prefab lalu membuat master prefab juga mengikuti erubahan yang kamu lakukan), Revert (mengembalikan seperti semula perubahan yang kamu lakukan di dalam prefab).

Game Objects

Game object adalah segala keperluan kamu dalam membangun sebuah level games.

ciri-ciri Game Object :

  • Bisa di Pindah(Move),  Putar(Rotated), besar kecilkan(Scale).
  • Bisa diberikan nama
  • Mempunyai sifat Hierarchy, Link.
  • Dan bisa didefinisikan melalui komponent.

Sebagai contoh, jika kita membuat game object kosong (CTRL+SHIFT+N) dan gameobject ‘Cube’. Kamu bisa lihat di window inspector, perbedaan isi dari kedua gameobject tersebut.unity_1_f

 

Untuk transform (move rotation, scale) keduanya sama, tetapi pada gamobject cube terdapat 3 buah komponent tambahan berupa ‘mesh filter’, box collider dan meshrenderer.

Di dalam game object yang kosong juga bisa kamu tambahkan komponent seperti cube dengan menekan tombol ‘Add Component’.

Component

unity_1_g

Component adalah group dari suatu fungsi yang berisikan parameter-parameter yang mendefinisikan seperti apa bentuk ataupun sifat dari game object. dengan kata lain component mendefinisikan game object.

Kadang untuk menciptakan satu game object yang sesuai dengan kebutuhan, kita memerlukan beberapa komponent didalamnya yang bisa kita masukan dari menu ‘Components’.

jika kamu perhatikan pada menu GameObject>Create Other dan juga pada window hierarchy>Create mempunyai menu yang sama. semuanya itu merupakan suatu Empty game Object’ yang ditambahkan beberapa komponent didalamnya.

Sebagai contoh,  jika kamu membuat light dari “GameObject>Create Other>Directional Light” itu sama saja dengan kamu membuat empty gameobject

dengan tambahan ‘Component >Rendering >Light”, tinggal dirubah type lightnya menjadi directional. Pointnya disini sesuatu yang membedakan game object adalah component yang ada di dalamnya.

 

Assets

asset adalah aspek dari permainan yang akan direferensikan oleh beberapa komponen atau asset itu sendiri , atau kelengkapan penunjang pembuatan game.

Asset dibagi 2, yaitu External dan Internal.

untuk external (mengimport semua kebutuhan untuk pembuatan games yang mencakup) :

  • 3D Models
  • Textures
  • Sound effects
  • Script

Internal  (sudah ada didalam Unity) :

  • Materials
  • Shaders
  • Cube Maps
  • Physics Materials
  • Prefabs

Script

Pengertian yang harus diluruskan disini adalah , Script bukan sebuah program karena program adalah sesuatu yang berdiri sendiri (stand alone), bisa kamu compile dan dijadikan exe.

Sedangkan script hanya berfungsi mengikuti aplikasi yang membawanya, dalam kasus ini adalah UNITY. jadi script di dalam Unity tidak bisa kamu bawa ke program lain selain Unity.

Script didalam Unity harus kamu buat untuk bisa menciptakan games yang bisa dimainkan,  memang unity mempunyai tools yang mengagumkan untuk membuat suatu proses development games, tetapi unity tidak mempunyai komponent untuk menembak misalkan, komponent Ammo atau peluru, Komponen Health (Nyawa)., semuanya itu harus kamu buat scriptnya untuk disambungkan ke component atau ke game object.

Fitur Unity 3D

Di bawah ini terdapat beberapa fitur unity untuk menambah kecanggihan dari level game yang kita buat untuk Unity :

  • Audio reverb zone

unity_1_j

Fitur yang membuat sebuah lokasi suara atau area suara dalam game untuk mengeluarkan efek suara tergantung dari jarak yang ditentukan, sehingga disini pada suatu area tertentu, pemain akan merasakan suara yang berbeda-beda pada setiap area.

  • SkyBox

Fitur yang dapat merubah langit  game.

unity_1_k

  • Particle system

particleSystem

Fitur membuat efek atmosfer seperti asap, api, uapan air, dan sebagainya.

  • Real-time lighting dan texturing

unity_1_l

  • Fleksibel dalam Move, Rotate dan Scale

unity_1_m

Demikian beberapa fitur dan pengenalan program engine yang cukup populer yaitu Unity3D

Kamu dapat mengikuti  video tutorial berserinya di Unity3D – Session 1 – Pengenalan Unity3D

Sampai bertemu lagi di sesi-sesi berikutnya.

bannerwp

Penulis : Heroges Matrik Niames

Tanggapan Kamu

komentar