могу понять некоторые моменты.
Есть скорость (velocity), каждое обновление ее нужно изменять и не совсем понятно как. На сколько я понимаю добавление силы просто должно прибавлять вектор силы к вектору скорости. Потом как я понимаю нужно посчитать сопротивление среды которые зависит от скорости и вычесть его из вектора скорости.
Но я не знаю хорошая ли это идея и как вычитать сопротивление среды, чтобы скорость не повернулась в другую сторону, а просто стала равна нулю через какое то время. Подскажите пожалуйста если знает кто
F=ma, m = масса, a = ускорение, которое получит тело от силы F, вот его уже применяешь к скорости, d vel = dt * a
Ааа, из F=ma вытащить а и уже его прибавлять к скорости умножая на dt? Спасибо
Глянь box2d light и там же есть небольшой пдф (слайды с конфы ) где Эрин Катто рассказывал как раз о простой реализации физики
У тебя есть скорость, а есть ускорение, вот сила это ускорение, сопротивление среды тоже ускорение, только отрицательное
Но я не совсем понял как сделать так, чтобы скорость затухла до нуля. Единственное что приходит в голову это обложиться if, но это кажется не лучшая идея
А ты представь, что движешься в вакууме и сталкивается с очень маленькими телами, возможно это позволит тебе вывести нужное приближение
Ну каждый раз скорость чуток падает от каждого столкновения. То что нужно вычитать из вектора скорости сопротивление я вроде догадался. Но если вычитать, то тело замедлится, остановится и полетит в другую сторону уже от вычитания силы сопротивления. Я где то не в ту сторону думаю?
У тебя чем меньше скорость, тем меньше сопротивление среды
Соответственно абсолютное значение вектора скорости всегда больше абсолютного значения вектора сопротивления
Ну тут кажется понял, спасибо. А там можно если значение ускорения сильно маленькое, то делать его равным нулю или это плохая идея?
Зачем тебе это вообще надо, возьми готовый физ движок
Ну, взял. В godot, он работает не очень с мешем из кубиков. Тут сказали что через AABB можно сделать, вот играюсь, пытаюсь сделать
И зачем для этого писать самому, какой физ движок godot использует? Там уже должна быть поддержка aabb скорее всего
Обсуждают сегодня