Есть персонаж-прямоугольник, который умеет ходить, бегать и прыгать.
Весь игровой мир состоит преимущественно из блоков одинакового размера (некоторые из них могут быть треугольными (склоны) или в редких случаях повторять текстуру по форме)
Первая проблема в том, что при беге или скольжении персонаж спотыкается об угол блока и останавливается, как будто врезался в стенку (если отойти назад и попытаться пройти ещё раз, то уже не спотыкается)
Та же проблема возникает если персонаж падает уткнувшись в стену, и с некоторой вероятностью так же спотыкается об угол и стоит на угле, пока он не подпрыгнет или не сделает микро-шаг в стону.
Одновременно с этим, я хочу научить персонажа переходить с блока на блок если он движется с достаточной скоростью:
Но это невозможно даже на сверх скорости, персонаж всё равно спотыкается и падает между блоками
Я предполагаю, что мне нужно добавить модификацию в проверку столкновений и поднимать персонажа до уровня блока, если он врезался в блок на глубину, например, в 3-5 пикселей (0.3-0.5 метров) при скорости не менее одного метра в секунду (в любом направлении).
Делать закруглённые углы фигуре персонажу помогло, но я не хочу прибегать к этому выходу, потому что персонажу нужно цепляться за угол блока не соскальзывая с обрыва.