无法以顺时针方向旋转图像c#

时间:2016-09-15 03:10:54

标签: c# unity3d

我有一个图像可以通过动画在枢轴点(顶部)旋转。只需更改 z-rotation值,我就可以在逆时针方向旋转它。 但我想以顺时针方向旋转图像。

如果我将z旋转值设置为-45度,则将它转换为315度并以逆时针方向旋转图像。

要旋转的图像的枢轴点位于顶部,如下图所示。

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以对整个旋转的角度(单个浮动)进行调整。从你的最小角度到最大角度,直接设置,旋转= Quaternion.Euler(0,角度,0)。

从0到360包装不应该有任何问题;那些是相同的旋转(因此是720和-360等)。

(你不能强迫slerp走向另一个方向;它采取最短的路线,就像lerp一样(但可以理解的是,用lerp来判断它更难) )

也许这段代码有帮助:

 needleHub.transform.localRotation = Quaternion.Euler(0, 0, Mathf.LerpAngle(90f, -90f, lerpFactor));

答案 1 :(得分:0)

尝试更改插值类型。我记得几乎完全相同的问题并通过将插值更改为Eulers Angles以外的其他方法来修复它。

enter image description here

答案 2 :(得分:0)

感谢@UriPopov供您参考。最后,我能够通过动画顺时针方向旋转图像。 我将旋转更改为EulerAngles(Quaternion),正如UriPopov所说。 但在此动画中要记住的要点是应该考虑每个动画帧。如果一个帧放置为空,则动画将处于逆时针方向。

enter image description here