странный порядок вызова Start и OnAnimatorMove

Ошибки и баги Unity3D

странный порядок вызова Start и OnAnimatorMove

Сообщение Valentinus 12 май 2017, 19:09

в Invoke-функции создаю GO. случайно выяснил что при этом у нового объекта OnAnimatorMove вызывается раньше чем Start.
а если создаю этот же GO из функции Start (другого объекта) - то все ок, сперва вызывается Start, а потом OnAnimatorMove
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение samana 12 май 2017, 21:03

Да, есть такое. Возможно это и не баг, но увидеть таблицу порядка вызовов методов MonoBeh-а мне не удалось.
Вы тогда создайте дополнительную булеву переменную, которую в старте меняйте. А в OnAnimatorMove выполняйте код, только если та булева переменная имеет нужное значение.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение waruiyume 12 май 2017, 21:11

https://docs.unity3d.com/Manual/ExecutionOrder.html
Если это действительно проходит, то это баг и нужно написать багрепорт.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение samana 12 май 2017, 21:29

waruiyume писал(а):https://docs.unity3d.com/Manual/ExecutionOrder.html
Если это действительно проходит, то это баг и нужно написать багрепорт.

Эта таблица конечно известна, но там нет ни слова про коллбеки OnAnimatorXXX :-s
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение waruiyume 12 май 2017, 21:56

Internal animation update- это тогда что?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение samana 12 май 2017, 22:04

waruiyume писал(а):Internal animation update- это тогда что?

Да, заметил. Хм, никогда бы не догадался, что это события OnAnimator-а, спасибо за наводку.
Тогда получается, что это это баг Unity с преждевременным вызовом OnAnimatorMove.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение Valentinus 12 май 2017, 22:51

samana писал(а):Да, есть такое. Возможно это и не баг, но увидеть таблицу порядка вызовов методов MonoBeh-а мне не удалось.
Вы тогда создайте дополнительную булеву переменную, которую в старте меняйте. А в OnAnimatorMove выполняйте код, только если та булева переменная имеет нужное значение.


по ней родимой и обнаружил :) в Start кешировал ссылку на компонент Animator, которую потом в OnAnimatorMove использовал. и увидел что при первом вызове выбрасывалось исключение NullObjectтруляля . ну и раскрутил ситуацию.
теперь просто добавил проверку на null

waruiyume писал(а):https://docs.unity3d.com/Manual/ExecutionOrder.html
Если это действительно проходит, то это баг и нужно написать багрепорт.


зашел в раздел "баг-трекер", но не нашел кнопки "написать"
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: странный порядок вызова Start и OnAnimatorMove

Сообщение waruiyume 12 май 2017, 23:03

1 Создайте новый проект в котором легко воспроизводится баг.
2 Help->Report a Bug
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Глюки

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

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