You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Assets/1-Pengenalan-Konsep/README.md
+72-5Lines changed: 72 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,13 +33,17 @@ Ketika _game_ berlangsung hanya ada satu _scene_ yang bisa aktif dan agar bisa m
33
33
### Membuat Scene Baru
34
34
35
35
- Pembuatan _scene_ baru pada Unity dilakukan melalui tatap muka Project Window.
36
-
> Untuk percobaan kali ini, kita akan membuat _scene_ baru pada _folder_`1-Pengenalan-Konsep/Scenes`. jadi pastikan **Project Window** sudah berada pada _folder_ tersebut.
36
+
37
+
> Secara umum, _asset_ yang berbentuk _scene_ diletakkan pada folder bernama `Scenes`.
38
+
> jadi pastikan **Project Window** sudah berada pada _folder_ tersebut.
39
+
37
40
- 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`.
38
41
39
42

40
43
41
44
- Beri nama untuk _scene_ yang akan dibuat.
42
45
- Buka _scene_ baru yang telah dibuat dengan cara _double_ klik.
46
+
43
47
> Pada tahap ini **Scene View**, **Game View**, dan **Hierarchy Window** akan berganti sesuai dengan isi dari _scene_ yang dibuka.
44
48
45
49
## Game Object
@@ -67,6 +71,8 @@ Terdapat dua cara untuk mengubah transformasi suatu _game object_, yakni sebagai
67
71
1. Mengubah langsung pada **Scene View** menggunakan _tools_ yang tersedia pada _toolbar_ (sebelah kiri atas), seperti `Move Tool`, `Rotate Tool`, `Scale Tool`, dan lain sebagainya.
68
72
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_)
69
73
74
+
> Informasi lebih lanjut mengenai Transformasi _game object_ pada Unity bisa dilihat [disini](https://docs.unity3d.com/Manual/Transforms.html).
75
+
70
76
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**.
71
77
Hasilnya akan didapatkan objek lingkaran besar yang berada tepat di tengah-tengah _scene_.
72
78
@@ -83,14 +89,20 @@ Sebagai contoh, `Transform` merupakan salah satu _component_ yang merepresentasi
83
89
### Membuat Component Baru dengan C# Script
84
90
85
91
- Pembuatan _component_ baru dengan **C#**_script_ dilakukan melalui tatap muka **Project Window**.
86
-
> Untuk percobaan kali ini, kita akan membuat _component_ dengan **C#**_script_ pada _folder_`1-Pengenalan-Konsep/Scripts`. jadi pastikan **Project Window** sudah berada pada _folder_ tersebut.
92
+
93
+
> Secara umum, _asset_ yang berbentuk **C#**_script_ diletakkan pada folder bernama `Scripts`.
94
+
> jadi pastikan **Project Window** sudah berada pada _folder_ tersebut.
95
+
87
96
- Terdapat dua cara untuk menambahkan **C#**_script_, yakni dengan menekan tombol `+` pada bagian kiri atas lalu pilih `C# Script` atau dengan klik kanan, lalu `Create`, dan pilih `C# Script`.
88
97
89
98

90
99
91
100
- Beri nama untuk _component_ yang akan dibuat.
101
+
92
102
> Untuk percobaan kali ini, kita akan membuat _component_ dengan nama `Centerized` yang akan digunakan untuk membuat posisi _game object_ berada di tengah.
103
+
93
104
- Buka **C#**_script_ yang telah dibuat dengan cara _double_ klik.
105
+
94
106
> Pada tahap ini **Unity** akan membuka _text editor_ yang menampilkan **C#**_script_ dari component `Centerized`.
95
107
> Jika **Visual Studio** tidak terinstall, maka bisa menggunakan _text editor_ apapun seperti **Notepad**.
96
108
@@ -136,6 +148,9 @@ Penjelasan singkat dari baris _program_ diatas, _program_ akan mengubah nilai `p
136
148
`Vector3` sendiri merepresentasikan posisi _3D_ yang terdiri dari `x`, `y`, dan `z`, seperti pada nilai `Position` pada component `Transform` di Inspector Window.
137
149
Sedangkan `0f` sendiri berarti nilai `0` dalam bentuk _float_ (pecahan).
138
150
151
+
> Sebagai catatan, `transform` merupakan [_member variable_](https://en.wikipedia.org/wiki/Member_variable) dari _class_`MonoBehaviour` yang merupakan [_parent class_](https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)) dari _class_`Centerized`.
152
+
> Informasi lebih lanjut mengenai _class_`MonoBehavior` bisa dilihat [disini](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html).
153
+
139
154
Setelah selesai, simpan baris _program_ tersebut.
140
155
141
156
### Menggunakan Component Centerized
@@ -146,13 +161,65 @@ Setelah selesai, simpan baris _program_ tersebut.
146
161
147
162

148
163
149
-
- Setelah _component_ ditambahkan, klik tombol `Play` pada Toolbar.
164
+
- Setelah _component_ ditambahkan, klik tombol `Play` pada **Toolbar** untuk melihat hasilnya.
165
+
150
166
> Pada tahap ini, tampilan akan terfokuskan pada **Game View**, dan objek lingkaran yang sebelumnya tidak berada di tengah akan secara otomatis terletak di tengah saat _game_ sedang berlangsung.
151
167
168
+
> Sebagai tambahan, anda bisa membuat beberapa objek lain dengan posisi acak dan menambahkan _component_`Centerized`.
169
+
> Hasilnya, setelah di-_run_, keseluruhan objek yang memiliki _component_`Centerized` akan secara otomatis terletak di tengah saat _game_ sedang berlangsung.
170
+
171
+
## Order of Execution
172
+
173
+
_Order of execution_ merupakan istilah yang merujuk pada urutan dari pemanggilan _event_ pada sistem **Unity**.
174
+
Salah satu dari _event_ tersebut nantinya akan memanggil fungsi yang ada pada _component_ seperti `Start()` dan `Update()` yang sudah dijelaskan sebelumnya.
175
+
Pada bagian ini kita akan membahas lebih lanjut mengenai bagaimana pengaruh _order of execution_ ini terhadap _looping_ dari suatu game, sehingga alur dari sistem bisa bekerja sesuai dengan yang diinginkan.
176
+
177
+
> Informasi lebih lanjut mengenai _order of execution_ pada **Unity** bisa dilihat [disini](https://docs.unity3d.com/Manual/ExecutionOrder.html).
178
+
179
+
### Membuat Component Rotating
180
+
181
+
Pada percobaan kali ini, kita akan membuat _component_ baru yang akan digunakan untuk membuat objek selalu berputar selama game sedang berlangsung
182
+
Untuk itu, pertama, buat **C#**_script_ baru dan beri nama `Rotating`.
183
+
184
+
Buka **C#**_script_ tersebut dan ubah isi dari fungsi `Update()` sebagai berikut:
185
+
```c#
186
+
voidUpdate()
187
+
{
188
+
Vector3newEulerAngles=transform.eulerAngles;
189
+
newEulerAngles.z+=0.5f;
190
+
191
+
transform.eulerAngles=newEulerAngles;
192
+
}
193
+
```
194
+
195
+
Penjelasan singkat dari baris _program_ diatas, _program_ akan menyimpan nilai `eulerAngles` dari _component_`transform` ke variabel sementara yang diberi nama `newEulerAngles`.
196
+
Setelah itu, nilai `z` dari `newEulerAngles` sebelumnya akan ditambahkan sebesar `0.5`_float_.
197
+
Dan Terakhir, nilai `newEulerAngles` yang sudah diubah tadi akan di-_set_ ke nilai `eulerAngles` dari _component_`transform`.
198
+
199
+
> Sebagai catatan, `transform` merupakan _member variable_ yang memiliki [tipe data](https://en.wikipedia.org/wiki/Data_type)_class_`Transform`.
200
+
> Dalam sisi pemrograman, _class_`Transform` merupakan _class_ yang merepresentasikan isi dan fungsi dari _component_`Transform` yang ada pada _game object_.
201
+
> Informasi lebih lanjut mengenai _class_`Transform` bisa dilihat [disini](https://docs.unity3d.com/ScriptReference/Transform.html).
202
+
203
+
Setelah selesai, simpan baris _program_ tersebut.
204
+
205
+
### Mencoba Component Rotating
206
+
207
+
- Buat _game object_ baru dengan jenis `3D Object` -> `Cube` dan tambahkan _component_`Rotating`.
208
+
> Anda boleh menghapus _game object_ lain yang sudah tidak digunakan.
209
+
- Klik tombol `Play` untuk melihat hasilnya.
210
+
211
+

212
+
213
+
> Pada tahap ini objek persegi yang baru saja dibuat akan berputar secara terus menerus.
214
+
> Hal ini bisa terjadi karena pada fungsi `Update()`, nilai dari [_euler angles_](https://en.wikipedia.org/wiki/Euler_angles) (atau `Rotation` pada **Inspector Window**) akan berubah secara terus menerus di setiap _frame_ sehingga menimbulkan kesan seolah-olah sedang berputar.
215
+
216
+
> Sebagai tambahan, anda bisa juga menambahkan _component_`Centerized`.
217
+
> Sehingga selain berputar terus menerus, ketika di awal, objek juga akan secara otomatis terletak di tengah.
218
+
152
219
## Kesimpulan
153
220
154
221
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.
155
222
156
-
Pada bagian selanjutnya kita akan membahas lebih lanjut mengenai manipulasi objek menggunakan _component_ yang dibuat sendiri, terutama soal mengatur gerakan dan animasi dari _game object_ tersebut, serta mengatur interaksi antara pemain dengan _game_ yang akan dibuat.
223
+
Pada bagian selanjutnya kita akan membahas lebih lanjut mengenai manipulasi objek menggunakan _component_ yang dibuat sendiri, terutama soal mengatur gerakan dari _game object_ serta mengatur interaksi antara pemain dengan _game_ yang akan dibuat.
157
224
158
-
[Lanjut Bagian Kedua, Gerakan dan Animasi](../2-Gerakan-dan-Animasi/README.md)
225
+
[Lanjut Bagian Kedua, Input dan Gerakan](../2-Gerakan-dan-Animasi/README.md)
Copy file name to clipboardExpand all lines: Assets/2-Gerakan-dan-Animasi/README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
-
# Gerakan dan Animasi
1
+
# Input dan Gerakan
2
2
3
-
Bab ini akan menjelaskan beberapa hal berikut:
3
+
Pada bagian kedua dari modul ini, kita akan membahas mengenai interaksi pemain dengan game melalui _input_ yang diberikan oleh pemain.
4
+
Serta bagaimana sistem akan merespon _input_ dari pemain tersebut, yang mana salah satunya adalah dengan menggerakkan objek yang dikendalikan oleh pemain.
5
+
Selain soal _input_ dan gerakan, pada bagian ini kita juga akan menyinggung beberapa hal lain yang akan membantu pengembangan game ini dari sisi _input_ dan gerakan seperti soal _debug log_ dan _prefab_.
0 commit comments