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); // 作为了解即可&#