Что делает этот цикл, так это то, что он создает (int) (transform.childCount / 3) объекты GameObject, каждый с одним дочерним объектом.Полагаю, вам нужно следующее:
CloneObject = new GameObject("ob");
for (int i = 0; i < transform.childCount; i++)
{
index++;
CloneObject.transform.parent = transform;
transform.GetChild(i).transform.parent = CloneObject.transform;
if (index == 3)
{
CloneObject = new GameObject("ob");
index = 0;
}
}
Вы добавляете первые 3 дочерних объекта в текущий GameObject, а затем создаете новый.