初面网初面网

向量、四元数

Vector

这是个结构体,由x,y,z三个数值组成。它既可以表示向量,也可以表示位置、旋转、缩放等信息。在使用的时候,要甄别使用的含义。

创建结构体可以用下面这句:

Vector3 v = new Vector3(1,1,1);
// 其中,v代表变量名

以下是常用属性:

属性方法详解
normalized返回一个规范化向量
magnitude返回向量的模
sqrMagnitude返回向量的模的平方
zero静态属性,返回Vector3(0,0,0)
one静态属性,返回Vector3(1,1,1)
forword静态属性,返回Vector3(0,0,1)
back静态属性,返回Vector3(0,0,-1)
left静态属性,返回Vector3(-1,0,0)
right静态属性,返回Vector3(1,0,0)
up静态属性,返回Vector3(0,1,0)
down静态属性,返回Vector3(0,-1,0)
==========
Angle静态方法,返回两个向量的夹角
Distance静态方法,返回两个点间的距离
Lerp静态方法,插值运算
Dot静态方法,两个向量点乘
Cross静态方法,两个向量叉乘

Quaternion 四元数

在物体旋转时常使用四元数,因为其不会造成"万向锁"问题。但由于不够直观,常与欧拉角互相转换来使用。

属性方法详解
identity单位旋转,相当于没有旋转
eulerAngles转换为欧拉角
Quaternion使用x,y,z,w分量构造四元数
Angle返回两个旋转之间的角度
Euler通过欧拉角创建一个四元数
LookRotation返回forward向量与参数向量旋转相同的四元数,可以理解为看向某向量
gameobject.transform.localPosition = new Vector3(5,5,5);
gameobject.transform.localScale = new Vector3(5,5,5);

gameobject.transform.rotation = Quaternion.Euler(0,90,90);

gameobject.transform.eulerAngles = new Vector3(53.6f,53.6f,53.6f);

更新于 2025/2/26