围绕全局Y轴旋转对象,忽略其局部旋转

时间:2017-10-15 20:10:30

标签: unity3d vector rotation

我有一名球员(绿色),我想让他左右旋转。

这可以通过在其局部Y轴上旋转来轻松完成。然而问题是玩家可能沿其局部X轴旋转。这是一幅草图:

enter image description here

以下是顶部视图:

enter image description here

我需要沿着红线旋转播放器。无论他目前在X轴上有什么旋转,我都需要这样做。 (玩家像超人一样飞行,见第一张照片)

使用父对象可以很容易地解决这个问题,但这对我当前的设置是不可能的。 我正在使用的代码在本地旋转时最终会出现奇怪的旋转:

transform.Rotate (0,rotationY,0);

你将如何在全球Y轴上旋转?

1 个答案:

答案 0 :(得分:2)

我需要做的就是在Space方法中添加第四个Rotate()参数,如下所示:

transform.Rotate (0, rotationY, 0, Space.World);