Total Tayangan Halaman

Minggu, 07 Juni 2020

11. Karakter dan Animasi 3D | Pemrograman Permainan dengan UNITY


Buatlah Project 3D baru di Unity. Import package Standard-Asset, kemudian tambahkan sebuah Terrain yang memiliki texture rumput.
Baca materi sebelumnya jika lupa bagaimana melakukan import dan membuat Terrain dengan texture rumput.


Cari folder Characters pada Assets, pilih folder ThirdPersonCharacter, pilih Prefabs dan masukkan prefab ThirdPersonController ke dalam Scene.
Akan ada sesosok laki-laki berambut rancung yang seluruh kulit dan bajunya berwarna abu-abu. Namanya adalah Ethan, ia adalah salah satu model bawaan Unity yang texturenya memang sengaja dihilangkan.


Selanjutnya tambahkan prefabs FreeLookCameraRig yang bisa didapatkan pada folder Prefabs di dalam folder Cameras. Sebelumnya, hapus dulu object Main Camera pada Hierarchy karena fungsi kamera akan kita ganti menggunakan FreeLookCameraRig ini.


Klik prefabs FreeLookCameraRig dan pada parameter Target, drag ThirdPresonController alias karakter Ethan. 


Silahkan coba jalankan game, gerakkan karakter Ethan dengan keyboard dan kamera akan secara ‘otomatis’ mengikuti dari belakang.
Ini adalah dasar pergerakan 3D dalam Unity, bagaimana jika yang akan digerakkan itu adalah karakter buatan sendiri? itu yang akan kita bahas selanjutnya.





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 😄







Sabtu, 23 Mei 2020

10. Terrain 3D | Pemrograman Permainan dengan UNITY

Terrain adalah arena permainan yang biasanya berupa hamparan dengan texture tanah, rumput, pasir, bebatuan atau air. Pada terrain pada umumnya juga terdapat model gunung, lembah, pohon dsb.

Sebagai sebuah game engine yang terintegrasi, Unity telah dilengkapi dengan world editor yang sangat lengkap, kita tidak perlu lagi bersusah payah hanya untuk membuat terrain utama dalam game.

Buatlah Project 3D baru di Unity. Berikan nama untuk project (bebas apa saja). Sekali lagi pastikan pilihan 3D aktif. Jika project sudah dibuat, import package standar Unity. Ada dua cara untuk melakukan import package Unity
1. Menggunakan window Asset Store (Ctrl+9) (harus terhubung dengan internet)
2. Import dari komputer (Assets -> Import Package -> Custom Package) cara ke dua ini tidak harus terhubung ke internet

1. Menggunakan window Asset Store (Ctrl+9)
Import menggunakan cara ini mewajibkan kita terhubung ke Internet karena Unity akan langsung mengakses assetstore.unity.com dan menampilkannya pada window ini. Kita bisa melakukan pencarian dan langsung klik import di Asset yang kita pilih, dengan sekejap Unity akan meletakkan Asset pada project yang sedang kita buat. Menggunakan window Asset Store (Ctrl+9) (Cont’d). Kita bisa melakukan pencarian dengan mengetikkan kata kunci pada kolom Search for assets, misalnya ketik Standard Asset. Jika sudah ditemukan, untuk asset FREE bisa kita import begitu saja. 

2. Import dari komputer 
(Assets -> Import Package -> Custom Package) cara kedua ini mewajibkan kita sudah memiliki Package Assets yang bisa kita unduh di internet (salah satunya https://assetstore.unity.com/) Cara ini memungkinkan kita melakukan impor tanpa terhubung ke internet.

Sebelum kita lanjutkan materi, silahkan kalian dapatkan Standard Assets Unity dengan cara mencari pada Assets Store. 
Asset yang tersedia diantaranya:
Standard-Assets
RealisticTerrain
LowPolyWater_Pack
Berikutnya kita akan lanjutkan materi dengan asumsi kalian sudah berhasil melakukan import package RealisticTerrain dan Standard-Assets. Proses ini membutuhkan waktu yang cukup lama, tergantung spesifikasi komputer yang digunakan.

Berikutnya kita akan lanjutkan materi dengan asumsi kalian sudah berhasil melakukan import package RealisticTerrain dan Standard-Assets. Proses ini membutuhkan waktu yang cukup lama, tergantung spesifikasi komputer yang digunakan.



Setelah proses impor selesai, tambahkan sebuah terrain dengan cara klik menu GameObject > 3D Object > Terrain. Jika tidak terjadi kesalahan, maka sebuah terrain kosong berukuran 500x500 pixel akan muncul.



Klik tombol Terrain Setting pada panel Terrain di tab Inspector yang akan menampilkan menu tambahan baru untuk pengaturan terrain aktif.
Kemudian atur Resolution Terrain Width dan Terrain Length menjadi 1000x1000



Selanjutnya klik tombol Paint Texture pada panel Terrain di tab inspector yang akan menampilkan menu tambahan baru untuk mewarnai terrain aktif.
Klik Edit Texture, klik Add Texture, dan pada kotak Dialog Add Terain Texture, klik Select dan pilih salah satu texture yang ada, misalnya saja texture Grass alias rumput berwarna hijau. Setelah itu klik Add



Setelah tombol Add di klik, maka terrain yang semula berwarna putih akan berubah menjadi hijau. Lakukan hal yang sama dan tambahkan sebuah texture lain, misalnya yang berwarna coklat.



Pada panel Brushes, pilih salah satu brush yang kalian suka, pilih texture yang kedua (bukan texture grass yang pertama), setelah itu warnai terrain tadi. Caranya klik dan drag saja menggunakan mouse pada terrain sesuka hati.
Kalian juga dapat bereksperimen dengan menggunakan texture dan brush yang lain. Ukuran brush dapat juga diatur menggunakan slider, masih di panel yang sama.



Selanjutnya klik tombol Raise/Lower Terrain pada panel Terrain di tab Inspector yang akan menampilkan tambahan baru untuk mengubah ketinggian terrain aktif, hal ini bisa digunakan untuk membuat pegunungan pada terrain.
Cukup klik pada texture dan secara otomatis, terrain akan naik dengan sendirinya. Gunakan Shift+klik untuk menurunkan ‘gunung’. Kombinasi antara brush yang berbeda dapat membuat tampilan gunung semakin bervariasi.



Selanjutnya klik Paint Trees pada tab Terrain di tab Inspector yang akan menampilkan menu tambahan baru untuk pembuatan pepohonan.
Klik Edit Trees, pada kotak dialog Add Tree, klik browse, pilih salah satu pohon yang ada dan klik Add.
Kita bisa menambahkan beberapa pohon ke dalam Trees supaya ada lebih dari satu jenis pohon di Terrain yang kita buat.



Lakukan cara yang sama seperti sebelumnya, klik dan drag untuk membuat pohon tumbuh di mana-mana.

Klik Paint Details pada panel Terrain di tab Inspector yang akan menampilkan menu tambahan baru untuk pembuatan rumput.

Klik Edit Details, pada kotak dialog Add Grass Texture, klik browse, pilih salah satu texture rumput yang ada dan klik Add.


Dengan cara yang sama seperti menanam pohon, kita sekarang pun bisa menanam rumput. Perbedaannya, rumput hanya akan tampil jika posisi kamera berada pada jarak yang cukup dekat, sehingga jangan heran jika posisi kamera terlalu jauh di atas terrain, rumput kadang tidak terlihat.



Selanjutnya membuat danau. Caranya, dari folder Environment cari folder Water dan pilih folder Prefabs. Pilih salah satu prefabs water dan tarik langsung pada Scene.

Atur posisi dan ukurannya menggunakan gizmo seperti halnya mengatur GameObject seperti Cube, Sphere atau lainnya.
Selanjutnya kita akan memasukkan karakter ke dalam Terrain, caranya cari folder Characters, lalu expand folder FirstPersonCharacter, dan pilih folder Prefabs. Masukkan RigidBodyFPSController ke dalam Scene. 

Atur posisi menggunakan gizmo seperti mengatur GameObject lain, tempatkan sedikit di atas terrain, hal ini perlu agar GameObject tidak tenggelam ke dalam jurang tak berujung di area Scene karena prefab ini dapat dipengaruhi oleh gravitasi.

Terakhir, jalankan Game.
hanya dalam hitungan menit kita berhasil membuat scene landscape. Membangun sebuah game menggunakan Unity seperti menyusun puzzle, sudah tersedia Asset yang sangat banyak, tinggal kita menyusunnya menjadi sebuah game.

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, 17 Mei 2020

9. UI System | Pemrograman Permainan dengan UNITY

Unity memiliki kelemahan dalam hal UI (user interface). Class GUI yang dimiliki Unity mengharuskan programmer berusaha lebih keras hanya untuk membuat sebuah tombol dan interaksinya. Tetapi sejak versi 4.6 Unity mengeluarkan fitur UI yang sangat baik. Kini pembuatan user interface di Unity semudah drag and drop.

Buatlah project baru di Unity atau cukup scene baru saja jika masih ingin menggunakan project yang sudah digunakan dalam materi sebelumnya. Tambahkan sebuah panel dengan cara klik menu GameObject > UI > Panel.



Semua object UI memiliki satu mekanisme unik yang disebut dengan Anchor. Misalnya untuk panel yang baru saja kita pasang. Kita bisa melihatnya pada panel Transform bahwa secara default Anchor yang dimilikinya adalah Strecth x Strecth.



Gunakan Hand Tool standar dan gunakan mouse (klik kanan dan kiri) untuk mendapatkan pandangan Scene seperti di bawah ini.



Anchor tersebut akan membuat panel yang dibuat akan ikut membesar secara horizontal dan vertikal sesuai dengan ukuran layar game. Kita bisa mengubah jenis Anchor dengan klik kotak penanda Anchor. Misalnya mengubah pilihan pada Top x Left kemudian geser panelnya pada ujung kiri atas. Pilihan ini akan membuat panel ‘menempel’ pada posisi kiri atas Canvas. Tak peduli ukuran layar game berubah-ubah.

Untuk mencobanya silahkan ubah ukuran layar game.



Contoh lainnya misalnya adalah kebalikannya yaitu Top-Right. Ubahlah Anchor panel menjadi Top-Right dan geser panel sampai ujungnya mendekati posisi kanan atas. 

Jalankan game dan ubahlah layar tab game, bisa perhatikan kini bahwa panel akan berusaha untuk selalu menyesuaikan dengan ujung layar game sebelah kanan atas?

Baiklah sekarang kembalikan lagi Anchor menjadi Strecth x Strecth lalu lanjutkan materi berikutnya.
Selanjutnya kita akan membuat tombol. Caranya klik menu GameObject > UI > Button.
Pasang Button sebagai child dari Panel dengan cara drag langsung pada tab Hierarchy.



Jalankan game dan coba geserkan tab Game, lalu perhatikan hasilnya. Meski ukuran panel mengikuti layar game namun posisi dan ukuran button tidak. Hal terpenting yang harus diingat adalah Anchor bekerja untuk setiap objek UI sehingga kita harus mengaturnya satu persatu.

Menguasai Anchor merupakan dasar terpenting dalam penggunaan UI pada Unity. Prosesnya cukup rumit dan mudah, kita hanya perlu sedikit lebih teliti.
Selanjutnya buat sebuah InputField dengan cara klik menu GameObject > UI > InputField. GameObject ini berfungsi untuk menerima inputan dari user.



Tempatkan Inputfield pada panel dan sesuaikan posisinya sesuai keinginan.



Klik GameObject PlaceHolder yang merupakan child dari GameObject InputField pada tab Hierarchy, lalu klik tab Inspector dan pada panel Text ganti parameter Textnya menjadi “Masukkan Nama Anda...”



Selanjutnya tambahkan sebuah Text dengan cara klik menu GameObject > UI > Text.
Tempatkan text sebagai child dari panel.
Atur posisi sesuai kebutuhan.



Anda juga bisa mengganti text yang ada pada Button dengan klik pada Text pada child Button, klik Inspector lalu ubah parameter Text sesuai kebutuhan.



Selanjutnya kita akan buat Script C# baru dan beri nama KlikUI.cs lalu ubah script seperti di bawah ini:



Selanjutnya pasang script pada GameObject. Kita bisa pasang di sembarang GameObject, misalnya saja kita pasang pada Canvas, lalu sesuaikan dua buah parameter public yang dibuat tadi dengan GameObject yang telah kita buat sebelumnya di Scene.

Untuk memudahkan, silahkan ganti nama GameObject Text yang menjadi TextTarget.



Selanjutnya klik Button pada Scene, cari panel event OnClick() pada tab Inspector, klik tombol + di pojok kanan bawah.



Masukkan GameObject yang diberi script (dalam hal ini Canvas) pada parameter Object, dan klik combobox yang bertuliskan No Function dan pilih KlikUI. Dalam hal ini KlikUI adalah script yang dipasang pada GameObject Canvas. Pilih fungsi ClickMe(). Dengan begini, fungsi ClickMe() akan dipanggil jika Button ditekan.



Pada dasarnya, semua fungsi yang dipasang sebuah GameObject yang dipasangkan pada event OnClick akan muncul pada combobox ini.
Jalankan Game, isi InputField dengan nama seseorang dan klik buttonnya. Terlihat hasilnya?

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, 07 Mei 2020

8. Simple Animation | Pemrograman Permainan dengan UNITY

Materi kali ini membahas dasar membuat animasi. Animasi pada dasarnya adalah sebuah pergerakan yang terbagi menjadi dua, yaitu perpindahan posisi dan perubahan bentuk. Materi ini akan membahas proses pembuatan dua jenis animasi tersebut menggunakan tool standar Unity. Hal-hal lain yang lebih rinci mengenai animasi pada object akan dijelaskan pada materi selanjutnya.

Buatlah project baru di Unity atau cukup scene baru saja jika masih ingin menggunakan project yang sudah digunakan dalam materi sebelumnya. Tambahkan sebuah Plane dengan cara klik menu GameObject > 3D Obect > Plane.

Tambahkan sebuah Cube dangan cara klik menu GameObject > 3D Obect > Cube dan tempatkan Cube sedikit di atas Plane agar terlihat.

Selanjutnya tampilkan jendela Animation dengan cara klik menu Window -> Animation. Rencananya kita akan membuat 3 animasi yang berbeda untuk si Cube.


Untuk membuat animasi, yang pertama harus dilakukan adalah membuat sebuah file *.anim yang berisi sebuah animasi. Caranya, klik GameObject Cube pada tab Hierarchy, klik jendela Animation dan klik Create. Lalu ketikan nama animasinya, misalnya: Animasi1.anim


Pastikan tombol record (tombol merah di pojok kiri atas) telah diklik yang menandakan Unity telah siap melakukan rekaman pergerakan apapun terhadap GameObject yang aktif. Untuk Animasi1 kita akan membuat Cube berubah ukuran. Caranya klik angka pada timeline dan pindahkan sampai angka 0:30.


Setelah itu gunakan gizmo Scale dan perbesar ukuran Cube (misalnya sampai dua kali lipat besarnya). Bila merasa kesulitan bisa juga menggunakan panel Transform dan memasukkan angkanya pada parameter Scale misalnya (1.5, 1.5, 1.5)


Sampai tahap ini, jika kita klik tombol play animasi (yang berada di sebelah kanan tombol record pada jendela Animation) kita sudah dapat melihat bahwa Cube tersebut telah ‘bergerak’. Dari kecil ke besar dan begitu seterusnya. Agar animasinya lebih smooth lagi, silahkan coba copy (Ctrl+C) Keyframe di 0:00 dan paste (Ctrl+V) Keyframenya di 1:00


Sekarang buatlah 2 animasi klip lagi menggunakan cara yang sama namun dengan pergerakan yang berbeda. Untuk menambahkan klip, cukup klik pada combo utama di jendela Animation dan klik Create New Clip. Pastikan tombol record telah dimatikan.

jika pada animasi sebelumnya kita membuat perubahan ukuran, coba di animasi yang kedua ini kita berupa perubahan rotasi objek.


Berikutnya animasi ketiga buatlah perpindahan objek dari beberapa titk sekaligus. Anda cukup klik pada KeyFrame tertentu dan pindahkan Cubenya ke mana saja.


Pastikan sampai pada tahap ini tidak ada kesalahan, seharusnya kita memiliki 3 buah file animasi dan 1 buah file Animator.


Tambahkan sebuah Component Animation pada Cube dengan cara klik menu Component -> Miscellaneous -> Animation.

Pada parameter Animations, ketikan angka 3 (sejumlah animasi yang tadi dibuat) dan masukkan satu per satu animasi yang diinginkan pada kotak yang bersesuaian.


Berikutnya buatlah script C# baru dan beri nama AnimationCube.cs. Ubah menjadi seperti berikut:

Pasang script tersebut pada GameObject Cube dan jalankan Game. Klik setiap button dan perhatikan animasi yang dijalankan akan berbeda-beda. Ini adalah dasar-dasar pengaturan animasi pada Unity, khususnya animasi menggunakan Component Animation.



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 😄



Jumat, 24 April 2020

7. Translate() dan Raycast() | Pemrograman Permainan dengan UNITY

Translate adalah sebuah fungsi untuk membuat sebuah objek bergerak secara relatif terhadap posisinya sendiri dan bukan pada posisi dunia. Contohnya jika tombol panah maju ditekan maka objek akan mau ke depannya dan bukan ke arah depan pandangan pengguna.

Fungsi Raycast() merupakan fungsi untuk melakukan penembakan ke arah yang dituju oleh kursor mouse dan menghasilkan koordinat Vector 3D.

Translate
Buatlah project baru di Unity atau cukup Scene baru saja (jika Anda masih ingin menggunakan project materi sebelumnya).
Pastikan Project yang digunakan adalah Game 3D.

Tambahkan sebuah GameObject cube dengan cara klik menu GameObject > 3D Object > Cube dan tambahkan sebuah Component Rigidbody melalui menu Component > Physics > Rigidbody.


Kemudian atur posisi Cube agar berada tepat di atas Plane seperti berikut dengan menggunakan gizmo atau panel Transform. Sampai langkah ini Anda sudah memiliki sebuah Cube yang memiliki massa dan dipengaruhi oleh gaya gravitasi.


Kalian juga bisa menambahkan sebuah asset gambar apapun dengan cara klik kanan pada panel Assets lalu pilih Import New Assets… Pasang texture tersebut pada Cube. Gambar ini hanya untuk membuat cube lebih menarik saja.

Berikutnya buat script dan beri nama TranslateScript.cs lalu ubah menjadi seperti di bawah ini


Pasang script tersebut ke Cube yang tadi dibuat, lalu jalankan Games. Tekan tombol panah atas, apa yang terjadi?

Hentikan Games lalu modifikasi script, tambahkan script berikut ini ke method update 


Jalankan kembali game, lalu coba tekan tombol panah kanan, panah kiri. Selanjutnya tekan dan tahan tombol shift kiri + tekan tombol panah kanan atau kiri. Bagaimana hasilnya?

Selanjutnya tambahkan kode seperti dibawah ini 


Jika tidak ada kesalahan (debug) seharusnya game sudah bisa menggerakkan Cube menggunakan keyboard dan meloncat jika menekan tombol spasi.

Ada game yang kameranya mengikuti objek kemanapun perginya. Ada banyak cara untuk membuat seperti ini, salah satu cara yang paling mudah adalah dengan menjadikan MainCamera sebagai child dari GameObject Cube. Caranya drag saja langsung GameObject MainCamera di tab Hierarchy ke GameObject Cube. Atur posisi MainCamera sesuai yang diinginkan, misalnya di depan atau di belakang, bahkan di atas cube.

Raycast
Berikutnya Cube akan dibuat bergerak menuju suatu titik berdasarkan inputan dari mouse. 
Atur posis MainCamera seperti semula sehingga tidak lagi menjadi child dari cube dan dapat melihat keseluruhan Plane Cube dari atas. 

Tambahkan sebuah Plane lainnya, beri nama Target. Kecilkan ukuran Plane tersebut dengan menggunakan gizmo scale dan tambahkan sebuah material dan beri warna tertentu sehinga plane target dapat terlihat kontras dengan Plane yang berada di bawahnya.


Buat script lalu beri nama RaycastCube.cs


Pasang script tersebut di GameObject Cube, isikan parameter target dengan GameObject plane target yang tadi sudah dibuat. Untuk percobaan awal, biarkan parameter Is Moving tidak dicentang kemudian jalankan Game. Klik kanan pada sembarang tempat di plane pertama, perhatikan plane target akan berpindah pada posis tepat di posisi mouse dan Cube berputar sesuai dengan arah Plane tersebut.

Hal lain yang menarik dari proses ini adalah ketika Anda berpindah dari tab Game ke tab Scene saat Game masih berjalan. Anda dapat melihat sebuah garis lurus berwarna merah yang ditembakkan langsung dari GameObject Main Camera menuju titik pusat plane kecil (target). Kira-kira seperti itulah bentuk ‘nyata’ dari fungsi RayCast yang merupakan salah satu fungsi utama yang sering digunakan untuk menciptakan interaksi antara user dengan lingkungan game.

Kursor mouse TIDAK PERNAH TAHU benda apa yang diklik dalam game. Satu-satunya yang bisa dilakukannya hanya mengirimkan posisi koordinat yang diklik. RayCast merupakan fungsi untuk melakukan penembakan ke arah yang dituju oleh kursor mouse dan menghasilkan koordinat Vector3D (dalam hal ini Plane). Pada posisi perpotongan antara garis merah dan plane putih itulah, objek target berpindah.

Langkah selanjutnya adalah, matikan kembali game, lalu centang parameter Is Moving, dan jalankan kembali game. Kini selain hanya melihat ke arah posisi titik yang diklik oleh mose, Cube juga akan bergerak menuju Plane.


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, 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 ðŸ˜„