为什么转换中有奇怪的数字,-90 到 -89.9801

Why is there weird number in transform, -90 to -89.9801

有没有发现,有时候transform中的数字很奇怪。喜欢:

即使你原来设置的是90或270

为什么会这样?它与统一的机制有什么联系吗?

显示的值是四元数值的转换。

https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles

浮动总是会带来一些不准确。

Why Are Floating Point Numbers Inaccurate?

但主要是第一部分。显示的内容只是为了让您了解,但这不是 Unity 使用的内容。当您旋转所有轴时,您还会注意到从 180 度到 -90 度或 360 度到 -180 度的一些跳跃。这又是由于四元数只是一个方向,与 3 轴无关(四元数实际上有 4 个维度),而是基于角度和三角学。

我认为原因是 Unity 确实使用四元数计算其变换。欧拉角必须计算成四元数,所以有一点不准确。