Anda di halaman 1dari 12

Modul 8

Pengenalan Physics, Prefab, dan Animation

Sebelum kita lanjut ke bagian Scripting yang sudah mulai agak sulit. Kita harus
mengenal terlebih dahulu judul di atas. Karena materi ini akan menjadi dasar
dan permulaan untuk memasuki Scripting bagian Hard. Kita akan membahas
tentang fisik di Unity, Prefab dan animasi. Sebenarnya di modul-modul
sebelumnya kalian sudah menerapkan fisik secara tidak sadar. Mari kita bahas
satu per satu.

A. Unity Physics
Sebenarnya yang kita akan pelajari di unity physics ini adalah tentang
collider dan rigidbody, tetapi karena sudah dibahas di modul sebelumnya,
maka kita akan lanjut ke bagian berikutnya yaitu memantulkan bola. Ikuti
langkah-langkah di bawah agar paham.
1. Buatlah objek 3D sphere di hirarki. Beri nama Ball. dan tambahkan
Rigidbody pada Ball. ubah scalenya menjadi 1.5
2. (Opsional) Untuk memberikan kesan bahwa itu benar-benar bola. Mari
ubah Materialnya dengan material bola. Pertama download terlebih
dahulu soccer ball texture di bit.ly/assetci. Kemudian Import dan
masukkan di Texture.
3. (Opsional) Lalu buat material bernama “BallMat” dan ubah albedonya
menjadi soccer ball texture yang tadi di-download. Lalu drag and drop
BallMat ke Object Ball di hirarki. Hasilnya akan seperti ini.

4. Selanjutnya klik kanan pada Project Window > Create > Physical
Materials > beri nama BallBounce. Edit Bounciness dari BallBounce
menjadi 1.

5. Kemudian Drag and Drop ball Bounce ke Objek Ball. Lalu play dan lihat
hasilnya.
Bounciness hanya bisa dari angka 0-1. Semakin tinggi Bounciness nya
semakin besar juga daya pantulnya. Sekian tentang fisik di Unity

B. Prefab
Prefab adalah sebuah asset yang dapat digunakan berulang kali.
Maksudnya bagaimana? Ikuti langkah di bawah untuk mengetahui cara
membuat prefab.
1. Sederhana saja. Kalian cukup drag and drop object dari hirarki ke project
window. Dan hasilnya objeknya akan menjadi biru. Biru menandakan
bahwa ia sudah menjadi prefab.

2. Prefab bisa dipakai di scene manapun. Nantinya akan dijelaskan di


modul-modul berikutnya.
3. Masukkan Prefab yang ada di project window ke dalam folder Prefabs.

C. Animation
Selanjutnya adalah membuat animasi. Kalian harus mempelajari dasar-
dasar tentang animasi dikarenakan akan diperlukan di scripting nanti. Ikuti
langkah-langkah di bawah agar paham.
1. Pertama buat terlebih dahulu file animation, dengan klik kanan project
> Create > Animation > Beri nama RockAnimation. Dan masukkan
RockAnimation ke folder Animations.
2. Jika sudah drag and drop RockAnimation ke Objek Rock. Maka otomatis
akan dibuat file animator bernama Rock.
3. Buka RockAnimation. Dan kemudian klik objeknya > Add Property >
Transform > Scale.

4. Lalu tekan tombol bulat merah di samping Preview. Maka kita sudah
siap mengubah scale Rock.
5. Kemudian Add Key pada 0:30 dengan klik kanan > Add Key. Lalu geser
garis putih ke titik 0:30 dan ubah Scalenya di Inspector menjadi (2, 0.5, 1).
6. Selanjutnya geser lagi garis putihnya ke 1:00. Dan ubah kembali Scalenya
menjad (1, 1, 1).
7. Lakukan nomor 5 kembali di 1:30. Dan tambahkan lagi key di 2:00, dan
ubah kembali scalenya menjadi (1, 1, 1). Sehingga hasilnya akan seperti
ini.

8. Silakan tekan kembali tombol merahnya dan kalian bisa lihat hasilnya di
Play mode.
9. Proses membuat animasinya sudah selesai. Selanjutnya adalah kita ke
Animator. Jika kalian belum mempunyai tab Animator, klik Window >
Animation > Animator. Dan letakkan di tempat yang kalian nyaman lihat.

10. Selanjutnya kita mencoba Create Empty State. Dengan cara klik kanan
Animator > Create State > Empty. Pada state empty kita tidak akan
melakukan apa-apa. Yang artinya dia diam. Beri nama State tersebut
DoNothing. Dan hasilnya akan seperti ini.
11. Selanjutnya klik kanan pada DoNothing > Set as Layer Default State. Dan
coba Play, maka tidak akan terjadi animasi pada Rocknya.
12. Selanjutnya kita akan menyambungkan dari DoNothing ke
RockAnimation, dengan cara klik kanan DoNothing > Make Transition >
klik RockAnimation. Dan hasilnya akan seperti ini.

13. Kalian bisa Play lalu melihat Tab Animator tersebut apa yang terjadi.
14. Bisa dilihat bahwa alur Animasinya dimulai dari DoNothing dulu. Jika
durasi DoNothing sudah selesai baru RockAnimation berjalan.
Begitulah dasar-dasar membuat animasi. Selanjutnya kita akan
mempelajari Animation Parameters.

D. Animation Parameters
Selanjutnya Animation Parameters. Dalam Animator terdapat 4 parameter,
yaitu float, int, bool, dan trigger. Ikuti langkah-langkah di bawah agar bisa
paham.
1. Kembali ke Unity di tab Animator. Tekan Parameters di samping layer.
Lalu klik tanda + dan pilih bool. Beri nama boolnya “isPlay”.
2. Lalu klik tanda panah yang dari state DoNothing ke RockAnimation.
Pada bagian Conditions tekan tambah + untuk menambahkan
parameternya.
3. Selanjutnya kalian bisa Play dan liat hasilnya.
4. Dikarenakan isPlay yang diharapkan true, sedangkan isPlay-nya false,
maka dari itu RockAnimation tidak berjalan. Kita bisa membuat isPlay
true dengan cara menekan di tab Animator atau melalui script.
5. Kali ini kita akan memakai script. Maka bukalah kembali RockScript. Dan
edit menjadi seperti di bawah ini

using UnityEngine;

public class RockScript : MonoBehaviour


{
Animator animator; // Deklarasi variabel
private void Start()
{
animator = GetComponent<Animator>(); // Get
Animator Component

// Panggil fungsi RockAnimation setelah 1 detik


Invoke("RockAnimation", 1.0f);
}

/// <summary>
/// OnCollisionEnter
/// Pendeteksi collision jika objek bersentuhan dengan
objek lain
/// </summary>
/// <param name="collision"></param>
private void OnCollisionEnter(Collision collision)
{
Debug.Log(gameObject.name + " collision dengan " +
collision.gameObject.name); // Akan memunculkan pesan
console
}

/// <summary>
/// RockAnimation
/// Set boolean isPlay menjadi true
/// </summary>
void RockAnimation()
{
// Buat bool isPlay menjadi true
animator.SetBool("isPlay", true);
}
}
6. Selanjutnya kalian bisa Play dan lihat hasilnya.
Penjelasan Kode

Animator animator;
Seperti biasa kita harus mendeklarasi variabelnya terlebih dahulu.

private void Start()


{
animator = GetComponent<Animator>(); // Get Animator
Component

// Panggil fungsi RockAnimation setelah 1 detik


Invoke("RockAnimation", 1.0f);
}
Lalu pada saat Scene Start atau mulai. Get Animator Component yang
ada pada Rock. Lalu panggil method RockAnimation setelah 1 detik.

void RockAnimation()
{
// Buat bool isPlay menjadi true
animator.SetBool("isPlay", true);
}
Di fungsi/method RockAnimation terdapat kuncinya, yaitu membuat
boolean isPlay menjadi true. Dengan memanfaatkan fungsi SetBool dari
Animator, dan SetBool mengekspektasi 2 parameter yaitu int id atau
string nama boolean dan value dari boolean (true/false).
Jadi keseluruhan kode jika dibentuk dalam kata seperti ini. Jika scene
sudah mulai cari komponen animator. Selanjutnya tunggu 1 detik.
Setelah 1 detik, set boolean isPlay menjadi true dan Animasi
RockAnimation akan jalan.
Sekian modul kali ini. Selanjutnya kita akan melanjutkan scripting kita.
Unity Tips
COPY COMPONENT VALUE

Anda dapat mengubah value dari suatu component, tetapi bagaimana


jika anda harus mengubah value dari banyak component, dan valuenya
semua sama? Caranya adalah klik kanan pada component yang ingin di
copy > Copy Component.

Lalu selanjutnya klik kanan pada component yang ingin di paste > Paste
Component Values.
Gamification Series!!!
https://www.youtube.com/watch?v=06olHmcJjS0

Baru-baru ini Google Translate sudah menerapkan sistem


menerjemahkan yang baru, yaitu dengan menggunakan basis
Augmented Reality. Kalian harus mengupdate aplikasi Google Translate
kalian terlebih dahulu untuk melihat fiturnya. Cukup pilih bahasa yang
kalian inginkan dan arahkan kamera anda ke sebuah kalimat maka akan
langsung diterjemahkan oleh Google Translate di atas teks tersebut.
Keren bukan?

Anda mungkin juga menyukai