Unity Bir Objenin Bir Noktaya olan Uzaklığını Hesaplamak (Distance)

Unity ile çalışırken oluşturduğumuz bir GameObject veya Prefabın bir noktaya(hedefe, başlangıca, vb.) olan uzaklığını yani Distance’sini hesaplayabiliyoruz. Bu hesaplama ne işimize yarayacak derseniz eğer, örneğin objemize bir hedef noktası belirledik ve bu hedefe vardığında saldırı yapabiliriz, puan kazandırma sistemini tetikletebiliriz. Obje oraya varmadan bu işlemleri yapmamasını isteyebiliriz. Kısacası oldukça faydalı bir kod. Şimdi 2 adet public değişken tanımlayalım ve Unity Arayüzünde bu değişkenlere 2 adet GameObject/Transform atayalım. Ben bu anlatıda iki objemide Gameobject olarak tanımlayacağım.

public GameObject Dost,Dusman;

Dost objemin düşman objeme olan uzaklığını merak ediyorum. Unity Arayüzünden bu Objeleri atadım. Aradaki Mesafemi hesaplayayım.

float mesafe Vector3.Distance(Dost.transform.position,Dusman.transform.position);

mesafe isminde bir float değişken oluşturup, aradaki mesafeyi bu değişkene atadım. Peki diyelim ki Dost objem, Dusman objemin üstüne geldiğinde loga merhaba yaz.

if(Vector3.Distance(Dost.transform.position,Dusman.transform.position) < 0)
{
Debug.Log("Merhaba");
}

IF şartlamamızda aradaki mesafe sıfırdan küçük olduğunda Log ekranında Merhaba yazacak şekilde kodladık. Eğer nesnenin nasıl hareket ettiğini öğrenmediyseniz, objeyi belirli bir noktaya taşıma başlıklı anlatıma gidebilirsiniz.

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir