Попробуйте установить значение трения крепления шара на 0.
Моя история:
У меня была похожая установка и проблема (4 стены, без гравитации, отскок мяча внутри - хотя в LibGDX, но неjBox2D).После нескольких часов поиска и возни, я обнаружил, что установка трения шарикового приспособления в 0 заставляла шар отражаться / отражаться внутри стен.Не ноль, и он будет несколько раз подпрыгивать под нечетными углами отражения (не квадратный / прямой угол, как ожидалось), заканчиваясь в устойчивом состоянии, подпрыгивая по горизонтали или вертикали.
Больше информации о моем случае, если этоотносящийся к любому (у Google почти ничего не было в этом!):
После долгого изучения я наконец понял, что на самом деле он не подпрыгивает точно по горизонтали или вертикали.Исходя из моего (по общему признанию, очень плохого) понимания физики, я думаю, что где-то в Box2D есть ошибка;wlog отскакивает от горизонтальной стены, вы ожидаете vx * = -1f;но в устойчивом состоянии это также будет vy * = -1f.Угловая скорость не имела никакого эффекта (я даже пытался установить фиксированный угол на теле и отдельно добавлять дрожание угловой скорости к объекту каждый тик), и это не имело никакого отношения к типу телосложения (делая стенку кинематической, статической и динамичнойвсе дало одинаковый эффект).Я пробовал как с порогом скорости в 0f и по умолчанию, так и с радиусом кожи и без.Изменение реституции будет влиять на то, сколько времени потребуется, чтобы закончить в своем горизонтальном / вертикальном устойчивом состоянии;но, тем не менее, он всегда достигал этого.
Эффект, возможно, связан с (на основании того, что, по утверждениям, происходило в отношении скорости, влияющей на угол отражения в пространстве без гравитации): http://www.box2d.org/forum/viewtopic.php?f=3&t=7716