Entity vector

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
pro100web, подсказывай, мы уже как родные ::D :-D xD:

Смотри, задать движение с нужной скоростью - могу
Развернуть - могу.

Только у меня объект движется постоянно с одним и тем же вектором.
Мне нужно задать движение объекту по новому вектору, то есть, чтоб он двигался в другую сторону.

Какую функцию использовать?
как бы нашел entity_set_vector / get_vector, а под ReAPI есть варианты?))
 

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
set_entvar(iEntity, var_velocity, Float:{50.0, 90.0, 0.0})

В таком варианте, он как бы меняет траекторию, но его начинает косить не под 90 градусов))
Задал отдельно так:

set_entvar(iEntity, var_velocity, Float:{0.0, 90.0, 0.0})

Все четко, но при этом наблюдаю небольшие торможения, каких не было до подобных изменений.
Плавность исчезла, скажем так)
АААА
Короче, мне тогда под X вовсе не надо ставить хДДД
Просто Y поменять, не надо тут две функции ляпать хД
Вот я лол)) Сам с собой поговорил в теме - сам и решил хДД
 

pro100web

Пользователь
Регистрация
19 Фев 2018
Сообщения
23
Симпатии
7
Есть небольшая функция для реализации этого
C++:
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed,Float:new_velocity[3]){
    new_velocity[0] = origin2[0] - origin1[0]
    new_velocity[1] = origin2[1] - origin1[1]
    new_velocity[2] = origin2[2] - origin1[2]
    new Float:num = floatsqroot(speed*speed /(new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
    new_velocity[0] *= num
    new_velocity[1] *= num
    new_velocity[2] *= num
    return 1;
}
использование

get_speed_vector( текущая_позиция, новая_позиция, скорость, вектор )
и используем полученный вектор set_entvar(iEntity, var_velocity, вектор )
 
Сверху Снизу