今天向大家介绍的是向量的加减乘除,我将通过一些理论讲解和代码讲解讲述这篇笔记。在笔记的最后会举例一个实用的向量使用实例帮助理解。
目录
1.向量加法(主要用于位置平移和向量计算)
Vector3+Vector3的意义
位置加位置:没有任何意义
向量加向量
位置+向量:得到一个新的位置,相当于平移位置
向量加法在代码中的具体表现:
//主要是讲述向量的平移,下面将介绍两种方法:
//1.
this.transform.position+=new Vector3(1,2,3);
//2.
this.transform.Translate(Vector3.forward*5);
2.向量减法(主要用于位置平移和向量计算)
位置-位置:两个位置相减得到一个新向量
位置-向量:相当于加上一个负向量,类似于向相反的方向移动位置
代码体现:
this.transform.position-=new Vector3(1,2,3);
this.transform.Translate(-Vector3.forward*5);
3.向量乘除(主要用于模长放大放小)
向量乘除标量代码体现:
this.transform.localScale*=2;
this.transform.localScale/=2;
4.实际运用——使用向量灵活的实现摄像机跟随
首先定义摄像机相对于物体的偏移量:
public float zOffect=4;
public float yOffect=7;
//设置得到目标物体的位置
public Transform target;
使用摄像机相关的东西一定要写在LateUpdate语句块中,如果写在Update语句块中,后续可能会有一些动画来不及渲染。
//以下代码是写在LateUpdate语句块中
//具体位置使用Vector3不是最佳选择,直接使用向量是最优解
//摄像机的位置等于目标位置进行向量偏移
//这里指的是相对于物体后方4m,向上7m的位置
this.transform.position=target.position+-target.forward*4+target.up*7;