Страница 1 из 1

Animator - странно работает OnStateExit

СообщениеДобавлено: 18 май 2018, 03:25
Susanin
Форумчане

Использую OnStateExit на некоторых state-ах и всегда думал что данное событие сработает только когда
1) закончится анимация на стейте к которому прикреплен данный скрипт и
2)происходит анимация именно на этом стейте

Оказалось что он также срабатывает если на другом слое в момент проигрывания анимации на нашем стейте произойдет окончание какогото другого стейта.

И вот я не могу понять как определить, что закончился именно тот стейт к кторому был прикреплен скрипт с OnStateExit.
OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
stateInfo и layerIndex - всегда ссылаются на тот стейт к которому прикреплен скрипт.
Единственное решение которое я нашел это использовать :
var currentBaseState = animator.GetCurrentAnimatorStateInfo(layerIndex);
и проверять есть ли он или нет


Отключив все анимации я понял, ничего не понял

OnStateExit почему-то в любом случае срабатывает 2 раза - гдето чуть раньше середины анимации и собственно в конце анимации

Ничего не понимаю!

Re: Animator - странно работает OnStateExit

СообщениеДобавлено: 20 май 2018, 01:14
Susanin
[loshara]Путем многих проб выяснил - что два раза срабатывает если Exit time анимации меньше 0.8 секунд....


НО все равно не понимаю почему?![/loshara]

Проблема разрешилась путем снятия галки "Can Transition To Self" в меню настроек перехода на стейт

суть проблемы все рано не ясна...........

Re: Animator - странно работает OnStateExit

СообщениеДобавлено: 20 май 2018, 19:20
lawsonilka
слишком большой шрифт, в экран не помещается.