1、向量
二维 / 三维向量——Vector2 / Vector3
Vector3有两种集合意义
(1)位置:代表一个点
(2)方向:代表一个方向
2、两点决定一向量
A和B此时是两个点
Vector3 A = new Vector3(x1,y1,z1) Vector3 B = new Vector3(x2,y2,z2)
求向量
Vector3 AB = B - A; Vector3 BA = A - B;
可用于得到两个物体相互的方向向量
3、零向量和负向量
零向量(0,0,0)是唯一一个大小为0 的向量
Vector3.zero;
负向量:(x,y,z)的负向量为(-x,-y,-z),负向量和原向量大小相等,方向相反
Vector3 A = (x,y,z) Vector3 B = -A
4、向量的模长
即向量的长度,主要用来得到两点之间的距离
Vector3中提供了获取向量模长的成员属性——magnitude
Vector3 A; ——> A.magnitude; (类似于Vector3.Distance(A,B))
5、单位向量
模长为1的向量为单位向量,任意一个向量经过归一化就是单位向量,只需要方向,不想让模长影响计算结果时适用单位向量,主要用来进行移动计算
Vector中提供了获取单位向量的成员属性——normalized
A.normalized = A / A.magnitude;
6、向量的加减乘除
向量加法/减法:主要用于位置平移和向量计算
向量乘除法:主要用于模长放大缩小
(物体缩放时通过localScale修改,因为lossyScale是只读)
练习:实现摄像机跟随(摄像机不设置为对象子物体),摄像机一直在物体的后方4米,向上偏7米的位置
7、向量点乘
几何意义:点乘可以得到一个向量在自己向量上投影的长度,即A与B的点乘得到B在A向量上的投影,得到的是一个标量
点乘结果 > 0,两个向量夹角为锐角
点乘结果 = 0,两个向量夹角