欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity中欧拉角

程序员文章站 2022-05-01 08:25:18
什么是欧拉角?(没有方向,大小概念)(1)使用单个角度来保存方位(2)X与Z沿自身坐标系旋转,Y沿世界坐标旋转(3)API:Vector3 eulerAngle =this.tranform.rulerAngles;优点:(1)仅使用三个数字表达方位,占用空间小(2)沿坐标轴旋转的单位维角度,符合人的思考方式(3)任意三个数字都是合法的,不存在不合法的欧拉角缺点:(1)方位的表达方式不唯一对于一个方位,存在多个欧拉角描述,因此无法判断多个欧拉角代表的角唯一是否相同...

什么是欧拉角?(没有方向,大小概念)

(1)使用单个角度来保存方位

(2)X与Z沿自身坐标系旋转,Y沿世界坐标旋转

(3)API:Vector3 eulerAngle =this.tranform.rulerAngles;

优点:

(1)仅使用三个数字表达方位,占用空间小

(2)沿坐标轴旋转的单位维角度,符合人的思考方式

(3)任意三个数字都是合法的,不存在不合法的欧拉角

缺点:

(1)方位的表达方式不唯一

对于一个方位,存在多个欧拉角描述,因此无法判断多个欧拉角代表的角唯一是否相同

例如

--角度0,5,0和角度0,365,0

--角度0,-5,0和角度0,355,0

--角度250,0,0与角度290,180,180

为了保证任意方位都只有独一无二的表示,Unity引擎限制了角度范围,即沿X轴旋转限制在-90到90之间(圆的270度到90度,代码运行可以看出),沿Y与Z轴旋转限制在0到360之间

(2)万向节死锁

物体沿X轴旋转+-90度,自身坐标系Z轴与世界坐标系Y轴将重合,此时沿Z或Y旋转时,将失去一个*度

在万向节死锁情况下,规定沿Y轴完成绕竖直轴的全部旋转,则此时Z轴旋转为0

 

 

本文地址:https://blog.csdn.net/weixin_42600684/article/details/107596925

相关标签: unity