Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему в Юнити . В префабах переменные содержащие скрипты обнуляются . Как это убрать?

игры шапкин Ученик (219), открыт 5 дней назад
1 ответ
Андрей Панарин Искусственный Интеллект (249079) 5 дней назад
Вы задаете скрипты в оригинале префаба, который в ассетах, или в его экземплярах на сцене?
Задаете во время редактирования или во время игры?
Ссылки пропадают при запуске игры или при клонировании префаба методом Instantiate?
игры шапкинУченик (219) 4 дня назад
они обнуляются сразу, как только становятся префабами
Андрей Панарин Искусственный Интеллект (249079) Кажется, понял. Это ожидаемое поведение, если префаб ссылается на скрипты объектов, находящихся на сцене. Префаб же существует сам по себе как ассет и не может зависеть от конкретной сцены. А то будет так, что префаб ссылается на скрипты объектов сцены 1, в то время как играет сцена 2. Это абсурд. Вот у меня есть заготовка для префаба — CubeAndCylinder.У куба имеется скрипт Script Ref Container, содержащий две ссылки: 1) одна ссылка на цилиндр, который тоже будет в составе префаба; 2) другая ссылка на сферу, которая стоит на сцене и не попадает в префаб.Кладу CubeAndCylinder на панель ассетов, открываю полученный префаб на редактирование:У куба в префабе вижу, что ссылка на скрипт цилиндра осталась, так как он в префабе. А ссылка на скрипт сферы пропала, так как сфера просто на сцене.
Похожие вопросы