用点乘求两个向量夹角:
Vector2 a = new Vector2 (1.0f,0.0f);
Vector2 b = new Vector2 (2.0f,2 * Mathf.Sqrt(3)).normalized;//必须要是normalized的才能这样用 否的算出的结果会出错
float d = Vector2.Dot (a,b);
float ang = Mathf.Acos (d) * Mathf.Rad2Deg;
Debug.Log (ang);
求两个向量的距离
Vector3 aa = new Vector3 (1, 0, 0);
Vector3 bb = new Vector3 (0,Mathf.Sqrt(3),0);
Debug.Log(Vector3.Distance (aa,bb));
得到2
向量差乘(计算两个向量夹角)
Vector3 aa = new Vector3 (1, 1, 0);
Vector3 bb = new Vector3 (0,Mathf.Sqrt(3),0);
// Debug.Log(Vector3.Distance (aa,bb));
Vector3 c = Vector3.Cross (aa,bb);
Vector3 cc = Vector3.Cross (bb,aa);
float ang = Mathf.Asin (Vector3.Distance(Vector3.zero,Vector3.Cross(aa.normalized,bb.normalized)))*Mathf.Rad2Deg;
Debug.Log (ang);
(这个没看懂记住这种用法就好)
原文:http://www.cnblogs.com/Akishimo/p/4969752.html