В кинематиках для придания большей реалистичности действию часто используется триггерная команда Анимация - Play unit animation. Например, если какой-то герой по сюжету должен прыгать от радости, а он вместо этого стоит неподвижно, получится как-то неестественно. Самый лучший выход в этом случае - проиграть анимацию прыжка. Например, у Лорда Ужаса (Дридлорда) прыжок - это анимация Stand-3. И вот тут-то как раз и возникает проблема. Оказывается, что команда проигрывания анимации работает сразу с группой анимаций. Т.е. при попытке проиграть не Stand, а Stand 2, Stand 3 или Stand 4 результат будет непредсказуемый. Скорее всего, проиграется обычная анимация Stand (она же - Stand 1) или же вообще ничего не проиграется. Так как же всё-таки проиграть нужную анимацию юнита? 1)Создать анимационный тэг (информация о всех анимациях юнита) Создается триггером Анимация - Add/Remove unit animation tag. 2)Проиграть анимацию jass фукцией Custom script: call SetUnitAnimationByIndex(gg_unit_XXXX_YYYY,N) Первый параметр этой функции - юнит, анимацию которого нужно проиграть. Второй - номер анимации (нумерация идёт с нуля, 0 - это, как правило, Stand 1). Чтобы узнать что нужно написать в качестве юнита, создайте триггер, содержащий действие с необходимым юнитом, конвертируйте его в jass и поищите имя глобалки юнита. Чтобы узнать номер анимации откройте файл модели юнита в проге War3Viewer, найдите список анимаций. Первая анимация это 0 и так далее. |