Utilizarea Vector3.Distance() pentru a calcula doar distanța dintre axele x a 2 transformări diferite (Programare, C#, Unity3D)

user10382578 a intrebat.

cum pot calcula distanța dintre transformările a 2 obiecte diferite doar pe axa x ?

 float distance = Vector3.Distance(spawnPoint.transform.position, player.transform.position);

Folosesc această metodă, dar problema cu această metodă este că ea calculează distanța dintre toate axele obiectelor de joc specificate.

2 răspunsuri
Noblight

Se poate face obținând valoarea absolută a scăderii poziției vectoruluiA x cu poziția vectoruluiB x :

float distance = Mathf.Abs(spawnPoint.transform.position.x - player.transform.position.x);

user10382578

Am găsit această soluție, destul de mediocră dar funcționează totuși:

Vector3 g1 = new Vector3(gameObject1.transform.position.x, 0, 0);
Vector3 g2 = new Vector3(gameObject2.transform.position.x, 0, 0);
float distance = Vector3.Distance(g1,g2);

Comentarii

  • hehe un pic exagerat 😉 –  > Por derHugo.

Tags:,