在中心周围旋转空物体

时间:2016-12-16 17:06:19

标签: c# unity3d

我手动(从编辑器)创建带框的空对象。它围绕中心旋转。 但是,如果我用脚本中的框创建相同的对象。它为我旋转未知点。 我找到了原因。它发生的原因是盒子有刻度(0.1,0.2,0.1)。如果我设置(1,1,1) - 它工作。 怎么解决?我想要小盒子。

var wall = new GameObject();
    //wall.transform.parent = room.transform;
    wall.transform.name = "Wall";
    wall.transform.position = new Vector3(0,0,0);

    for (int x = -3; x < width-3; x++)
    {
        for (int y = -3; y < height-3; y++)
        {
            var plate = Instantiate(SimplePlate);

            var pos = plate.transform.position;
            float posZ = pos.z - (x * plate.transform.lossyScale.z);
            float posY = pos.y + (y * plate.transform.lossyScale.y);

            var newPos = new Vector3(0, posY, posZ);
            plate.transform.position = newPos;
            plate.transform.parent = wall.transform;
            plate.name = "Plate " + x;
        }
    }

1 个答案:

答案 0 :(得分:0)

你可以创建另一个空的GameObject并将你的盒子塞进里面。然后旋转刚刚创建的父级?

另外,如何旋转比例为(0,0,0)的对象。你的意思是(1,1,1)吗?