Appearance
向量、四元数
Vector
这是个结构体,由x,y,z三个数值组成。它既可以表示向量,也可以表示位置、旋转、缩放等信息。在使用的时候,要甄别使用的含义。
创建结构体可以用下面这句:
csharp
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向量与参数向量旋转相同的四元数,可以理解为看向某向量 |
c#
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);