Unity C# Tutorial Indonesia : Basic 25 - OnCollision

Method OnCollision digunakan untuk mendeteksi benturan atau tabrakan antar objek pada game. Dengan mengetahui adanya benturan kita bisa membuat sebuah event setelah tubrukan terjadi. 

Contoh pada game Flappy Bird, ketika burung bertabrakan dengan koin, maka koin bertambah dan jika bertabrakan dengan pipa maka burung mati.

Method OnCollision memiliki 3 kondisi berbeda saat terjadi benturan, yaitu :
- void OnCollisionEnter, Kondisi ketika objek mulai berbenturan. 
- void OnCollisionStay, Kondisi ketika objek menempel setelah berbenturan
- void OnCollisionExit, Kondisi ketika objek lepas dari benturan.



MULAI

Tutorial kali ini akan mencoba membenturkan objek bola dan kotak.


1. Tambahkan 2 objek yaitu, si Bola dan si Kotak, atur posisi si Bola berada di atas.
2. Buat C# Script "LatihanCollision".
3. Berikan script ke objek si Bola
4. Buka script dan tambahkan listing program berikut :

A. LatihanCollision.cs
using UnityEngine;
using System.Collections;

public class LatihanCollision : MonoBehaviour {

                void OnCollisionEnter (Collision col){
                                if(col.gameObject.name == "si Kotak"){
                                                Debug.Log("Bola Menyentuh si Kotak");
                                }
                }

}

Penjelasan :

void OnCollisionEnter(Collision col)
ini adalah method OnCollisionEnter dan Collision col adalah variabel col bertipe Collision yang nantinya akan mendeteksi objek apa yang akan terkena benturan.

if(col.gameObject.name == "si Kotak")
Jika objek yang terbentur bernama "si Kotak" pada jendela Hirarki, maka jalankan event Debug.Log.




Agar si Bola dapat jatuh ke bawah, tambahkan komponen Rigidbody, Component - Physics - Rigidbody.



Jalankan game, setelah bola menyentuh kotak maka output "Bola Menyentuh si Kotak" diprint pada jendela console.




SELESAI



Tag : Basic
Back To Top