Belajar Unity untuk Pemula - Game Object, Component, dan Prefab

Tags


Ketika sedang bekerja dengan Unity, kita akan selalu berurusan dengan Game Object, Component, dan Prefab.

Ketiga hal ini sangat penting untuk dipahami dan merupakan sesuatu yang sangat mendasar.

Sekilas tentang Game Object dan Component

Karakter jagoan yang dimainkan, Mobil balap yang dikemudikan, Pesawat terbang yang baru mendarat dalam sebuah game yang dibuat oleh Unity adalah Game Object.

Akan tetapi, untuk menjadi sesuatu seperti itu tidaklah cukup hanya dengan mengandalkan Game Object.

Game Object tidak bisa berbuat banyak hanya dengan dirinya sendiri.

Component-lah yang paling berperan dalam menentukan bagaimana perilaku sebuah Game Object.

Agar sebuah geometri 3D bisa ditampilkan dalam game, diperlukan component yang bernama "Mesh Renderer" dan "Mesh Filter".

Agar sebuah kotak bisa jatuh, diperlukan component bernama "Rigidbody".

Agar kotak yang jatuh tersebut bisa menumbuk lantai, diperlukan component bernama "Collider" yang memiliki bentuk berbeda-beda.

Dan ada satu component yang tidak bisa dilepaskan dari sebuah Game Object.

Component itu adalah component "Transform".

Component "Transform" menentukan posisi, orientasi, dan skala dari sebuah Game Object.

Membuat dan Meng-Extend Game Object

Untuk membuat game object kosong, pergi ke Menu | Create Empty.

Di menu juga terlihat ada beberapa game object pre-made seperti Cube, Sphere, Particle System, dan lain-lain.

Kita bisa memilih sesuai kebutuhan kita.

Selain itu, kita juga bisa meng-extend game object sehingga method yang ditambahkan bisa diakses dari script.

Berikut ini contohnya:

public static class GameObjectExtension
{
     public static void GantiWarna(this GameObject go, Color warna)
  {
  Renderer renderer = go.renderer;
  if(renderer == null)
  {
   //tambahkan renderer
   go.AddComponent();
  }
        //manipulasi warna di sini
  go.GetComponent().material.color = warna;
     }
}

Sekarang, kita bisa mengubah warna game object dengan cara ini:

gameObject.GantiWarna(Color.White);

Menambahkan Component

Untuk Menambahkan Component, kita bisa memilih satu atau lebih game object di hierarchy, kemudian menuju inspector-nya.

Selanjutnya, tekan tombol "Add Component" dan pilih component yang diinginkan.

Untuk me-remove component, klik icon "Gear" di kanan, kemudian pilih "Remove Component".



Semua component dapat di-remove, kecuali component "Transform".

Prefab

Seringkali kita membutuhkan banyak game object yang serupa.

Misalnya, NPC yang memiliki kelas yang sama.

Apabila setiap kali kita membuat NPC tersebut, kita harus mengulangi proses yang sama, maka hal tersebut akan sangat merepotkan.

Oleh karena itu, Unity menyediakan fitur prefab.

Artinya, game object yang sudah kita bangun bisa di-save struktur dan fungsinya ke dalam sebuah asset yang bernama prefab.

Dengan cara itu, apabila kita membutuhkan lagi NPC yang serupa, kita tinggal men-drag prefab itu ke dalam Hierarchy atau Scene.

Untuk membuat prefab, kita harus memiliki game object yang telah jadi di dalam Scene.

Selanjutnya drag parent root dari game object tersebut ke dalam folder asset yang ada di window "Project" dan prefab pun dibuat.

Apabila kita ingin mengubah property pada prefab, kita bisa menyorot prefab dalam asset folder, kemudian mengubahnya.


Atau bisa juga dengan menyorot game object yang diwakili prefab tersebut, kemudian mengubahnya, dan selanjutnya mengklik tombol apply di bagian atas inspector.

Download File Project Ini

Agar lebih jelas, silakan download file project pertama ini.

Untuk mengimportnya ke Unity Anda, tinggal drag dari Windows Explorer ke window "Project" pada Unity.