Unity EulerAngles欧拉角X轴问题

项目中遇到需要获取和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);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容