如何滚动/旋转立方体在它的边缘?(像这样)
我读了几篇关于这些问题的文章和答案,但我所了解到的仍然不是need.All,我需要在立方体中心创建一个游戏对象,并在pivots.Something上创建4个这样的游戏对象。
接下来,我应该使用四元数还是transform.Rotate?Is来纠正层次结构呢?
发布于 2018-04-08 14:21:42
我正要告诉您使用外部3D软件将枢轴点设置为屏幕截图中的位置,但是看起来您想要使用多个枢轴点来完成这个任务,所以您将使用空的GameObjects来完成这个任务。
从你的截图来看,你似乎走在正确的轨道上。
1.Create空GameObjects,并将它们放置在希望旋转立方体的边缘,然后将它们放置在立方体下。
2.Use 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.down
、Vector3.left
、Vector3.right
、Vector3.forward
和Vector3.back
替换Vector3.left
。要使用的那一个取决于你的场景设置,但是尝试它们会让你找到那个场景。
https://stackoverflow.com/questions/49718522
复制相似问题