Total Tayangan Halaman

Kamis, 16 April 2020

6. Prefab | Pemrograman Permainan dengan UNITY


Prefab merupakan sebuah GameObject yang disimpan ke dalam Assets, yang nantinya bisa dimanfaatkan menjadi GameObject kembali.

Fungsi Instantiate() atau yang dalam banyak forum lebih sering disebut dengan: "Fungsi 
untuk membuat GameObject secara runtime."

Idenya game yang akan dibuat kali ini cukup sederhana yaitu membuat Prefab dari sebuah GameObject dan mendaftarkannya sebagai sebuah variable public agar dapat dibuat ulang berkali-kali oleh fungsi pemanggil. Fungsi ini merupakan salah satu fungsi yang sering digunakan dalam pembuatan game.

Buatlah project baru di Unity atau Scene baru.
Pastikan Project yang digunakan adalah Game 3D.

Tambahkan sebuah Plane dengan cara klik menu Create di jendela hierarchy > 3D Object > Plane lalu ganti namanya menjadi Lantai1.


Atur posisi Main Camera dan plane menggunakan gizmo atau panel Transform sehingga 
Kamera dapat melihat lantai dengan jelas berada di bawah.


Tambahkan plane kedua, ganti namanya menjadi Lantai2 dan atur scalenya menggunakan Scale Tool di pojok kiri atas atau masukkan angkanya pada panel transform.

Angkat posisi Lantai2 sedikit ke atas dan atur kemiringannya sehingga mirip seperti gambar berikut.


Klik Lantai2 pada tab Hierarchy kemudian buat GameObject Child dengan cara klik menu Create > Create Empty Child.
Atur posisi GameObjectChild tadi menggunakan gizmo atau panel Transform sehingga 
sedikit di atas Lantai2 seperti gambar berikut.


Untuk memudahkan penyebutan, ganti nama Game Object Child tadi menjadi TitikJatuh.
Selanjutnya buat sebuah Sphere baru dengan cara klik menu GameObjects > 3D Object > Sphere dan ganti namanya menjadi MyBall. 

Arahkan MyBall ke depan Lantai2

Tambahkan sebuah gambar pada panel Assets dengan cara klik kanan pada panel Assets > Import New Assets..., lalu pilih salah satu gambar yang ada di komputer Anda atau bisa dengan cara drag & drop gambar langsung ke panel Assets.

Dari panel Assets, drag gambar tersebut menggunakan mouse lalu letakkan pada MyBall sehingga terlihat seperti di bawah ini.


Klik MyBall dan tambahkan RigidBody dengan cara klik menu Add Component di bagian Inspector > Physics > Rigidbody.

Rigidbody adalah sebuah komponen penting yang dapat membuat GameObject seolah-olah memiliki berat dan dapat dipengaruhi oleh gaya gravitasi.
Buat sebuah Physic Material dengan cara klik Assets > Create -> Physics Material dan beri nama Bounce.

Ganti parameter Bounciness menjadi 0.9 untuk menambahkan efek memantul.


Kita kembali ke GameObject MyBall, tambahkan Material Bounce dengan cara drag dari panel Assets ke panel Sphere Collider, parameter material.


Berikutnya untuk menjadikan Prefab, drag MyBall dari tab Hierarchy ke panel Assets.


Jika Prefab MyBall sudah dibuat, Anda dapat menghapus GameObject MyBall dari tab Hierarchy, karena yang akan kita gunakan adalah Prefab yang sekarang sudah ada di Assets.
Prefab adalah sebuah instansiasi dari sebuah GameObject sehingga GameObject yang sudah pernah dibuat bisa digunakan kembali dengan cepat. Selain itu Prefab memungkinkan GameObject digandakan menggunakan script.

Setelah menghapus GameObject MyBall silahkan drag Kembali prefab yang sudah ada ke scene atau tab Hierarchy. Buatlah 5 MyBall di dalam scene.


Buat script C# dan beri nama GandakanBola.cs lalu ubah script menjadi seperti berikut ini


Selanjutnya pasang script tersebut di GameObject mana saja yang Anda suka, lalu pastikan parameter TempatJatuh dan parameter Bola diisi.

Parameter Tempat Jatuh diisi dengan GameObject TitikJatuh, sedangkan parameter Bola diisi dengan prefab MyBall.


Jalankan Games dan klik tombol Buat Bola berkali-kali. Perhatikan pula kondisi tab Hierarchy dengan seksama, semua GameObject yang terbentuk dan terterah di sana akan menghilang secara otomatis setelah 5 detik. Beginilah cara Unity membuat GameObject secara runtime sekaligus menjaga kestabilan penggunaan memori pada Komputer.


Kalian bisa tambahkan script dibawah agar bola bisa bertambah Ketika salah satu keyboard ditekan. Dalam kasus ini saya menggunakan tombol spasi


Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta ðŸ˜„






Kamis, 09 April 2020

5. GUI Skin | Pemrograman Permainan dengan UNITY


Sebelum melanjutkan materi, silahkan sediakan beberapa objek seperti file gambar, suara, dan font.
Buatlah project baru di Unity atau cukup scene baru saja (jika masih ingin menggunakan project dari materi sebelumnya). Tambahkan sebuah GUISkin dengan cara klik menu Assets -> Create -> GUISkin. Beri nama BelajarGUISkin.


Setelah itu tambahkan beberapa Assets yang sudah diunduh tadi seperti assets untuk tombol (beberapa template gambar button berekstensi png) dan assets font.
Untuk melakukan import Assets, dapat dilakukan dengan beberapa cara, salah satunya dengan cara klik menu Assets -> Import New Assets atau dengan drag filenya langsung dari Windows Explorer. Pastikan semua assets yang akan digunakan sudah di-import.




Berikutnya kita kembali ke Skin BelajarGUISkin yang tadi kita buat. GUI Skin memiliki 2 jenis font, Ada font global yang letaknya di panel paling atas, dan ada font lokal yang berada di setiap parameter GUI. Ubah font khusus button dengan drag file font pada Assets ke Button -> Overflow. Atau klik tombol kecil di sebelah kanan kolom Font lalu browse, cari Font pada Asset.
Lalu ubah Font Size menjadi 24.


Berikutnya ganti background pada Button.
Ganti Background pada Toggle (dengan cara drag & drop):
1.      Button -> Normal
2.      Button -> Hover
3.      Button -> Active
Berikutnya pada Button, istilah Toggle mungkin agak kurang familiar. Sebagian orang lebih mengenalnya dengan istilah Checkbox. Pada Contoh kali ini, toggle dimanfaatkan untuk pengaturan suara.
Ganti Background pada Toggle:
1.   Toggle -> Normal
2.   Toggle -> Hover
3.   Toggle -> Active
4.   Toggle -> On Normal
5.   Toggle -> On Hover
6.   Toggle -> On Active


Berikutnya ganti background pada Button.
Ganti Background pada Button:
1.   Button -> Normal
2.   Button -> Hover
3.   Button -> Active


Buat script C# baru dan beri nama MenuSkin.cs dan edit file menjadi seperti berikut:



Pasang script MenuSkin.cs pada GameObject (misalnya MainCamera), lalu pasang parameter mySkin dengan BelajarGUISkin.


Jika tidak ada kesalahan, selanjutnya jalankan Game, contoh tampilan saat game dijalankan seperti gambar di bawah ini


Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta 😄



Kamis, 02 April 2020

4. Interaksi Objek | Pemrograman Permainan dengan UNITY


Buatlah project baru di Unity atau cukup scene baru saja (jika masing ingin menggunakan project dari materi sebelumnya).
Tambahkan sebuah Cube dengan cara klik menu Create di jendela Hierarchy -> 3D Object -> Cube.
                                      


Posisikan Cube agar berada di depan kamera. Salah satu caranya:
Klik Main Camera, drag panah warna biru untuk pergeseran posisi z, warna merah untuk posisi x, dan warna hijau untuk posisi y. Sambil perhatikan Camera Preview atau Game Scene


Beri nama cube tersebut dengan nama Kubus1. Caranya klik kanan Cube pada tab Hierarchy -> Rename dan ketik namanya, atau bisa juga menggunakan tab Inspector dan ketik namanya di textbox paling atas.



Duplikasi cube tersebut menjadi 4 buah dengan cara klik cube lalu tekan tombol Ctrl+D atau klik kanan -> Duplicate
Atur posisi masing-masing cube sehingga terlihat berbaris seperti gambar di bawah ini. Dengan cara drag panah warna biru untuk pergeseran posisi z, warna merah untuk posisi x, dan warna hijau untuk posisi y yang ada di dalam cube.



Tambahkan satu Tag baru dengan cara klik salah satu Cube (manapun), lalu pada tab Inspector klik Tag dan pilih Add Tag…
Klik tombol (+) dan masukkan Tag baru “Kotak1”.



Pilih Kubus4 pada Hierarchy dan ganti Tag-nya (pada Inspector) menjadi Kotak1. Kita akan menggunakan ini pada script nanti.



Berikutnya ubah proyeksi MainCamera (pada Inspector) menjadi Orthographic dan size menjadi 2.


Perspective : ini sama seperti dalam kehidupan kita, misalnya kamera atau mata kita yang melihat alam ini, arah pandang kamera menyebar, sehingga semakin jauh benda terlihat semakin mengecil. Lihat kubus saat proyeksi kamera perspective mengecil bukan?
Orthographic : ini sama seperti gambar blueprint, sketsa gambar arsitektur (yang bukan 3D), scanner, dll. arah pandang kamera lurus dan paralel, sehingga semakin jauh benda tetap terlihat sama seperti yang dekat. Lihat kubus saat proyeksi kamera orthographic baik dekat maupun jauh ukurannya sama bukan?
Buat script C# baru dan beri nama ScriptKubus.cs dan edit file menjadi seperti berikut:


  •  Pasang script tersebut pada Kubus1 dan centang pilihan Cube 1 (perhatikan Script Kubus pada Inspector). Jalankan game dan perhatikan kubus mana saja yang berputar.
  • Selanjutnya ketik “Kubus2” pada parameter Pilih Kubus dan centang Cube 2. Perhatikan kembali kubus mana saja yang berputar.
  • Berikutnya ketik “Kotak1” pada parameter Pilih Tag dan centang Cube 3. Perhatikan kembali kubus yang bergerak.
  • Terakhir klik browse (tombol bulat kecil) pada parameter Pilih Objek, pilih tab Scene dan pilih Kubus3, lalu centang Cube 4. Perhatikan kembali kubus yang bergerak.


Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta ðŸ˜„

Kamis, 26 Maret 2020

3. Input Mouse dan Keyboard | Pemrograman Permainan dengan UNITY


Pada umumnya di dalam sebuah game komputer digunakan banyak tombol, baik yang ada pada mouse maupun di keyboard. Materi ini akan membahas bagaimana Unity mendeteksi penekanan tombol tersebut.Unity memiliki banyak cara dalam mendeteksi tombol tekan oleh player, silahkan perhatikan contoh program.

Input Mouse
Langkah pertama yang harus dilakukan adalah membuat project baru di Unity atau cukup Scene baru (jika masih ingin menggunakan project sebelumnya). Buat script C# kemudian beri nama InputMouse (nama boleh beda disesuaikan keinginan anda). Tutorial cara membuat project dan scipt C# telah dijelaskan pada materi sebelumnya. Kemudian masukkan kode di bawah ke dalam script InputMouse


Drag and drop script InputMouse ke GameObject Main Camera di jendela Hierarchy. Jalankan game, dan lihat apa yang terjadi, jika mouse di klik maka akan menampilkan button mana yang di klik. Selain itu akan menampilkan posisi pointer pada layar, dan jika scroll pada mouse digerakkan akan tampil jumlah scroll.



Input Keyboard
Buatlah file script C# dan beri nama InputKeyboard. Lalu masukkan kode berikut:


Drag and drop script InputKeyboard ke GameObject Main Camera di jendela Hierarchy. Pastikan script InputMouse di bagian inspector dari Main Camera tidak terceklis dan InputKeyboard terceklis. Jalankan game, dan lihat apa yang terjadi, jika ditekan tombol A, tombol B dan pilihan user, maka akan muncul hasilnya di panel Game. Pilihan User bisa diganti saat game sudah dijalankan.



Input Manajer
Keempat fungsi deteksi keyboard yang sudah dibahas di atas seharusnya tidak sulit untuk dipahami karena bentuknya sudah sangat jelas. Pertanyaan mungkin baru muncul pada Parameter “Fire1”. “Kenapa efeknya bisa muncul pada saat menekan klik kiri mouse atau tombol kiri Ctrl? padahal kita tidak pernah mendefinisikan itu sebelumnya?”. Hal ini disebabkan Unity memiliki beberapa parameter standar yang bisa digunakan untuk membantu proses deteksi input.
Parameter standar Unity yang berhubungan dengan input dengan cara klik menu Edit -> Project Settings -> Input.
Pada panel Input Manager inilah bisa didapatkan informasi tentang berbagai input standar yang telah dikenali oleh Unity. Bahkan kita bisa menambahkan daftar input kita sendiri bila diperlukan.



Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta ðŸ˜„

Kamis, 19 Maret 2020

2. Array, Class, Looping | Pemrogramman Permainan Menggunakan Unity

Selain tipe data standar, Unity juga mampu mengenali tipe data lain seperti array atau 
bahkan tipe data buatan seperti struct. Kali ini kita tidak akan membahas struct, melainkan
tipe class yang bisa mewakili tipe data yang lain.

Istilah looping digunakan untuk perintah pengulangan, pada pembahasan materi kali ini
bukan membahas fungsi for atau while yang biasa digunakan tetapi sebuah pengulangan 
perintah yang dilakukan berdasarkan interval tertentu menggunakan fungsi
InvokeRepeating().

Belajar Array
Langkah pertama yang harus dilakukan adalah membuat script C# bernama
BelajarArray (nama tidak harus sama) dengan cara klik kanan pada Assets > create > 
C# Script. 
Untuk Tutorial kali ini kalian bisa menggunakan project lama atau juga bisa dengan membuat project baru. 

lalu ketikkan kode berikut ke dalam script BelajarArray:




Drag and Drop file BelajarArray ke Main Camera yang ada di Hierarchy. Jika tidak ada kesalahan, buka inspector dari Main Camera lalu isi size pada ArrayAngka, setelah itu elementnya dengan bilangan bulat sesuai keinginan anda. Lalu isi size pada ArrayTeks dengan angka, dan setelahnya isi element dengan teks terserah anda.




Jalankan Game dan lihat apa yang terjadi 





Belajar Class
Buat script C# bernama ArrayClass (nama tidak harus sama) dengan cara klik kanan pada Assets > create > C# Script. 

lalu ketikkan kode berikut ke dalam script ArrayClass:




Drag and Drop file ArrayClass ke Main Camera. Perhatikan Inspector dari Main Camera, maka akan ada 2 script, yaitu: BelajarArray dan ArrayClass. Kalian bisa menjalankan keduanya. Namun kali ini kita hanya akan menggunakan Arrayclass saja. Hilangkan ceklis pada BelajarArray dan pastikan ArrayClass ter-ceklis. Silahkan isi Size, ID, dan isi sesuka kalian dan jalankan game.





Belajar Looping
Selanjutnya buat script C# bernama FungsiLooping (nama tidak harus sama). 

ketikkan kode berikut ke dalam file script FungsiLooping:




Drag and Drop file FungsiLooping ke Main Camera. Pastikan hanya script FungsiLooping yang terceklis di bagian inspector dari Main Camera. Jalankan Gamenya 




Itu saja yang dapat saya sampaikan. Silahkan komentar jika ada yang ingin ditanyakan.
Mampir juga ke web Universitas Budi Luhur: www.budiluhur.ac.id
Universitas Terbaik di Jakarta ðŸ˜„



Minggu, 15 Maret 2020

1. Assests, Scene, dan Script | Pemrograman Permainan menggunakan Unity

Setelah membuat project baru, kalian akan dihadapkan dengan tampilan seperti dibawah:




Interface Unity:
  • Toolbar digunakan untuk memanipulasi Scene View dan objek-objek di dalamnya. Fungsinya beragam, yakni dari memindahkan posisi, rotasi, hingga skala.
  • Hierarchy Window digunakan untuk melihat daftar GameObject apa saja yang ada di dalam scene. Setiap objek yang ada di scene pasti masuk di Hierarchy.
  • Scene Window digunakan untuk melihat secara keseluruhan objek yang digunakan di game. Scenes Window juga dapat mengedit objek, baik itu dalam hal posisi, rotasi maupun skala. 
  • Game View digunakan untuk melihat hasil akhir dari game yang nantinya akan ditampilkan di layar user.
  • Inspector Window digunakan untuk mengedit semua properties pada objek yang aktif.
  • Project Window digunakan untuk menampilkan daftar asset yang dapat digunakan dalam project Anda. Ketika menambahkan asset baru, ia akan muncul di Project Window.
  • Console Window digunakan untuk mengetahui log dalam script serta informasi error dan peringatan yang ada di dalam script.

Pengaturan Assets

Pada Project Window kita dapat mengelola file yang akan kita gunakan selama pembuatan Game. File yang sering digunakan diantaranya Scenes, Script, Gambar, Audio, dll.
Selain file, kita dapat mengatur folder supaya penempatan file lebih rapi. Umumnya file scenes akan disimpan dalam satu folder scenes, file script disimpan dalam satu folder script, dst.






Membuat folder pada Assets
Untuk membuat folder pada Assets bisa dengan cara: Klik kanan pada Assets, Create > Folder. lalu beri nama pada folder sesuai dengan yang diinginkan. Misalnya buatlah folder scripts



Membuat Script
Untuk membuat file script bisa dengan cara: Klik kanan pada Assets/folder lain yang ada di script, Create > C# Script. lalu beri nama file script tersebut. Misalnya buatlah file HelloWorld.cs



Untuk menambahkan atau mengganti software editor untuk mengedit scriptnya bisa dengan cara: Edit > Preferences > External Tools > Browse…
*disini saya menggunakan Visual Studio Code



Selanjutnya edit script HelloWorld.cs tadi menjadi seperti gambar diatas.


*Untuk daftar prosedur dan fungsi lengkap yang ada pada kelas MonoBehaviour, silakan merujuk ke tautan ini:




Lalu drag and drop file script HelloWorld.cs ke Main Camera di Hierarchy Window 



Pastikan script HelloWorld.cs telah masuk ke GameObject Main Camera dan menjadi komponen baru bagi Main Camera dengan melihat Inspector.




Klik tombol Play, maka akan muncul di jendela Console seperti di samping.
Jika diklik salah satu list yang ada di console, akan muncul info detil dari informasi nama berkas (file) script hingga baris kode tersebut.
klik tombol play kembali untuk menghentikan jalannya game 


Itu dia yang dapat saya sampaikan. Silakan komentar jika ada yang ingin ditanyakan.

Jangan Lupa juga mampir ke Web Universitas Budi Luhur: www.budiluhur.ac.id