Unity --- 三维数学 --- Vector类 --- 向量部分

 

 1.注意每一个数字都表示一段有向位移 --- 有方向的距离

1.从尾到头那一段称为向量的模长 --- magnitude (direction对应的是向量的方向)

2.一个向量有大小 -- 模长(magnitude) , 有方向(direction)

1.向量的模长等于各分量的平方和的平方根

2.由于在计算机中计算平方和要比计算平方根更快,更简单,所以我们常常用向量的模长的平方(求平方和)来表示向量的大小。 

1.A向量的单位向量是在A向量的方向上模长为1的向量,用来表示A向量的方向 

1.tranform类中的Position属性用来表示物体的位置,是一个Vector3类型的三维点变量

在Unity中获取一个向量的方式有两种:

1.用公式来求

2.调用Vector3类中的 magnitude(模长)属性,直接获得模长 

3.每一个Vector3类对象都相当于一个向量,当我们给这个对象的Vector3数据是属于世界坐标系中的Position时,此时通过该对象计算的模长(magnitude)为从世界坐标系原点到该Position之间的长度

如果是localPositon的话,则是从父类坐标系原点到该localPositon的位置

4.Vector3中的静态属性zero中装的是一个点的坐标,这个点的坐标就是世界坐标系的原点

 

 1.获取单位向量的两种方法:公式法 --- 向量 / 模长  ---》得到的结果依然是一个向量(该向量的每一个分量的值等于 --- 原向量的每一个分量的值 / 模长),且该向量即为我们想求的单位向量

2.直接调用已有的属性 ---normalized来获取向量所对应的单位向量

1.两向量点相减之后得到的新的向量的大小(模长)为两向量点之间的距离

(a - b == a + (-b) --- -b  ==  b向量方向取反,大小不变)

2.如果是a向量点减去b向量点的话,则得到的新向量方向为b向量点指向a向量点,下面的那个同理

3.在unity中,一个Vector3类对象既可以表示一个三维空间点,也可以表示向量,当表示向量的时候,默认该向量的起点是世界坐标系原点 / 父物体坐标系原点 --- 如果向量点是用 position来表示的话就是世界坐标系为起点,并指向该向量点的positon位置,如果是localPositon的话则是父物体坐标系为原点,并指向该向量点的localPosition位置

1.如果给Translate方法传一个Vector3类对象作为参数的话,则调用该方法的游戏物体会沿着该Vector3类对象的向量形态对应的方向前进,且前进的距离等于向量的大小

(PS:如果想要让以单位距离1沿着向量方向前进的话,我们可以将向量的单位向量(normalized)作为参数传给translate方法 --- 单位向量与原向量的方向相同,但是大小为1)

(PS:在Unity中,Vector3类所形成的向量都是相对于世界坐标系的 --- 即向量起点选的是世界坐标系原点) 

 1.Unity中物体移动的本质其实就是向量相加 --- a向量+b向量最终呈现的效果就是a向量的终点沿着b向量对应的方向移动,移动的距离等于b向量的大小。 --- 移动之后就能够得到一个新的向量了 

1.向量与标量的乘除能够实现的就是向量长度的缩和放 --- 不会改变方向! 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值