Skip to content

Commit 5bc1cda

Browse files
committed
fill Pengenalan Konsep
1 parent b6d9fd1 commit 5bc1cda

File tree

6 files changed

+171
-18
lines changed

6 files changed

+171
-18
lines changed

Assets/1-Pengenalan-Konsep/README.md

Lines changed: 137 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,139 @@
11
# Pengenalan Konsep
22

3-
TBA
3+
Pada bagian ini kita akan membahas konsep konsep dasar dari Unity seperti tatap muka, _scene_, _game object_, dan hal lain yang menyangkut konsep pembuatan _game_ menggunakan Unity itu sendiri. Untuk informasi, detail dari penggunaan Unity sebenarnya sudah tersedia secara lengkap pada [Unity Manual](https://docs.unity3d.com/Manual/UsingTheEditor.html), pada modul ini kami akan menjelaskan secara ringkas disertai dengan informasi lanjut pada setiap bagian yang ada pada Unity Manual.
4+
5+
## Tatap Muka
6+
7+
Secara umum, terdapat enam tatap muka utama yang akan sering digunakan selama pembuatan _game_ menggunakan Unity.
8+
detail dari keenam tatap muka tersebut adalah sebagai berikut:
9+
10+
1. **Project Window**. Merupakan tatap muka yang menampilkan _file_ dan _asset_ yang digunakan pada suatu _project_.
11+
2. **Scene View**. Merupakan tatap muka yang menunjukan tampilan keseluruhan _scene_.
12+
3. **Game View**. Merupakan tatap muka yang menunjukan tampilan ketika _game_ sedang berlangsung.
13+
4. **Hierarchy Window**. Merupakan tatap muka yang menampilkan daftar _object_ yang ada pada suatu _scene_.
14+
5. **Inspector Window**. Merupakan tatap muka yang menampilkan detail dari suatu _object_ pada suatu _scene_ maupun _file_ dan _asset_ pada suatu _project_.
15+
6. **Console Log**. Merupakan tatap muka yang menampilkan _log_ dari informasi maupun _error_ selama pengerjaan suatu _game_.
16+
17+
> Informasi lebih lanjut mengenai tatap muka utama pada Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/UsingTheEditor.html).
18+
19+
Sekadar informasi, selain keenam tatap muka utama tersebut juga ada tatap muka lain yang umumnya digunakan untuk keperluan yang lebih spesifik seperti Sprite Editor, Animation Editor, Audio Mixer, dan sebagainya.
20+
21+
## Scene
22+
23+
_Scene_ merupakan hal yang merujuk pada keseluruhan lingkungan pada _game_ yang bisa berupa _menu_, _world_, _gameplay_, maupun hal lain.
24+
Bagian utama dari _game_ yang dibuat menggunakan Unity terletak di _scene_-nya, dimana _scene_ sendiri akan berisi berbagai macam _object_ yang saling berinteraksi di dalamnya.
25+
Ketika _game_ berlangsung hanya ada satu _scene_ yang bisa aktif dan agar bisa menggunakan _scene_ yang lain maka diperlukan adanya perpindahan dari satu _scene_ ke _scene_ yang lain yang nantinya akan dibahas lebih lanjut pada bagian Navigasi dan Scene di modul ini.
26+
27+
> Informasi lebih lanjut mengenai _scene_ pada Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/CreatingScenes.html).
28+
29+
### Membuat Scene Baru
30+
31+
- Pembuatan _scene_ baru pada Unity dilakukan melalui tatap muka Project Window.
32+
> Untuk percobaan kali ini, kita akan membuat _scene_ baru pada _folder_ `1-Pengenalan-Konsep/Scenes`. jadi pastikan Project Window sudah berada pada _folder_ tersebut.
33+
- Terdapat dua cara untuk menambahkan _scene_ baru, yakni dengan menekan tombol `+` pada bagian kiri atas lalu pilih `Scene` atau dengan klik kanan, lalu `Create`, dan pilih `Scene`.
34+
- Beri nama untuk _scene_ yang akan dibuat.
35+
- Buka _scene_ baru yang telah dibuat dengan cara _double_ klik.
36+
> Pada tahap ini Scene View, Game View, dan Hierarchy Window akan berganti sesuai dengan isi dari _scene_ yang dibuka.
37+
38+
## Game Object
39+
40+
_Game object_ merupakan hal yang merujuk pada objek-objek seperti _player_, musuh, bangunan, partikel, _button_, dan sebagainya yang ada pada suatu _scene_ di _game_.
41+
Secara _default_, scene yang baru dibuat memiliki _game object_ `Main Camera` yang digunakan untuk menunjukan [_viewport_](https://en.wikipedia.org/wiki/Viewport) ketika _game_ sedang berlangsung.
42+
43+
> Informasi lebih lanjut mengenai _game object_ pada Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/GameObjects.html).
44+
45+
### Membuat Game Object Baru
46+
47+
- Pembuatan _scene_ baru pada Unity dilakukan melalui tatap muka Hierarchy Window.
48+
- Sama seperti pembuatan _scene_ baru, terdapat dua cara untuk menambahkan _game object_ baru, yakni dengan menekan tombol `+` pada bagian kiri atas lalu pilih jenis _game object_ yang diinginkan atau dengan klik kanan, lalu `Create`, dan pilih jenis _game object_ yang diinginkan.
49+
- Sebagai contoh kita bisa memilih _game object_ dengan jenis `3D Object` -> `Sphere`. Maka akan muncul object lingkaran pada Scene View maupun Game View.
50+
> Walaupun yang dibuat adalah _game_ jenis 2D, Unity tetap memperlakukan _game_ tersebut sebagai game 3D dengan perspektif kamera 2D. Hal ini bisa dilihat dengan mematikan _toggle_ `2D` pada Scene View.
51+
52+
### Transformasi Game Object
53+
54+
Setiap _game object_ memiliki komponen Transform yang digunakan untuk merepresentasikan transformasi (posisi, rotasi, dan skala) dari _game object_ pada suatu _scene_.
55+
Terdapat dua cara untuk mengubah transformasi suatu _game object_, yakni sebagai berikut:
56+
57+
1. Mengubah langsung pada Scene View menggunakan _tools_ yang tersedia pada _toolbar_ (sebelah kiri atas), seperti Move Tool, Rotate Tool, Scale Tool, dan sebagainya.
58+
2. Mengubah nilai dari komponen Transform secara langsung pada Inspector Window. (sebelumnya klik _game object_ pada Scene View atau Hierarchy Window untuk menampilkan detail komponen dari _game object_)
59+
60+
Sebagai contoh kita bisa mengubah transformasi dari _game object_ yang sebelumnya dibuat dengan mengubah nilai `Position` menjadi `(0, 0, 0)` dan `Scale` menjadi `(10, 10, 10)` pada Inspector Window.
61+
Sehingga akan didapatkan objek lingkaran besar yang berada tepat di tengah-tengah _scene_.
62+
63+
## Component
64+
65+
_Component_ merupakan bagian kecil yang menyusun suatu _game object_ pada _scene_.
66+
Sesuai dengan prinsip pada [_component based architecture_](https://en.wikipedia.org/wiki/Component-based_software_engineering), setiap hal kecil dari _program_ akan dibentuk menjadi komponen sehingga memudahkan _prototyping_ untuk objek baru tanpa membuat ulang keseluruhan isi dari objek tersebut.
67+
Sebagai contoh, Transform merupakan salah satu _component_ yang merepresentasikan transformasi dari _game object_ seperti yang dijelaskan sebelumnya, selain itu ada juga _component_ Camera yang digunakan untuk mengatur _view_ ketika _game_ berlangsung seperti ukuran _view_, jenis _projection_, dan sebagainya.
68+
69+
> Informasi lebih lanjut mengenai _component_ pada Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/Components.html).
70+
71+
### Membuat Component Baru dengan C# Script
72+
73+
- Pembuatan _component_ baru dengan C# Script dilakukan melalui tatap muka Project Window.
74+
> Untuk percobaan kali ini, kita akan membuat _component_ C# Script pada _folder_ `1-Pengenalan-Konsep/Scripts`. jadi pastikan Project Window sudah berada pada _folder_ tersebut.
75+
- Terdapat dua cara untuk menambahkan _component_ C# Script, yakni dengan menekan tombol `+` pada bagian kiri atas lalu pilih `C# Script` atau dengan klik kanan, lalu `Create`, dan pilih `C# Script`.
76+
- Beri nama untuk _component_ yang akan dibuat.
77+
> Untuk percobaan kali ini, kita akan membuat _component_ dengan nama `Centerized` yang akan digunakan untuk membuat posisi _game object_ berada di tengah.
78+
- Buka C# Script yang telah dibuat dengan cara _double_ klik.
79+
> Pada tahap ini Unity akan membuka text editor, jika Visual Studio tidak terinstall, bisa menggunakan text editor apapun seperti Notepad.
80+
81+
### Memrogram Component Centerized
82+
83+
Secara _default_, isi dari C# Script yang baru dibuat adalah sebagai berikut:
84+
85+
```C#
86+
using System.Collections;
87+
using System.Collections.Generic;
88+
using UnityEngine;
89+
90+
public class Centerized : MonoBehaviour
91+
{
92+
// Start is called before the first frame update
93+
void Start()
94+
{
95+
96+
}
97+
98+
// Update is called once per frame
99+
void Update()
100+
{
101+
102+
}
103+
}
104+
```
105+
106+
Inti dari _component_ yang dibuat menggunakan C# Script ada pada fungsi `Start()` dan `Update()`.
107+
Sesuai dengan penjelasan pada _comment_, fungsi `Start()` akan digunakan untuk melakukan eksekusi pertama di awal, sedangkan fungsi `Update()` akan digunakan untuk melakukan eksekusi yang dipanggil secara terus menerus di setiap _frame_.
108+
Pada percobaan kali ini, kita akan fokus pada fungsi `Start()` saja karena proses untuk membuat _game object_ berada di tengah cukup dilakukan sekali.
109+
110+
Ubah isi dari fungsi `Start()` sebagai berikut:
111+
112+
```C#
113+
void Start()
114+
{
115+
transform.position = new Vector3(0f, 0f, 0f);
116+
}
117+
```
118+
119+
Penjelasan singkat dari baris _program_ diatas, _program_ akan mengubah nilai `position` dari _component_ `transform` menjadi `new Vector3(0f, 0f, 0f)`.
120+
`Vector3` sendiri merepresentasikan posisi 3D yang terdiri dari x, y, dan z, seperti pada nilai `Position` pada component `Transform` di Inspector Window.
121+
Sedangkan `0f` sendiri berarti nilai `0` dalam bentuk _float_ (pecahan).
122+
123+
Setelah selesai, simpan baris _program_ tersebut.
124+
125+
### Menggunakan Component Centerized
126+
127+
- Ubah posisi objek lingkaran yang telah dibuat sebelumnya sehingga tidak berada di tengah.
128+
- Klik objek tersebut dan Pada Inspector Window, klik `Add Component`.
129+
- Cari _component_ yang bernama Centerized, dan kemudian tambahkan.
130+
- Setelah _component_ ditambahkan, klik tombol `Play` pada Toolbar.
131+
> Pada tahap ini, tampilan akan terfokuskan pada Game View, dan objek lingkaran akan secara otomatis terletak di tengah saat _game_ sedang berlangsung.
132+
133+
## Kesimpulan
134+
135+
Dari bagian pertama ini kita telah mengenal konsep dasar pembuatan _game_ menggunakan Unity. Dari sini kita bisa membuat _game_ yang terdiri dari _scene_ dengan berbagai isi objek sesuai keinginan, serta mengatur setiap objek yang ada dengan _component_ yang bisa kita buat sendiri.
136+
137+
bagian selanjutnya akan membahas gerakan dan animasi dari suatu _game object_, serta mengatur interaksi antara pemain dengan game yang akan dibuat.
138+
139+
[Lanjut Bagian Kedua, Gerakan dan Animasi](../2-Gerakan-dan-Animasi/README.md)

Assets/1-Pengenalan-Konsep/Scenes.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/1-Pengenalan-Konsep/Scenes/.gitkeep

Whitespace-only changes.

Assets/1-Pengenalan-Konsep/Scripts.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/1-Pengenalan-Konsep/Scripts/.gitkeep

Whitespace-only changes.

README.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
# Pembuatan Game Top Down Menggunakan Unity
22

3-
[Unity](https://unity.com/) merupakan salah satu game engine yang dapat digunakan untuk membuat game secara [cross platform](https://en.wikipedia.org/wiki/Cross-platform_software).
4-
Dulunya game engine ini dikenal juga sebagai Unity 3D, karena keunggulan utamanya terletak pada pembuatan game berbasis 3D.
5-
Namun dengan seiringnya waktu, perkembangan game engine ini juga mulai mendukung secara penuh untuk pembuatan game berbasis 2D.
6-
Selain itu, sesuai dengan namanya, Unity, game engine ini mempunyai prinsip penyatuan, dengan adanya sistem package manager serta [component based architecture](https://en.wikipedia.org/wiki/Component-based_software_engineering), pembuatan game bisa berjalan lebih cepat dengan mengandalkan package/component yang sudah ada tanpa menulis ulang fungsi untuk tiap component yang dibutuhkan.
3+
[Unity](https://unity.com/) merupakan salah satu [_game engine_](https://en.wikipedia.org/wiki/Game_engine) yang dapat digunakan untuk membuat _game_ secara [_cross platform_](https://en.wikipedia.org/wiki/Cross-platform_software).
4+
Dulunya _game engine_ ini dikenal juga sebagai Unity 3D, karena keunggulan utamanya terletak pada pembuatan _game_ berbasis 3D.
5+
Namun dengan seiringnya waktu, perkembangan _game engine_ ini juga mulai mendukung secara penuh untuk pembuatan game berbasis 2D.
6+
Selain itu, sesuai dengan namanya, Unity, _game engine_ ini mempunyai prinsip penyatuan, dengan adanya sistem _package manager_ serta [_component based architecture_](https://en.wikipedia.org/wiki/Component-based_software_engineering), pembuatan game bisa berjalan lebih cepat dengan mengandalkan _package_ maupun _component_ yang sudah ada tanpa menulis ulang fungsi untuk tiap _component_ yang dibutuhkan.
77

8-
**Agar workshop pada hari-h berjalan dengan lancar, setiap peserta diharapkan sudah melakukan instalasi unity secara mandiri pada komputer masing masing**
8+
**Agar workshop pada _hari-h_ berjalan dengan lancar, setiap peserta diharapkan sudah melakukan instalasi Unity secara mandiri pada komputer masing masing**
99

1010
## Instalasi Unity
1111

1212
Berbeda dengan cara sebelumnya, untuk saat ini instalasi untuk Unity diharuskan melewati program lain yang bernama [Unity Hub](https://docs.unity3d.com/Manual/GettingStartedUnityHub.html).
13-
Unity Hub sendiri merupakan program yang digunakan untuk mengatur akun/lisensi Unity serta untuk melakukan instalasi Unity Editor pada versi yang berbeda-beda.
14-
> Info lebih lanjut mengenai instalasi Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/GettingStartedInstallingUnity.html).
13+
Unity Hub sendiri merupakan program yang digunakan untuk mengatur akun dan lisensi Unity serta untuk melakukan instalasi Unity Editor pada versi yang berbeda-beda.
14+
> Informasi lebih lanjut mengenai instalasi Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/GettingStartedInstallingUnity.html).
1515
1616
### Instalasi Unity Hub
1717

18-
- Sebelum melakukan instalasi, pastikan spesifikasi komputer anda sudah memenuhi prasyarat minimum sehingga pembuatan game menggunakan Unity nantinya bisa berjalan dengan lancar.
19-
> Info lebih lanjut mengenai spesifikasi minimum unity bisa dilihat [disini](https://docs.unity3d.com/Manual/system-requirements.html).
18+
- Sebelum melakukan instalasi, pastikan spesifikasi komputer anda sudah memenuhi prasyarat minimum sehingga pembuatan _game_ menggunakan Unity nantinya bisa berjalan dengan lancar.
19+
> Informasi lebih lanjut mengenai spesifikasi minimum Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/system-requirements.html).
2020
- Unduh Unity Hub pada halaman berikut https://unity3d.com/get-unity/download.
2121
- Buka program yang sudah diunduh untuk melakukan instalasi Unity Hub.
2222

@@ -27,24 +27,25 @@ Unity Hub sendiri merupakan program yang digunakan untuk mengatur akun/lisensi U
2727
- Login menggunakan akun Unity, masuk menu `Preferences`, dan pada bagian `License Management` klik `Activate New License`.
2828
- Pilih `Unity Personal` jika sebelumnya anda belum memiliki lisensi Unity Pro/Plus.
2929
- Setelah selesai, kembali ke menu utama, dan pada bagian `Installs`, klik `Add`.
30-
- Pilih Unity dengan versi [LTS](https://en.wikipedia.org/wiki/Long-term_support) terbaru (`Unity 2019.4`) dan pada bagian modules kosongkan semua.
30+
- Pilih Unity dengan versi [LTS](https://en.wikipedia.org/wiki/Long-term_support) terbaru (`Unity 2019.4`) dan pada bagian `modules` kosongkan semua.
31+
> Modules bersifat opsional, kebanyakan digunakan untuk _development_ pada platform yang berbeda. Jika dibutuhkan, modules masih bisa ditambahkan setelah instalasi dilakukan.
3132
- Tunggu hingga instalasi selesai.
32-
> Instalasi akan memakan waktu yang cukup lama, jadi pastikan anda menggunakan internet dengan bandwith yang besar dan kecepatan yang stabil.
33+
> Instalasi akan memakan waktu yang cukup lama, jadi pastikan anda menggunakan internet dengan _bandwith_ yang besar dan kecepatan yang stabil.
3334
3435
### Mencoba Membuat Project Baru
3536

36-
- Untuk memastikan instalasi Unity berjalan dengan lancar, pastikan anda sudah mencoba membuat project baru pada Unity.
37+
- Untuk memastikan instalasi Unity berjalan dengan lancar, pastikan anda sudah mencoba membuat _project_ baru pada Unity.
3738
- Buka Unity Hub, dan pada bagian `Projects`, klik `New`.
3839
- Pilih `2D` untuk `Templates`, untuk yang lain bisa diisi bebas, kemudian klik `Create`.
39-
- Tunggu proses pembuatan project Unity selesai.
40-
- Setelah muncul windows Unity Editor, maka instalasi Unity sudah selesai dan siap untuk digunakan.
40+
- Tunggu proses pembuatan _project_ Unity selesai.
41+
- Setelah muncul jendela Unity Editor, maka instalasi Unity sudah selesai dan siap untuk digunakan.
4142

4243
## Workshop Pembuatan Game
4344

44-
Pada workshop kali ini, kita akan membahas pembuatan game [top down](https://en.wikipedia.org/wiki/Video_game_graphics#Top-down_perspective) menggunakan Unity dari yang paling mendasar sehingga mudah dipahami oleh pemula.
45-
Beberapa bagian pada workshop kali ini akan banyak bersinggungan dengan pemrograman berbasis [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language))
45+
Pada _workshop_ kali ini, kita akan membahas pembuatan game [top down](https://en.wikipedia.org/wiki/Video_game_graphics#Top-down_perspective) menggunakan Unity dari yang paling mendasar sehingga mudah dipahami oleh pemula.
46+
Beberapa bagian pada _workshop_ kali ini akan banyak bersinggungan dengan pemrograman berbasis [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language))
4647
dan untuk hal teknis yang bersinggungan dengan Unity-nya langsung hanya akan disinggung secara singkat.
47-
Nantinya selain mendapat bekal pembuatan game engine Unity, peserta juga diharapkan bisa mendapatkan pengetahuan pada dasar pemrograman yang nantinya bisa dipakai di hal lain.
48+
Nantinya selain mendapat bekal pembuatan _game engine_ Unity, peserta juga diharapkan bisa mendapatkan pengetahuan pada dasar pemrograman yang nantinya bisa dipakai di hal lain.
4849

4950
Alur dari pembuatan game top down menggunakan unity adalah sebagai berikut:
5051
1. [Pengenalan Konsep](./Assets/1-Pengenalan-Konsep/README.md)

0 commit comments

Comments
 (0)