如何旋转掉落和拉动的物体?

时间:2014-03-30 14:33:38

标签: c# unity3d

我的游戏中有球落下(重力),并且在其更新方法中,当风吹来时,我还添加了轻微的拉力:

transform.Translate(new Vector3(sidewaysDrag,0));

现在,我想围绕Z轴旋转我的GameOBject(它是一个2D游戏),我试过:

transform.Rotate(Vector3.forward * Time.deltaTime * 200);

但我猜我的锚是错的,因为不是围绕自身旋转而是整个物体以非常大的曲线旋转。如果我注释掉翻译,那么轮换是正确的......

2 个答案:

答案 0 :(得分:1)

将您的球对象放在另一个空对象(父对象)下。

翻译父母,旋转球。

或翻译球的世界位置,旋转球的localRotation

答案 1 :(得分:0)

这是因为你正在使用Vector3.forward,它实际上指向世界空间中的Z轴,你需要在本地空间中使用Z轴,你可以通过transform.TransformDirection(Vector3.forward);

来实现