我阅读了几篇文章和问题的答案,但仍然不是我需要的。我所学到的,是我需要在立方体的中心创建一个游戏对象,并在枢轴上创建另外4个。这样的事情{ {3}}
接下来应该使用Quaternions还是transform.Rotate?层次结构是否正确?
答案 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.down
,Vector3.left
,Vector3.right
,Vector3.forward
和Vector3.back
。要使用的一个取决于你的场景设置,但尝试它们会让你到一个