向量点乘

Unity引擎 · 01-10 · 188 人浏览

//向量a点乘AB的结果
float dotResult= Vector3.Dot(this.transform.forward, target.position - this.transform.position);
if (dotResult>0)
{

  print("它在我前方");

}
else
{

  print("它在我后方");

}

通过点乘推导公式算出夹角
1.用单位向量算出点乘结果
2.用反三角函数得出角度

    //    //1.点乘算出方向向量
    //    float dotRes = Vector3.Dot(this.transform.forward, (B.transform.position - this.transform.position).normalized);
    //    //2.通过反余弦函数算出夹角
    //    if (Mathf.Acos(dotRes) * Mathf.Rad2Deg<=22.5f)
    //    {
    //        print("发现入侵者");
    //    } 
Theme Jasmine by Kent Liao