B站Unity学习笔记
链接:https://www.bilibili.com/video/BV12s411g7gU?p=164
四元数概念
- Quaternion在3D图形学中代表旋转,由一个三维向量(X/Y/Z)和一个标量(W)组成。
- 旋转轴为V,旋转弧度为θ,如果使用四元数表示,则四个分量为:
x=sin(θ/2)*V.x
y=sin(θ/2)*V.y
z=sin(θ/2)*V.z
w=cos(θ/2) - X、Y、Z、W的取值范围是-1到1
- API:QUaternion qt = this.transform.rotation
public class QuaternionDemo : MonoBehaviour
{
private void OnGUI()
{
if (GUILayout.Button("设置物体旋转角度"))
{
//旋转轴
Vector3 axis = Vector3.up;
//旋转弧度
float rad = 50 * Mathf.Deg2Rad;
Quaternion qt = new Quaternion();
qt.x = Mathf.Sin(rad / 2) * axis.x;
qt.y = Mathf.Sin(rad / 2) * axis.y;
qt.z = Mathf.Sin(rad / 2) * axis.z;
qt.w = Mathf.Cos(rad / 2);
//this.transform.rotation = qt;
//欧拉角 --> 四元数
this.transform.rotation <