美文网首页
unity-欧拉角

unity-欧拉角

作者: 姜治宇 | 来源:发表于2022-12-28 11:19 被阅读0次

欧拉角,就是使用三个角度来保存方位(Heading/Pitch/Roll)。不过,X和Z轴是沿着自身坐标系旋转的,而Y轴是沿世界坐标系旋转。
欧拉角的优点是仅使用三个数字表达方位,占用空间小,而且表达比较直观,符合人的思维方式。
unity限制了旋转角度范围,其中X轴旋转在-90°和90°之间,其他轴限制在0到360°之间。

using UnityEngine;
using System.Collections;

public class VectorDemo1 : MonoBehaviour {
     

    public Vector3 euler;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        getEuler ();
    }
    private void getEuler(){
        Vector3 pos = this.transform.position;

        euler = this.transform.eulerAngles;


    }
}

将脚本追加到任意立方体上即可。


GIF 2022-12-29 11-06-23.gif

可以看到,立方体绕x轴旋转,到270°(即-90°)就停止了。
通过仔细观察,我们会发现这样一个现象:
如果物体沿着x轴旋转到-90或90度,自身坐标系的Z轴,会与世界坐标系Y轴重合,此时再沿Z轴旋转时是无效的,改变的其实仍然是Y轴。


GIF 2022-12-29 11-14-48.gif
这个现象叫万向节死锁,这个问题就需要用四元数解决。

相关文章

  • unity-欧拉角

    欧拉角,就是使用三个角度来保存方位(Heading/Pitch/Roll)。不过,X和Z轴是沿着自身坐标系旋转的,...

  • unity-遮挡剔除OcclusionCulling

    title: unity-遮挡剔除OcclusionCulling tags: [unity, occlusion...

  • 欧拉角

    在我们的3D数学中,如果使用矩阵来旋转的话就会显得十分的复杂和笨拙。计算中使用最为广泛的旋转方式为欧拉角。  欧拉...

  • 欧拉角

    个人理解思路 欧拉角===》旋转矩阵(一般直接得到单位正交阵)==》旋转向量(一个轴,一个角)==》旋转矢量(一般...

  • 欧拉角

    之前不明白欧拉角的定义,有一篇博客讲的很清楚。mark下https://www.matongxue.com/mad...

  • iOS SceneKit欧拉角转四元数

    使用欧拉角 使用欧拉角会造成万向锁,转成四元数就没有问题了

  • Unity-万向节死锁(Gimbal Lock)问题总结

    一、欧拉角 1.1 欧拉角定义 Unity API中对Transform.eulerAngles的定义是,本身是V...

  • 仿微信跳一跳Unity项目

    项目源码 Github: https://github.com/tackor/Unity- 百度云盘: https...

  • Cocos 3.x 四元数 rotateAroundLocal

    一、欧拉角 如何通俗地解释欧拉角?之后为何要引入四元数?[https://www.zhihu.com/questi...

  • 相机跟随

    相机前向:front,由欧拉角计算,方向为(x,y,z)欧拉角:侧滚角、俯仰角、偏航角sin pitch =》yc...

网友评论

      本文标题:unity-欧拉角

      本文链接:https://www.haomeiwen.com/subject/jmzaqdtx.html