Добавлен l_Avenger_l
Всем привет. Ребята помогите с формулой. Написал для своей карты Knockback систему. Но столкнулся с проблемой на счет формулы. Т.е. есть функция: UnitKnockback, которая берет unit u, real angle, real distance, real duration.
Мне нужно сделать так, чтобы юнит отталкивался на указанное расстояние за указанное время.
Например: UnitKnockback(u,ang,1000,5) - Наш юнит в течении 5 секунд, двигается и достигает это расстояние. Вроде бы не проблема да. Но дело в том что мне нужно плавное торможение. Что означает, постепенно понижать скорость перемещения. И здесь я запутался с формулой.
Ведь если мы будем постепенно понижать скорость перемещения, то наш юнит не успеет за указанное время преодолеть это расстояние. Что говорит о том, что нужно увеличить начальную скорость. Нужно определить начальную скорость движение и значение, понижающая эту скорость. Итого получиться, что когда наш юнит достигнет это расстояние, общая скорость перещения будет равна или меньше 0.
Мне нужно сделать так, чтобы юнит отталкивался на указанное расстояние за указанное время.
Например: UnitKnockback(u,ang,1000,5) - Наш юнит в течении 5 секунд, двигается и достигает это расстояние. Вроде бы не проблема да. Но дело в том что мне нужно плавное торможение. Что означает, постепенно понижать скорость перемещения. И здесь я запутался с формулой.
Ведь если мы будем постепенно понижать скорость перемещения, то наш юнит не успеет за указанное время преодолеть это расстояние. Что говорит о том, что нужно увеличить начальную скорость. Нужно определить начальную скорость движение и значение, понижающая эту скорость. Итого получиться, что когда наш юнит достигнет это расстояние, общая скорость перещения будет равна или меньше 0.
Период таймера - 0.04
Принятый ответ
Эм. Ну если триггерно делаешь, то мути так: speed=maxspeed*(1-distance/max_distance) , где speed- текущая. maxspeed- начальная скорость (самая максимальная без замедления), distance (уже пройденное расстояние), maxdistance (максимальное расстояние).
Ой. не дочитал. Там зависимость еще от времени. Ну тогда вообще не проблема.
Мб тогда стоит к школьной физике обратиться?) S=V0+(at^2)/2. A будет отрицательной (a=-V0/t), т.к конечная скорость = 0.
S=V0t+(at^2)/2.
Ой. не дочитал. Там зависимость еще от времени. Ну тогда вообще не проблема.
Мб тогда стоит к школьной физике обратиться?) S=V0+(at^2)/2. A будет отрицательной (a=-V0/t), т.к конечная скорость = 0.
S=V0t+(at^2)/2.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ой. не дочитал. Там зависимость еще от времени. Ну тогда вообще не проблема.
Мб тогда стоит к школьной физике обратиться?) S=V0+(at^2)/2. A будет отрицательной (a=-V0/t), т.к конечная скорость = 0.
S=V0t+(at^2)/2.