父对象在Unity中旋转时冻结旋转平台

时间:2017-10-10 12:21:29

标签: c# rotation unity5

我正在开发一款2D平台游戏,我希望在这张游戏中拥有一个像这个图像中的旋转平台。

http://thegamedesignforum.com/features/WEBSMW/RDSMW4/d13.png

我对此的第一个想法是将一个父对象和一个平台作为该对象的子级,以及一个将旋转父对象的脚本。然而,这将最终使平台的z轴旋转,所以我需要一些能够使平台围绕父对象旋转的东西,但是使平台的旋转保持不变。

我发现的一个解决方案是以下脚本:

using UnityEngine;
using System.Collections;

public class Rotator : MonoBehaviour
{
     public Vector3 rotator;
     public Transform platform;

     Quaternion offset;

     void Start ()
     {
           offset = transform.rotation;
     }

     void Update ()
     {
           platform.rotation = offset;
           transform.Rotate(rotator * Time.deltaTime);
     }
}

这有效,但有一个问题:平台(as seen here)围绕父对象旋转,但也有一点倾斜。我不希望它有任何倾斜。

另一个有趣的事情是我设置的旋转速度越高,平台倾斜的越多。你能告诉我为什么会这样,并且可能会为拥有一个旋转平台提供更好的解决方案吗?

0 个答案:

没有答案