嗚嗚喔學習筆記: 十二月 2017

搜尋此網誌

2017年12月3日 星期日

C# Unity 計算兩向量之夾角 (扇形範圍偵測)



/// <summary>
/// 計算兩向量夾腳 0 ~ 360
/// </summary>
/// <param name="A"></param>
/// <param name="B"></param>
/// <returns></returns>
private float Angle_360(Vector3 A, Vector3 B)
{
A.Normalize();
B.Normalize();
// -1 ~ 1
float angle = Vector3.Dot(A, B);
float theta = Mathf.Acos(Vector3.Dot(A, B));

return theta * 360 / Mathf.PI;
}

如果要做個扇形 偵測敵人
需要兩個東西

1. 角度
2. 多遠

所以求得 藍線 紅線 向量之後 就可以用上面的method求出角度了