说明:Vector3是一个三维向量
但也不一定用于表示三维向量
只要是三个浮点数组成的数据
都可以用Vector3去表示
向量的定义:物体运动的速度、加速度、摄像机观察方向、刚体受到的力等都是向量
返回一个向量的标准化向量(方向不变,长度变为1)
Vector3 normal = vector.normalized;
使当前向量变成一个单位向量(方向不变,长度变为1)
vector.Normalize();
返回一个向量的长度(x*x+y*y+z*z)
Vector3.magnitude
返回向量的平方长度
Vector3.sqrMagnitude
求两点间的距离
Vector3.Distance();
求两个向量的夹角
Vector3.Angle();
求两个向量的叉乘
叉乘y轴判断左右(左--负,右--正)
(a×b != b×a) (c⊥a,c⊥b,即向量c垂直与向量a,b所在的平面 )
Vector3.Cross();
求两个向量的点乘(前--正,后--负)
点乘判断前后
Vector3.Dot(); 向量点乘、叉乘详细说明( Unity3D之点乘和差乘)
求一个向量在某个方向的投影向量
Vector3.Project();
从坐标1沿直线移动到坐标2
Vector3.MoveToWards();
插值 (Lerp解释详情)
Vector3.Lerp(a(自身坐标),b(目标坐标),t(插值比例));
插值移动 物体本身 目的地 速度
Vector3.Lerp(transform.position, Vector3.right * 3, 0.1f*moveSpeed);
静态方法(Static)
Vector3.forward (前方)
Vector3.up (上方)
Vector3.right (右方)
Vector3.back (后方)
Vector3.left (左方)
Vector3.down (下方)
new Vector3(1,0,0); = Vector3.right
new Vector3(0,0,0) = Vector3.zero
new Vector3(1,1,1) = Vector3.one