Unity EulerAngles欧拉角X轴问题
2019-08-15 本文已影响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);
}