Привет всем!
Недавно столкнулся с проблемой: а как же правильно откатить анимацию на начальный кадр?
Подробнее:
Имеется много (>10000 на сцену) объектов, которые при столкновении с игроком должны проигрывать анимацию. После анимации, объект «уничтожается», т.е. помещается в пул объектов, дабы через какое-то время вновь появиться на игровом поле. Так вот, я никак не могу найти адекватный способ, как откатить эту самую анимацию, которая уже завершилась и встала на паузу, на первый кадр, прежде чем активировать объект и показать его игроку. Перерыл немало форумов и тем на stackoverflow, однако, адекватного способа для этого я так и не нашёл. На данный момент, у меня есть аниматор с двумя состояниями: waiting и shake, где, соответственно, waiting — это пустое состояние, а shake — проигрывание предсмертной анимации. Соответственно, при приближении игрока, используется переход waiting -> shake, а когда анимация заканчивает проигрываться, по событию вызывается shake -> waiting, который почему-то не возвращает объект в исходное состояние (а должен ли вообще? я с анимациями никогда не работал, катюсь).
Причём ещё одна особенность моего случая: огромное количество объектов, а значит, включение аниматора только в то время, когда нужна анимация, иначе 70% времени обработки кадра занимает Animator Update.
А вот вопрос: а как бы вы поступили в такой ситуации? Как бы откатывали анимацию у объекта?