在Unity中旋转魔方的立方体

时间:2016-04-18 11:19:21

标签: c# vector unity3d rotation

我试图使用RotateAround旋转魔方的平面,我的问题在于确定某个平面需要旋转的轴向量,我总是需要使用通过中心游戏对象但使用Vector3.up / down / right / left的向量是没用的,特别是如果立方体旋转并改变位置,任何建议? :\

例如,这是我用来旋转绿色平面的线,绿色是这种情况下的中心游戏对象

    Parent.transform.RotateAround(green.transform.position,WHAT AXIS VECTOR?,100*Time.deltaTime);

1 个答案:

答案 0 :(得分:1)

我将做的是以下内容:

在每一侧的6个中心部分中的每一个的位置上,我将放置一个空的游戏对象。我会手动旋转它们,使它们的局部Y轴从表面向外指向(切换到Unity中的局部空间)。

现在,每当我需要旋转一侧时,我会:

  • 父亲在我的空游戏对象下面的所有9个侧面
  • 将父游戏对象旋转90或围绕局部Y轴旋转-90度
  • 取消所有9件作品(以便他们为下一个周期做好准备)

你需要的是从Unity Docs:transform.parent,transform.localEulerAngles和一些旋转函数中检查这些,可能是Mathf.Lerp和Vector3.Lerp,以便顺利旋转。