YugGO
@YugGO

Как решить данный вопрос по Animator в Unity3D?

Есть анимация стрельбы, и код, который позволяет стрелять.
Проблема в том, что анимация (выстрела), которая длится 0:10, после первого выстрела проигрывается, но а потом проигрывается после 3тего выстрела, 6того, 9того.
Я также поставил время между двумя выстрелами, если подбирать, то скорострельность оружия становится очень маленькая.

Если что-то не понятно, спрашивайте, допишу.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Не знаю, что у вас за анимация, но подозреваю, что не циклическая (не в loop'е), иначе бы проблем с выходом не было бы.

Значит разовая, одиночный выстрел, что надо прервать следующим выстрелом. Тогда предлагаю так:

Используйте триггер и SetTrigger вместо int (кстати, а почему тогда уже не bool, раз всего два состояния?). По тригеру будет происходить выстрел (запуск анимации). Выход будет по Exit Time, но оно и переход (transition) должны быть 0.0 - тогда анимация тут же переключится на основную после разового проигрывания (не забудьте в самой animation выключить loop), и будет готова "стрелять" дальше. А чтобы прервать выстрел и запустить его заново, создайте переход с анимации выстрела на... саму себя, без времени выхода, без перехода, с активацией по тому самому триггеру. Такой переход будет просто перезапускать анимацию с начала, без изменения состояния (уже ведь стреляет, что менять то?).
5ff8a9678421d948144760.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ShockWave2048
@ShockWave2048
imposter
Ускорь анимацию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы