Ответ в теме: Взаемодействие с объектами на карте.

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Взаемодействие с объектами на карте. Ответ в теме: Взаемодействие с объектами на карте.

#4893

KindRedSand
Участник
Сообщений:71

Зарегистрирован:
05.04.2017

Репутация:28

У тебя только два варианта – либо просчитывать всю коллизию в одной плоскости и под одним углом, либо делать лоигку столкновений основываясь на SAT (Separated Axis Theorem aka Теорема разделённых осей кординат). В последнем – все прямоугольники будут заменены на вектора точек описывающих контур, но его беда в том что он не может просчитывать поднутрения у контура (Т.е. если одна из точек окажется внутри контура – коллизия будет просчитыватся через соседние в списке точки – ушедшая во внутрь просто выпадает.) Box2D использует именно этот способ просчёта столкновений и нахождения Minimal Translation Vector (Минимальный вектор смещения для вывода одного контура из другого по направлению вектора нормали (Перпендекуляр к отрезку))