Farseer Physics XNA Geom 'Tripping'
-
06-07-2019 - |
Вопрос
У меня есть проблема, похожая на http://farseerphysics.codeplex.com /Thread/View.aspx?ThreadId=72364 р>
У меня есть геометрическая фигура игрока-прямоугольника, и многие геометрические фигуры прямоугольника выстроены рядом друг с другом.
Иногда, когда геом игрока пересекается между ними, он, кажется, обрезает углы гема плитки и в результате поворачивается.
Даже при переключении момента инерции на бесконечность, который препятствует вращению, игрок делает "прыжки" когда он обрезает край.
Вот снимок экрана с отключающим изображением http://notspike.com/PrototypeG/trip. PNG р>
Есть ли какое-то решение для этого? Я пробовал форумы Farseer, но это кажется довольно неактивным
Вот ссылка на видео с использованием круга для игрока
Решение
Я бы посоветовал вам избегать использования маленьких плиток, расположенных рядом друг с другом, для геометрии столкновения уровня. Например, хотя визуально ясно, что вы используете плитки, слово " floor " из видео лучше всего описать как длинный непрерывный прямоугольник. Таким образом, у вас вообще нет этой проблемы ... математика с плавающей запятой уже достаточно неточна, а геометрия мозаичного столкновения просто просит, чтобы это пошло не так: -)
Другие советы
У меня такое уже было, когда мои фигуры были достаточно маленькими или движения были достаточно быстрыми для интервала между физическими вычислениями " тики " быть достаточным, чтобы позволить объектам перекрываться до того, как обнаружится столкновение.