Клонирование объектов

Программирование на Юнити.

Клонирование объектов

Сообщение Izolda 08 июл 2023, 12:10

У меня есть объект который сохраняется в prefab и расставляется в по сцене в больших количествах
Бывает нужно этот объект изменить и пересохранить prefab

Так как копий объектов много то расставлять их по сцене удобнее скриптом
Копия объекта делается при помощи функции Instantiate но она ломает привязку к prefab и если он пересохраняется то все объекты которые расставлялись по сцене при помощи функции Instantiate остаются старыми.

Объекты расставляются на сцене и помещаются в parent object в режиме создания проекта один раз во время генерации по кнопке на скрипте генерации а не выполнения каждый раз при запуске

Если клонировать объекты вручную из самого Unity то при пересохранении все такие объекты подтягивают изменения
Я подозреваю что они используют какую-то другую функцию клонирования объектов или вообще используют механизм ссылок на объект из-за чего оно работает нормально.

Может кто-то сталкивался с похожей проблемой и нашёл решение и может подсказать как расставить объекты так что бы при обновлении prefab информация обновлялась во всех копиях?
Izolda
UNец
 
Сообщения: 3
Зарегистрирован: 23 июн 2023, 17:41


Re: Клонирование объектов

Сообщение Izolda 10 июл 2023, 00:29

Большое спасибо. Получилось клонировать prefab при помощи функции clone = PrefabUtility.InstantiatePrefab(PrefabUtility.GetPrefabParent(prefab)) as GameObject;
Izolda
UNец
 
Сообщения: 3
Зарегистрирован: 23 июн 2023, 17:41


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8