您好,欢迎来到微智科技网。
搜索
您的当前位置:首页unity 学习笔记(四)欧拉角和四元数

unity 学习笔记(四)欧拉角和四元数

来源:微智科技网

欧拉角和四元数

1.简介

Quaternion又称四元数,由x,y,z和w这四个分量组成,四元数的乘法不符合交换律。从明确地角度而言,四元数是复数的不可交换延伸。如把四元数的集合考虑成实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间。

 

2.Unity里面的Transform组件里的Rotation是四元数,但是他是以欧拉角(Vector3)的形式展现在我们面前,目的就是为了方便我们修改。因此,我们给Rotation直接赋值的时候,也只能用Quaternion赋值。意识到这点很重要

rotation.eulerAngles = new Vector3(0, 30, 0);

 

3.四元数q转欧拉角v

Vector3 v = q.eulerAngles;

 

4.欧拉角v转四元数q

Quaternion q = Quaternion.Euler(v);

 

5.获取某物体的旋转角度

transform.rotation:物体旋转角度的四元数(受父物体影响)

transform.localRotation:物体旋转角度的四元数(不受父物体影响)

transform.eulerAngles:物体旋转角度,(Inspector面板中Rotation显示的数,受父物体影响)

transform.localEulerAngles:物体旋转角度,(Inspector面板中Rotation显示的数,不受父物体影响)

 

6.赋值操作示列

PlayerEx.transform.position = new Vector3(1f, -1f, 1);

PlayerEx.transform.rotation = Quaternion.Euler(0 , - 30, 0);

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务