首页 > 解决方案 > 沿一个方向获取距离

问题描述

有没有办法在 y 轴点内计算距离?这样,当两个对象仅在 y 轴上而不是在 x 或 z 轴上彼此远离时,才会显示该值。

float Distance_To_Top = Vector3.Distance (One.transform.position, Two.transform.position);

标签: c#unity3d

解决方案


Vector3.Dot对于更一般的情况,您可以通过使用归一化方向向量找到在单个方向上测量的任意两点之间的距离:

Vector3 differenceDirection = Vector3.up;

float difference = Vector3.Dot(differenceDirection, 
        Two.transform.position - One.transform.position);

而且,difference还可以告诉您它们的相对位置:

  • 如果difference > 0,TwodifferenceDirectionOneby difference
  • 如果difference < 0,OnedifferenceDirectionTwoby difference

推荐阅读