四元数左乘右乘_Unity Quaternion(四元数) 使用认识

Unity Quaternion(四元数) 使用认识

项目中经常使用 Quaternion 的一些方法,比如关于 Quaternion * Quaternion , Quaternion * Vector3,是个什么情况一直是一知半解,于是仔细研究了一下,看代码

using UnityEngine;

using System.Collections;

// Quaternion 用于 Transform、RectTransform 组件 Rotation 属性

public class QuaternionSS : MonoBehaviour {

// 从 Quaternion 到 Vector3, 从 Vector3 到 Quaternion

private void VecToQuaternion()

{

// 从 Vector3 (角度) 到 Quaternion 转换

// 创建一个 x、y、z 轴方向分别旋转 0度、90度、0度的 四元数

Quaternion quaternion = Quaternion.Euler(new Vector3(0, 90, 0));

// 从角度到 四元数的两个重载方法

quaternion = Quaternion.Euler(90, 0, 100);

//将 四元数结果赋值给 transform.rotation

transform.rotation = quaternion;

// 获取 transform.rotation

quaternion = transform.rotation;

Debug.Log("x " + quaternion.x); // 作为了解即可&#

你可能感兴趣的:(四元数左乘右乘)