Grapeoff
@Grapeoff
В чём концепция...?

Как работает просчёт траектории в играх типа Angry Birds?

Решая задачу по кинематике, получил формулу траектории тела, брошенного с земли под произвольным углом:5fce23eb3341a718025714.jpeg

Но к сожалению, данная формула не учитывает ни массы тела, ни силы броска, и если использовать такое в Gamedev, то компьютеру игрока прийдётся каждый кадр решать квадратное уравнение.

Как это реализовано на примере Angry Birds?
Есть сила броска, есть mg, есть масса птички, но как это всё записать в одну функцию, чтобы ещё и компьютеру игрока было не очень сложно?
  • Вопрос задан
  • 525 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
От массы тела зависит взаимодействие с другой массой.
От силы броска и массы тела — начальная скорость v.

Чаще всего действительно не доводят до аналитического решения, а каждый кадр происходит шаг численного решения дифференциального уравнения:
(vx, vy)′ = (0, −g) — ну или сопротивление воздуха добавьте
(x, y)’ = (vx, vy)

Гуглите «методы Рунге—Кутты», нам хватит метода второго порядка.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos Куратор тега Разработка игр
то компьютеру игрока прийдётся каждый кадр решать квадратное уравнение.

И что? Это не особо то и тяжелые вычисления. Тем более для кор-механики.
Ответ написан
Комментировать
gbg
@gbg
Любые ответы на любые вопросы
Учебник физики за 6-7 класс средней общеобразовательной школы в руки и вперед, познавать так сказать.

Квадратное уравнение решить современному процессору не стоит практически ничего. Тем более, что его можно решить один раз.
Ответ написан
freeExec
@freeExec
Участник OpenStreetMap
Ну и сила броска + масса = превращаются в начальную скорость.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы