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

Как можно сделать обрезание стеку CrossFadeQueued?

СообщениеДобавлено: 03 июн 2009, 09:51
magic3d
Каким образом можно сделать обрезание накопившемуся стеку анимаций, накопленных CrossFadeQueued?
К примеру:
1. Нажимается клавиша 1 и вызывается анимация 1: animation.CrossFadeQueued("hit_1", 0.1);
2. Пока она воспроизводится, можно нажать 10 раз клавиши 2 и 3.
3. В конце воспроизведения, анимация 1 должна переходить на анимацию ПОСЛЕДНЕЙ нажатой клавиши, а не воспроизводить 10 анимаций 2 и 3.

Можно, конечно, сделать проверку по weight воспроизводимой анимации и если она приближается к концу, делать проверку нажатия клавиш, но это немного гемморно. Может в Юнити есть какая-то мелочь, мной незамеченная?

Re: Как можно сделать обрезание стеку CrossFadeQueued?

СообщениеДобавлено: 03 июн 2009, 12:28
magic3d
Вобщем, решил эту задачу как в мобильной java MIDP - привязка к time и lenght воспроизводимой анимации в Update(), и если новая клавиша нажата в последние 10-20% времени воспроизведения, то тогда CrossFadeQueued. И не забывайте про speed для Queued анимации:
animation[anim + " - Queued Clone"].speed :-h