Box2D смежных краев столкновения

У меня есть мир в box2D, где я использую 2 тела края для представления стены (у меня есть 2, потому что между двумя объектами может быть разный угол)

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

Кроме того, если мой объект круга попадет в точку пересечения двух ребер (с углом или без угла), он отскочит в неопределенном направлении.

Как я могу исправить или предотвратить такое поведение?

Обнаружено столкновение

введите описание изображения здесь

Углы являются приблизительными

3

Решение

Для коллинеарных ребер я бы добавил некоторую предварительную обработку, которая объединит два коллинеарных ребра в один, чтобы избавиться от таких проблем.

Для второго случая. Единственное, что приходит мне в голову, — это обнаружить столкновение с несколькими ребрами (с некоторым допуском, точно не точное значение), а затем вычислить биссектрису интересующих ребер — исходя из этого, и угол, при котором объект круга попадает в ребра, вычисляет новый угол.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector