animator events

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

animator events

Сообщение Sality 30 сен 2013, 16:39

Всем привет, уже похожее обсуждалось, что в юня не предоставляет никаких возможностей подвязатся к кадру анимации, и например если нужно создать фаербол в 20 фрейме (когда рука вытянута вперед) нам нужно засекать время, и по истечению этого времени "предполагать" что в данный момент 20 фрейм. Я так и делал, пока не столкнулся с такой ситуацией, что когда притормаживает анимация на телефоне (требуется оптимизация, но не об этом сейчас) 20 фрейм находится совсем не через то время, которое прошло бы если бы ничего не тормозило.
Фактически анимация у меня длится 0,5с, после этого обьект я разворачиваю. Если запускать все это дело на медленном устройстве, то анимация рывками отрабатывается и обьект разворачивается немного раньше, чем закончится анимация. Выходит что привязываться к времени тоже нельзя. Как же быть тогда, как узнать когда закончилась анимация, или когда РЕАЛЬНО прошел 20 фрейм.

заранее спс.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: animator events

Сообщение seaman 30 сен 2013, 16:44

В ПРО использовать кривые (curves).
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: animator events

Сообщение Tolking 30 сен 2013, 16:48

Анимация на 20 фреймов, по окончании пошел фаербол, проиграли окончание анимации
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2718
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: animator events

Сообщение Sality 30 сен 2013, 16:53

Tolking писал(а):Анимация на 20 фреймов, по окончании пошел фаербол, проиграли окончание анимации


окончание анимации я тоже не могу задетектить, у Аnimator я ненашел методов.

seaman писал(а):В ПРО использовать кривые (curves).

спс, буду копать
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: animator events

Сообщение Strannik 30 сен 2013, 19:47

Sality писал(а):
Tolking писал(а):Анимация на 20 фреймов, по окончании пошел фаербол, проиграли окончание анимации

окончание анимации я тоже не могу задетектить, у Аnimator я ненашел методов.

Начало, окончание анимации можно задетектить, храня текущий хэш имени анимации и в update проверять, не изменился ли он.
Приемы при проектировании архитектуры игр
Mecanim: чтение дополнительной информации из стейтов
Mecanim: копирование blendTree
Strannik
UNIт
 
Сообщения: 93
Зарегистрирован: 26 апр 2012, 22:30
Откуда: Омск

Re: animator events

Сообщение Tolking 30 сен 2013, 19:53

У Animator может и нет, а у Animation есть http://docs.unity3d.com/Documentation/ScriptReference/Animation-isPlaying.html
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2718
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: animator events

Сообщение Receptor 01 окт 2013, 06:50

Я давно еще искал альтернативу Ивентам, почему-то все забыли про AnimationState.normalizedTime...
А ведь это именно инфа о том, грубо говоря, какой щас кадр играет, только в диапазоне 0-1. Из этого можно запелить свои ивенты. Кстати на сторе от Mixamo есть простой пример, коем я удачно и воспользовался. https://www.assetstore.unity3d.com/#/content/10045
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: animator events

Сообщение Dewa1s 01 окт 2013, 07:24

а я вот этим пока что пользуюсь https://www.assetstore.unity3d.com/#/content/5969
удобная штука
Аватара пользователя
Dewa1s
Старожил
 
Сообщения: 564
Зарегистрирован: 26 дек 2011, 02:12

Re: animator events

Сообщение Sality 01 окт 2013, 10:00

Всем большое спасибо, похоже что действительно через normalizedTime можно это делать. Спасибо большое за ответы.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина


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

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

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