Динамическое прогрывание анимации назад в Animator

Динамическое прогрывание анимации назад в Animator

Сообщение lol 24 авг 2015, 12:01

Как известно в юнити 5 сделали, что нельзя аниматору назначить в обычном режиме отрицательную скорость.
Но позже появилось решение данной проблемы. Через параметры http://forum.unity3d.com/threads/runtim ... -1.307521/ можно создать новый параметр, назначить его стейту в поле Speed, и тогда если мы назначаем этому параметру GetComponent<Animator>().SetFloat("AnimSpeed", -1.0f); отрицательную скорость, то анимация начинает проигрываться назад.

И вообще эти новые параметры - крутая штука!

P.S. и еще нюанс, если вы захотите понять в какой момент анимация при проигрывании назад дошла до начала, то normalizedTime надо сравнивать не с 0, как казалось бы, с концом 0.9 или около того. Возможно, в след.версиях это поменяется.
lol
Старожил
 
Сообщения: 508
Зарегистрирован: 15 ноя 2009, 10:48
Откуда: Москва

Re: Динамическое прогрывание анимации назад в Animator

Сообщение lol 14 сен 2015, 18:23

Вообщем, с изменением скорости через параметры оказалось есть проблема в веб билдах в броузере. Это штука там некорректно работает. Персонаж замирает, а нормализованное время убегает куда-то за пределы 1. Хотя в редакторе, и обычном виндос билде - все отлично.

В юнити 5.2 там еще переделали кое-что, заменив на speedMultiplier, но в веб билде все равно работает все также некорректно.

Кроме того, если вы делали бандл в 5.1 с аниматором, то в 5.2 он будет крашится и надо заново пересобрать бандл.
lol
Старожил
 
Сообщения: 508
Зарегистрирован: 15 ноя 2009, 10:48
Откуда: Москва


Вернуться в Tips & Tricks

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

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