Unity Mecanim - воспроизводить анимацию за определенное время - PullRequest
0 голосов
/ 05 ноября 2019

Программируя RPG-игру, я бы хотел контролировать скорость анимации в зависимости от ее продолжительности.

Например, персонаж должен разыграть заклинание за X секунд. Я хотел бы воспроизвести состояние анимации так быстро, чтобы анимация заканчивалась ровно за X секунд.

-X определяется непосредственно перед запуском анимации.

-У меня несколько анимаций для нескольких персонажейпоэтому я хотел бы избежать этого путем ручного расчета и настройки скорости анимационного клипа в аниматоре

Как я могу реализовать это поведение?

1 Ответ

0 голосов
/ 06 ноября 2019

Вы можете изменить скорость компонента аниматора. Дело в том, что вы должны обновлять скорость на каждой итерации игрового цикла (или каждый раз Y).

Скорость анимации может быть [0-1], где 1 - значение по умолчанию. Вам нужно будет взять длину анимации и сделать некоторые расчеты на основе вашего X и анимации.

Что-то вроде: float length = gameObject.animation.clip.length;

newSpeed = ....

https://answers.unity.com/questions/902029/how-to-get-and-change-animation-speed-of-animator.html

...