Необычный Баг. Может кто сталкивался?

Общие вопросы о Unity3D

Необычный Баг. Может кто сталкивался?

Сообщение Jora 14 янв 2021, 14:45

Приветствую товарищи. Забавный баг. Где-то года 2 назад столкнулся с ним первый раз. Примерно в 50% случаев юнити отказывался видеть компоненты на геймобжекте. Я всё не мог понять почему это происходит, ковырялся, проверял текущий объект на наличие этих компонентов и т.д. Но компоненты там были. Ошибка так и появлялась в 50% случаев, и я начал пытаться найти закономерность. И нашёл. Ошибка появлялась, когда префаб этого объекта был выделен в окне Project. То есть если не кликать на префаб, то ошибок нет, и после компиляции ошибок не было, соответственно. И вот спустя 2 года я опять столкнулся с этой проблемой. Запускаю проект - всё отлично. Стоит кликнуть на префаб в окне Project и запустить игру, сразу появляется куча ошибок, о том, что на объектах(внутри этого инстанцированного префаба) нет компонентов. И опять же, если не выделять этот префаб - всё отлично. Бред какой-то)) Надеюсь понятно объяснил. Интересно, сталкивался кто-нибудь с подобным?

Итак, записал видос, где демонстрирую проблему. Если не выделять префаб - всё отлично. Стоит выделить - появляется ошибка при его инстанциировании...

https://youtu.be/uDo-4mtsUd4
Последний раз редактировалось Jora 15 янв 2021, 13:31, всего редактировалось 1 раз.
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alkos26Rus 14 янв 2021, 15:09

Ни разу не сталкивался с таким, постоянно меняю свойства префаба во время игры, возможно версия юнити багованная
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 14 янв 2021, 15:31

Alkos26Rus писал(а):Ни разу не сталкивался с таким, постоянно меняю свойства префаба во время игры, возможно версия юнити багованная


Не, прикол ещё в том, что и свойства менять не нужно(паблик переменные). Достаточно просто выделить префаб и ловить глюки при его инстанциировании) Версия юнити 2017. В 2018 проверял - тоже самое. В 2020 не хочется проверять, проект здоровенный, несколько часов будет переоткрываться. Просто продолжаю разработку, не кликая в этот префаб))
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alex5 14 янв 2021, 15:41

А это с одним единственным префабом или со всеми происходит?
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 14 янв 2021, 15:51

Alex5 писал(а):А это с одним единственным префабом или со всеми происходит?


С одним. Что-то я с ним сделал такое, что его конкретно разнесло)) Единственное, что помню, перед этим глюком в Awake ему прописал новое имя, чтобы не было с припиской (Clone). Может это как-то поломало его. Однако, потом убрал эту строчку, но глюк так и остался.
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение BornFoRdeatH 14 янв 2021, 16:45

Помню в какой-то версии юнити был баг с yaml, ассеты сохранялись с дублированными значениями, одну сцену разнесло на пару гигов, пришлось ручками открывать и удалять лишние строки, но до сих пор в файлах проекта встречаю такую фигню, даже есть обьекты на которые ругается компилятор но на сцене их нет :)
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alkos26Rus 14 янв 2021, 17:04

Можно продублировать этот префаб и посмотреть будут ли ошибки при выделении нового префаба. Так же можно кинуть его на сцену анпакнуть и заново кинуть его на старый префаб тем самым переназначив, вобщем много есть вариантов поправить это, на крайняк анпакнуть и пересобрать заново тоесть создать пустой объект кинуть все дочерние обьекты в него и накинуть на него все компоненты если такие имеются и снова переназначить, а ловить постоянно ошибкии это не дело.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 14 янв 2021, 20:34

Alkos26Rus писал(а):Можно продублировать этот префаб и посмотреть будут ли ошибки при выделении нового префаба. Так же можно кинуть его на сцену анпакнуть и заново кинуть его на старый префаб тем самым переназначив, вобщем много есть вариантов поправить это, на крайняк анпакнуть и пересобрать заново тоесть создать пустой объект кинуть все дочерние обьекты в него и накинуть на него все компоненты если такие имеются и снова переназначить, а ловить постоянно ошибкии это не дело.


Всё это уже делал :) Ничего не помогает. Даже удалял все мета данные, думал может в них какой-то косяк. Но тоже ничего)
Более того, сейчас загеморился, удалил скрипт с этого префаба и создал полностью новый скрипт, с другим названием. Вставил в него весь код. Далее пришлось отредактировать кучу других скриптов под новое название скрипта. - и тоже хрен с маслом))
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alex5 14 янв 2021, 20:57

Без самого префаба - это просто гадание.
Вообще, unity - это ведь интерактивный редактор, по сути. Конечно, да emacs ему далеко, но кажется, что сделать ещё один unity внутри него вполне можно. :)
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alkos26Rus 14 янв 2021, 21:10

Всё это уже делал :) Ничего не помогает. Даже удалял все мета данные, думал может в них какой-то косяк. Но тоже ничего)
Более того, сейчас загеморился, удалил скрипт с этого префаба и создал полностью новый скрипт, с другим названием. Вставил в него весь код. Далее пришлось отредактировать кучу других скриптов под новое название скрипта. - и тоже хрен с маслом))


Сделай копию этого префаба над котрым можно изгаляться сколько влезит, и удаляй компоненты и дочерние объекты по очереди пока не перестанет выдавать ошибку, я сильно сомневаюсь что оставшийся пустой префаб будет выдавать ошибки, скорей всего дело в его дочерних объектах и компанентах.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 14 янв 2021, 21:28

Alkos26Rus писал(а):Сделай копию этого префаба над котрым можно изгаляться сколько влезит, и удаляй компоненты и дочерние объекты по очереди пока не перестанет выдавать ошибку, я сильно сомневаюсь что оставшийся пустой префаб будет выдавать ошибки, скорей всего дело в его дочерних объектах и компанентах.


К сожалению, это сделать сложно. Там довольно большой префаб с кучей дочерних объектов, со своими скриптами. Стоит что-нибудь удалить и всё посыпится. То есть мне просто проще проигнорить этот момент, поскольку, опять же, всё работает отлично, без ошибок, если просто не выделять этот префаб в папке. Собственно мне его и не нужно выделять, так что ничего критичного нет. В прошлом проекте, где 2 года назад был такой же глюк, я потом его успешно портировал на кучу платформ, нигде ошибок не было в связи с этим косяком с выделением. Сейчас просто нет времени на доскональный разбор. Но месяца через 3 всё таки попробую более досконально всё разобрать по твоему совету.
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alkos26Rus 15 янв 2021, 09:46

Стоит что-нибудь удалить и всё посыпится.


А с чего он должен посыпаться, если я правильно понял выделять префаб нужно не на сцене а в библиотеке, чему там сыпатся, ну ссылки послетают и все. Пока префаб не на сцене никаких ошибок выдавать не будет, если их нет в скриптах. Это же тестовый префаб, за его целостность не нужно переживать.

Там довольно большой префаб с кучей дочерних объектов, со своими скриптами.


Ну не обязательно удалять по одному дочернему объекту, удаляешь половину из них, проверяешь, затем опять половину и т.д. Это займет гараздо меньше времени, ведь вся суть найти из за чего там конкретно видает ошибки.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Необычный Баг. Может кто сталкивался?

Сообщение Alex5 15 янв 2021, 10:06

Дихотомия - штука шустрая. Но, медитация над префабом, лучше! :)
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 15 янв 2021, 11:56

Alkos26Rus писал(а):А с чего он должен посыпаться, если я правильно понял выделять префаб нужно не на сцене а в библиотеке, чему там сыпатся, ну ссылки послетают и все. Пока префаб не на сцене никаких ошибок выдавать не будет, если их нет в скриптах.


Не, ошибка происходит, когда префаб создаётся на сцене. Если просто в него кликнуть - ничего не будет, конечно) Запишу видос чуть попозже)
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

Re: Необычный Баг. Может кто сталкивался?

Сообщение Jora 15 янв 2021, 13:19

Итак, записал видос, где демонстрирую проблему. Если не выделять префаб - всё отлично. Стоит выделить - появляется ошибка при его инстанциировании...

https://youtu.be/uDo-4mtsUd4
Jora
UNец
 
Сообщения: 18
Зарегистрирован: 28 авг 2019, 10:50

След.

Вернуться в Общие вопросы

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

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