Farseer/Box2D Прямоугольники сходят с ума после удара об пол

Я использую Farseer Physics и создаю свои тела следующим образом:

Body = BodyFactory.CreateRectangle(_world,
  PixelToPhysics(Width),
  PixelToPhysics(Height),
  Density
  null);

И как вы можете видеть на следующей гифке -

Физика сходит с ума

прямоугольники ведут себя нормально и сталкиваются, как должны, пока не упадут на пол. Сам пол также является прямоугольником, но его тип тела установлен на Static.

Я пробовал играть с временным шагом и масштабом, но это не проблема. Кроме того, я не думаю, что это сбой рендеринга, поскольку он ведет себя так, как должен, прежде чем упасть на пол.

Мне кажется, что при ударе об пол их размер меняется, но я не могу это отладить.


person Cryru    schedule 17.09.2017    source источник


Ответы (1)


Временной шаг был (1000 / FrameTime) вместо (FrameTime / 1000), заставляя физику двигаться на 60 секунд за шаг, а не на 0,016 мс.

person Cryru    schedule 17.09.2017