勇哥注:
unity中的Vector3可以表示向量、坐标、三元数,欧拉角等。
这些东西是在应用组件Transform时必须的。
(一)三元数
Vector3 v=new Vector3(1,1,1);
可以表示:向量,坐标,旋转,缩放
v=Vector3.Zero
v=Vector3.one
v=Vector3.up
v=Vector3.right
Vector3 v2=Vector3.forward;
//计算两个向量的夹角
Debug.Log(Vector3.Angle(v,v2)
//计算两点之间的距离
Debug.Log(Vector3.Distance(v,v2));
//点乘
Debug.Log(Vector3.Dot(v,v2));
//叉乘
Debug.Log(Vector3.Cross(v,v2));
//插值
Debug.Log(Vector3.Lerp(Vector3.zero,Vector3.one,0.5f));
//向量的模
Debug.Log(v.magnitude);
//规一化向量
Debug.Log(v.normalized);
(二)方向的描述,欧拉角与四元数
trasfrom里的旋转表示提是欧拉角
还有一种表示旋转是四元数
Vector3 r=new Vector3(0,30,0); //x不转,y转30, z不转
Quaternion q=new Quaternion();
Quaternion q=Quaternion.identiry; //无旋转的四元数
Quaternion q=Quaternion.Euler(r); //由欧拉角转为四元数
//看向一个物体
q=Quaternion.LookRotation(new Vector3(0,0,0));
//四元数转欧拉角
r=q.euleAngles;

