Те, кто работали с нативкой call SetUnitTimeScale(whichUnit,whichReal) знают, что она меняет скорость анимации юнита. Изначально я предполагал, что если к примеру я выставлю 0.2 , то скорость анимации по идее замедлится в 5 раз. Увы, оно так не работает. Кто знает, по какой формуле работает эта штука? Проводил кучу замер, они никак не взаимосвязаны.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
27
3 года назад
Отредактирован rsfghd
0
FireKnight, интересные замечания

Странно, а какими методами замерял это? У меня всё работает ровно по тику таймера
Взял первую анимацию атаки пехотинца, тоже 1 секунда

а, всё, заметил что длится дольше/меньше положенного, вероятно это связано с игровым временем?
раскрыть
library mylib initializer init
    function myfunc takes nothing returns nothing
        call DisplayTextToPlayer(Player(0),0,0,"20s")
    endfunction
    function init takes nothing returns nothing
        set bj_lastCreatedUnit = CreateUnit(Player(0),'hfoo',0,0,0)
        call SetUnitTimeScale(bj_lastCreatedUnit,0.05)
        call SetUnitAnimationByIndex(bj_lastCreatedUnit,4)
        call TimerStart(CreateTimer(),20.,false,function myfunc)
    endfunction
endlibrary
при 0.01 анимация вообще не проигрывается)

при изменении темпа игры ниже, медленная анимация так же полностью останавливается
2
27
3 года назад
Отредактирован MpW
2
может от модели то зависит скорость? у них не прописана станд анимация? я вот спецэффектом модели юнита создаю, у них анима проигрывает.
есть ли какие зависимости скорость бега анимации от скорости бега, скорости анимации атаки от скорости атаки, скорость анимации постройки от скорости строительства? Я пока не тестил эту функцию, но скором временем туда дойду
0
27
3 года назад
Отредактирован rsfghd
0
МрачныйВорон,
скорости анимации атаки от скорости атаки
проверил, от скорости атаки не зависит
2
13
3 года назад
2
rsfghd:
проверил, от скорости атаки не зависит
Как я понимаю, там при проигровании анимации атаки и ходьбы, уже стоят значения. Которые меняются на время проигривания, а после возвращаются в установленное.
От 0.02 до 0.05 время ~25сек. получилось
От 0.05 до 0.09 время ~12сек. получилось
От 0.1 до 0.08 время ~8сек. получилось
Дальее уже сложнее замерять
0
27
3 года назад
0
Borodach, у меня на низких скоростях проигрывания (~0.05) фигня творится, так что я хз
2
13
3 года назад
2
rsfghd, если ты на юните тестишь, то у него установленна обратная анимация. Сначала ее проигривает, пока не дойдет до места анимации которая вперед производится... На низких скоростях они встретятся в конце проигрования.
0
27
3 года назад
Отредактирован rsfghd
0
Borodach, у меня на 1-2% замедляется в 0, я об этом

Кто знает, по какой формуле работает эта штука?
Вообще формула скорости анимации это время разделённое на скорость (%), то бишь 1 сек / 0.50 = 2 сек. Но тут какая-то фигня творится
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.