C# 父对象整体旋转时冻结旋转平台

C# 父对象整体旋转时冻结旋转平台,c#,rotation,unity5,C#,Rotation,Unity5,我正在做一个2D平台游戏,我想有一个像图中那样的旋转平台 我对此的第一个想法是将一个父对象和一个平台作为该对象的子对象,以及一个将旋转父对象的脚本。但是,最终平台的z轴也会旋转,所以我需要一些东西使平台围绕父对象旋转,但使平台的旋转保持静止 我找到的解决方案是以下脚本: using UnityEngine; using System.Collections; public class Rotator : MonoBehaviour { public Vector3 rotator;

我正在做一个2D平台游戏,我想有一个像图中那样的旋转平台

我对此的第一个想法是将一个父对象和一个平台作为该对象的子对象,以及一个将旋转父对象的脚本。但是,最终平台的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);
     }
}
这是可行的,但有一个问题:平台()围绕父对象旋转,但也有一点倾斜。我不想让它有任何倾斜


另一件有趣的事情是,我设定的旋转速度越高,平台倾斜的程度就越大。你能告诉我为什么会发生这种情况,也许能为旋转平台提供更好的解决方案吗?

我会在旋转我从未想到过的父对象后设置平台的旋转,现在可以了。谢谢。我会在旋转我从未想到过的父对象之后设置平台的旋转,现在可以了。非常感谢。