最近项目用到多段连续测量物体长度和角度功能,自己研究了下。
1.其中向量角度计算:
需要传入三个坐标来进行计算。三个坐标确定两条向量线段的方向,从而来计算夹角。
public Vector3 SetAngle(Vector3 p1, Vector3 p2,Vector3 p3)
{
Degree.text = "角度:" + Vector3.Angle(p1-p2, p3-p2).ToString("F1") + "°";
Debug.Log("夹角:" + Degree.text);
return p2;
}
2.向量长度计算:
需要传入起点和终点的两个坐标,从而确定线段长度。
public Vector3 SetDisatnce(Vector3 p1,Vector3 p2)
{
Length.text= "长度:"+Vector3.Distance(p1, p2).ToString("F1") +"米";
Debug.Log("线段长度:" + Length.text);
Vector3 pos= (p1 + p2) / 2.0f;
return pos;
}
3.鼠标左键单击在场景中选择要计算的坐标位置
demo演示在下面的视频:
Unity3d连续测量长度和角度功能
4.demo下载地址:https://download.csdn.net/download/elineSea/90058106