Позиционирование дочернего объекта

Я создаю более 50 одинаковых объектов(по размерам). Для того чтобы не засорять вкладку иерархия в Unity я хочу запихнуть все эти объекты в общий объект под символическим название Map у которого есть Rect Transform(и у заполняемых объектов этот компонент тоже есть).

// Определяем ширину и высоту Map
        gameObject.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,
            MapGeneration.Instanse.Width * 0.48f);
        gameObject.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,
            MapGeneration.Instanse.Height * 0.48f);

        mapResources = MapGeneration.Instanse.CreateMapResources();
        if (mapResources != null)
        {
            // цикл для прохождения каждого уровня высоты 
            for (int i = 0; i < MapGeneration.Instanse.Height; i++)
            {
                //цикл для заполнения конкретного уровня объектами
                for (int j = 0; j < MapGeneration.Instanse.Width; j++)
                {
                    if (resourcesCounter == 0)
                    {

                        var r = Instantiate(mapResources[resourcesCounter], transform, true);
                        r.transform.position = new Vector3((transform.position.x - 4.8f) + 0.24f,
                            (transform.position.x + 1f) - 0.24f, 0f);
                    }
                    //else
                    //    Instantiate(mapResources[resourcesCounter], transform, true);

                    resourcesCounter++;
                }
            }
        }

Для создания каждого объекта я задаю родительский transform для того чтобы он отображался внутри Map. При этом x и y соответственно меняют свои значения на x = 4.8f && y = -1. Для того чтобы правильно отобразить объект я должен сменить позицию объекта. Мне нужно отнять значения которые перешли от родителя и добавить те координаты которые мне нужны, чтобы все дочерние объекты отображались в виде сетки. Я пробовал Grid Laoyut Group, если там удалить один из элементов то сразу идёт заполнение пустого места, и это мне не подходит. Циклы сейчас не работают как нужно так как я должен разобраться с позиционированием объектов.


Этот вариант который я описал работает и позиционирует объект туда куда нужно. Не знаю, правильно ли я меняю позицию объекта и уверен в том что есть намного правильное присвоение координат новому объекту. Кто то может мне подсказать как лучше?


Ответы (0 шт):