美文网首页
Unity EulerAngles欧拉角X轴问题

Unity EulerAngles欧拉角X轴问题

作者: 一男吃吃吃 | 来源:发表于2019-08-15 14:33 被阅读0次

    项目中遇到需要获取和Inspector中一样的角度信息

    使用Transform.localEulerAngles时,Y和Z都没问题,但X轴在90°->270°的角度增加过程中会产生90°->0°->360°->270°的变化过程,有点手足无措,想了半天,应该是没有参考导致的,于是硬想了个山寨方法出来,应该有更高效和简便的方法来获取,如果你有,请不惜赐教,谢谢~!!

    using UnityEngine;

    public class Test : MonoBehaviour

    {

        private void Update()

    {

         Vector3 refUp = Vector3.up;

         float resX = transform.localEulerAngles.x;

         if(transform.parent)

              refUp = transform.parent.up;

         if(Vector3.Dot(transform.up, refUp) < 0)

         { if(resX < 180) resX = 180 - resX; else resX = 540 - resX; } }

         Debug.Log(resX);

    }

    相关文章

      网友评论

          本文标题:Unity EulerAngles欧拉角X轴问题

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