滚动/旋转立方体的边缘

时间:2018-04-08 13:46:34

标签: c# unity3d

如何在其边缘滚动/旋转立方体?(像这样)enter image description here

我阅读了几篇文章和问题的答案,但仍然不是我需要的。我所学到的,是我需要在立方体的中心创建一个游戏对象,并在枢轴上创建另外4个。这样的事情{ {3}} enter image description here enter image description here

接下来应该使用Quaternions还是transform.Rotate?层次结构是否正确?

1 个答案:

答案 0 :(得分:0)

我打算告诉您使用外部3D软件将枢轴点设置为屏幕截图中的位置,但看起来您希望使用多个轴心点来执行此操作,这样您就可以使用空GameObjects来完成此任务。

从屏幕截图中,您似乎走在了正确的轨道上。

1 。创建空的GameObjects并将它们放在想要旋转立方体的边缘,然后将它们放在立方体下面。

2 。使用transform.RotateAround而不是transform.Rotate来旋转多维数据集。第一个参数应该是边缘轴点。第二个参数是您要旋转立方体的轴。第三个是角度。

//cube to rotate
public GameObject cube;
//Assign dge pos from the editor
public Transform edgePivotPoint;

public float rotSpeed = 60f;

void Update()
{
    cube.transform.RotateAround(edgePivotPoint.position, Vector3.back, rotSpeed * Time.deltaTime);
}

注意,如果旋错方式,请尝试将Vector3.up替换为Vector3.downVector3.leftVector3.rightVector3.forwardVector3.back。要使用的一个取决于你的场景设置,但尝试它们会让你到一个