Unity 之 Vector3 类简介

Posted 陈言必行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 之 Vector3 类简介相关的知识,希望对你有一定的参考价值。

1、Vector3三维向量:表示3D的向量和点。包含位置、方向(朝向)、欧拉角的信息,也包含做些普通向量运算的函数。 2、Quaternion四元数,用于表示旋转,Unity内使用Quaternion表示所有旋转。在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示四个值。四元数不会产生万向节死锁并且能够很容易被插值。 在Unity里,tranform组件有一个变量名为rotation,它的类型就是四元数。 3、欧拉角:用来确定定点转动刚体位置的3个一组独立角参量,用来表示旋转角度。   声明四元数: Quaternion q1= this.transform.rotatiion; q1 = this.transform.rotation; 声明Vector : Vector v1 =new Vector3(0,0,0); v1 = this.transform.eulerAngles; //Vector3的欧拉角   Vector v2 =new Vector3(0,0,0); v2 = this.transform.position; //Vector3的位置;   Vector3.normalized 规范化 非静态属性; 返回值类型vector3 ; 返回向量与原向量方向相同的单位向量,若原向量太小则返回零向量;   Vector3.Normalize() 规范化 静态函数; 返回值类型void; 返回向量与原向量方向相同的单位向量,若原向量太小则返回零向量; Vector3 v1 = this.transform.position.normalized; Vector3 v2 = Vector3.Normalize(this.transform.position); v1,v2是等价的。   vector3.magniude 向量的长度 返回向量的长度,只有大小,没有方向,返回值类型为float 其实三维空间中的向量长度就是根号下(x*x+y*y+z*z)   Vector3.SqrMagnitude 向量的长度平方 常用于用于向量的比较,因为计算机求平方和开方比较消耗内存和时间。   Vector3 : Static Variables 静态变量
backShorthand for writing Vector3(0, 0, -1).
写Vector3(0, 0, -1)的简码。
downShorthand for writing Vector3(0, -1, 0).
写Vector3(0, -1, 0)的简码。
forwardShorthand for writing Vector3(0, 0, 1).
写Vector3(0, 0, 1)的简码,也就是向z轴。
leftShorthand for writing Vector3(-1, 0, 0).
写Vector3(-1, 0, 0)的简码。
oneShorthand for writing Vector3(1, 1, 1).
写Vector3(1, 1, 1)的简码。
rightShorthand for writing Vector3(1, 0, 0).
写Vector3(1, 0, 0)的简码,也就是向x轴。
upShorthand for writing Vector3(0, 1, 0).
写Vector3(0, 1, 0)的简码,也就是向y轴
zeroShorthand for writing Vector3(0, 0, 0).
写Vector3(0, 0, 0)的简码。
  Vector3.Distance() 距离 返回a和b之间的距离。 参数是两个 Vector3 类型 返回值类型 : float Vector3.Distance(a,b) 等同于(a-b).magnitude.   Vecter3.Dot 点乘 两个向量的点乘积。 (向量数量积) 点积是一个浮点数的值:两个向量的长度(模)相乘再乘以他们之间夹角的余弦值.(即:|a|*|b|*cos<a,b>) 如果点乘的结果等于0,那么两个向量互相垂直。 如果结果大于0,那么两个向量的夹角小于90度,方向基本相同; 如果结果小于0,那么两个向量的夹角大于90度,方向基本相反。   Vector3.Cross 叉乘 两个向量的交叉乘积(外积) 它的结果是一个矢量。我们通常需要的是它的方向(Vector3.Cross(a.b).normalized) 得到一个分别垂直于这两个向量的向量

以上是关于Unity 之 Vector3 类简介的主要内容,如果未能解决你的问题,请参考以下文章

unity利用Vector3计算两点的距离,利用Quaternion求两点夹角。

Unity向量夹角

《Unity_API解析》 第十四章 Vector2类Vector3类

Unity3D之Vector3.Dot和Vector3.Cross的使用

Unity 之 代码实现物体跟随鼠标移动

Unity3D开发《我的世界》之创建一个Chunk