Unity-Çarpışma Algılamak

nhtctn nhtctn

Unity de bir objenin diğer objeye çarpmasını anlamak için Collision veya Trigger kullanılır.Bu ikisinin temel farkı Triggerde objemizin objelerin içinden geçebilmesidir.

Collision

Collisionun çalışması için Colider componentinin ve rigidbody  ekli olması gerekir.3 tür fonksionu vardır.

 OnCollisionEnter
OnCollisionEnter bir objenin çarpma durumunda 1 kere çalışır.

void OnCollisionEnter(Collision col) {
 //her hangi bir objeye çarptığında çalışır
 if (col.gameObject.tag == "Cupe") {
 //tagı Cupe olan bir objeye çarptığında çalışır
 }
 if (col.gameObject.name == "Cupe") {
 //ismi Cupe olan bir objeye çarptığında çalışır
 }
 }

OnCollisionStay
OnCollisionStay bir objenin çarpma durumu sürdüğü sürece çalışır.

void OnCollisionStay(Collision col) {
 //her hangi bir  objeye çarptığında çalışır
 if (col.gameObject.tag == "Cupe") {
 //tagı Cupe olan bir nesneye çarptığında çalışır
 }
 if (col.gameObject.name == "Cupe"){
  //ismi Cupe olan bir objeye çarptığında çalışır
 }
 }

 OnCollisionExit
OnCollisionExit bir objenin çarpma durumu bittiğinde 1 kere çalışır.

void OnCollisionExit(Collision col) {
 //her hangi bir objeye çarpmayı bıraktığında çalışır
 if (col.gameObject.tag == "Cupe") {
 //tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
 }
 if (col.gameObject.name == "Cupe")  {
 //ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
 }
 }

Trigger

Trigger çalışması için Colider componentinin ve rigidbody  ekli olması gerekir.Ayrıca Colider componentinin içindeki Is triggerin işaretli olması gerekir .3 tür fonksionu vardır.

           OnTriggerEnter
OnTriggerEnter bir objenin çarpma durumunda 1 kere çalışır.

 void OnTriggerEnter(Collider col)
    {
        //herhangi bir objeye çarptığında çalışır

        if (col.gameObject.tag == "Cupe")
        {
          //tagı Cupe olan bir objeye çarptığında çalışır
        }
        if (col.gameObject.name == "Cupe")
        {
            //ismi Cupe olan bir objeye çarptığında çalışır
        }
    }

  OnTriggerStay
OnTriggerStay bir objenin çarpma durumu sürdüğü sürece çalışır.

void OnTriggerStay(Collider col) {
 //her hangi bir objeye çarptığında çalışır
 if (col.gameObject.tag == "Cupe") {
 //tagı Cupe olan bir objeye çarptığında çalışır
 }
 if (col.gameObject.name == "Cupe") {
 //ismi Cupe olan bir objeye çarptığında çalışır
 }
 }

   OnTriggerExit
OnTriggerExit bir objenin çarpma durumu bittiğinde 1 kere çalışır.

void OnTriggerExit(Collider col) {
 //her hangi bir objeye çarpmayı bıraktığında çalışır
 if (col.gameObject.tag == "Cupe") {
 //tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
 }
 if (col.gameObject.name == "Cupe") {
 //ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
 }
 }

Kaynak: http://ugrkbt.blogspot.com/2016/01/unity-carpsma-alglamak.html

Yorum yazın

BENZER YAZILAR