Физика затылка: проблема столкновения (перемещение по плиткам)

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

(видео выпуска: https://www.youtube.com/watch?v=wLAAHyinOVE)

(Интерактивная демонстрация проблемы: http://snkygames.com/InputSceneTest)

Кто-нибудь еще встречался с этим вопросом? Любые решения предложения.

Проблема все еще возникает, если я разрешаю вращение тела. Проблема все еще возникает, если я использую прямоугольник в качестве многоугольника вместо круга.

Код:

//character
//material: elasticity=0.650, frictionDynamic=0.570, frictionStatic=1.200, density=1.000, frictionRolling=0.000
<body>.shapes.add(new Circle(16, null, <material>));
var vel:Vec2 = <body>.velocity;
<body>.velocity = Vec2.weak(vel.x + +/-2000.000 * 0.020, vel.y + 0.000);

//nape
<gravity> = new Vec2(0.000, 400.000);
<space>.step(***, 10, 10);

//rectangle tile
//material: elasticity=0.000, frictionDynamic=1.000, frictionStatic=1.000, density=1.000, frictionRolling=0.000
<body>.shapes.add(new Polygon(Polygon.box(<width>, <height>), <material>));

0 ответов

Другие вопросы по тегам