向量加减乘除

今天向大家介绍的是向量的加减乘除,我将通过一些理论讲解和代码讲解讲述这篇笔记。在笔记的最后会举例一个实用的向量使用实例帮助理解。

目录

1.向量加法(主要用于位置平移和向量计算)

2.向量减法(主要用于位置平移和向量计算)

3.向量乘除(主要用于模长放大放小)

4.实际运用——使用向量灵活的实现摄像机跟随


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;

猜你喜欢

转载自blog.csdn.net/2303_76354097/article/details/133908947