Готовые клоны, сделанные в скрипте, не обновляются - PullRequest
0 голосов
/ 14 февраля 2019

Я использовал приведенный ниже код для программного создания клонов моих префабов.Когда я пытаюсь изменить размер префаба в режиме префаба, ни один из клонов не обновляется.Я использовал простое изображение спрайта для создания своего префаба и добавил его через инспектор, используя общедоступное свойство GameObject.

or (int i = 0; i < tar.numOfItems; i++)
        {
            var rot = Quaternion.Euler(0f, 0f, tar.spin + angle);
            var localPos = rot * Vector3.right * tar.radius;
            tar.spawnedObjects.Add(Instantiate(tar.clonedObject,
            tar.transform.position + localPos, rot));
            angle += angleBetween;
            tar.spawnedObjects[i].name = tar.spawnedObjects[i].name + (i + 1);

        }

Так что clonedObject - это открытое поле GameObject, добавленное через инспектор.Правильно ли я создаю свои сборные клоны, прежде чем у меня возникнут проблемы с их обновлением?Обратите внимание, что я использую Unity 2019.1.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

А как насчет использования этого?tar.spawnedObjects [I] .transform.SetParent (tar.ClonedObject); * * тысяча одна

0 голосов
/ 15 февраля 2019

Я должен был создать экземпляры префабов, используя PrefabUtiltity.InstantiatePrefab , поскольку я использую Unity 2019.1, но я создавал его как обычный экземпляр стиля игрового объекта.

for (int i = 0; i < tar.numOfItems; i++)
    {
        var rot = Quaternion.Euler(0f, 0f, tar.spin + angle);
        var localPos = rot * Vector3.right * tar.radius;

        tar.spawnedObjects.Add(PrefabUtility.InstantiatePrefab(tar.clonedObject as GameObject) as GameObject);
            tar.spawnedObjects[i].transform.position = tar.transform.position + localPos;
            tar.spawnedObjects[i].transform.rotation = rot;

        angle += angleBetween;
        tar.spawnedObjects[i].name = tar.spawnedObjects[i].name + (i + 1);

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...