按我的理解,在Unity中,角度在内部应该是用四元数表示的,所以,在Inspector面板展示的和实际打印出来的localEulerAngles值是不一样的。
直接上代码.
/// <summary>
/// 旋转值 数值规范.(-180——0——180)
/// </summary>
private float StandardRot(float value)
{
if (value > 180)
{
value -= 360;
}
return Mathf.Round(value * 100) / 100;
}
public float CheckAngle(float value)
{
float angle = value - 180;
if (angle > 0) return angle - 180;
return angle + 180;
}
本文探讨了Unity引擎中角度与四元数的表示差异,通过代码示例介绍了如何将角度规范化到-180至180范围内,并提供了一个检查角度偏移的方法。这对于理解Unity中旋转系统的内部工作原理至关重要。
7662

被折叠的 条评论
为什么被折叠?



