Unity5学习心得-旋转

Unity5学习心得-旋转

3D游戏中的旋转通常是通过两种方式,四元数或者欧拉角。这两种方式每一种都有优势和劣势,unity内部是使用四元数,但是为了编辑器方便,所以显示在编辑器上的是以欧拉角的方式显示。

欧拉角 Euler Angles

欧拉角看上去很容易理解,就是以XYZ分开的方式进行展示,当一个物体使用欧拉角旋转的时候,每个旋转角度都需要按照其轴向进行旋转。
优点:
1. 看上去很清晰,分成XYZ三个轴的角度很容易理解
2. 每个角度都可以通过旋转超过180度的方式改变朝向
缺点:
1. 受限于Gimbal lock 万向节死锁,当第一个或者第二个轴与第三个轴重合的时候,第三个轴的转动可以通过重合的那个轴来代替。举个例子(30,90,-40)的转动相当于(30-(-40),90,0)的转动,因此不能实现球面平滑插值,youku有个视频解释万向节死锁。

四元数 Quaternions

四元数也是用于物体的旋转和朝向的,其内部是通过四个参数来进行操作,xyzw,这些参数与角度等信息无关,它们的具体含义可以参照wiki
优点:
1. 不受到万向节死锁的限制
缺点:
1. 无法表示一个超过绕某一轴向超过180度的旋转
2. 四元数对应的参数比较难理解
unity内部使用四元数,展现在编辑器上为欧拉角,当开发者改变欧拉角的时候,内部会将其转为四元数进行计算。假如开发者输入365度,由于四元数不支持365度,那么当点击play的时候,会显示5度


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值