使用Vector3.Distance()仅计算2个不同变换的x轴之间的距离

时间:2018-10-19 17:42:10

标签: c# unity3d

如何仅在x轴上计算2个不同对象的变换之间的距离?

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

我使用这种方法,但是这种方法的问题是它计算指定游戏对象的所有轴之间的距离。

2 个答案:

答案 0 :(得分:3)

可以通过获取vectorA x位置减去vectorB x位置的绝对值来实现:

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

答案 1 :(得分:0)

我想出了这个解决方案,虽然很平庸,但是可以工作:

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);