unity里的向量

 

y                         = b                         + a * xorm

transform.position = transform.position + (mousPosition - transform.position.normalized * 0.1f);it

利用y = ax + b 这种直线方程来控制transform.position向mousPosition 慢慢移动。a(0.1f)为时间io

 

用点乘求两个向量夹角:form

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);transform

 

求两个向量的距离 bug

Vector3 aa = new Vector3 (1, 0, 0);
Vector3 bb = new Vector3 (0,Mathf.Sqrt(3),0);
Debug.Log(Vector3.Distance (aa,bb));float

获得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);co

相关文章
相关标签/搜索