@TwistedTwigleg said:
Welcome to the forums @Sv1net!
How are you applying gravity to the player? My hunch is that the issue is that is_on_floor
(assuming that is what you are using) is the issue when on the seam of the collider, and so it's toggling on and off gravity which is leading the character to be stuck.
That said, it does seem kinda strange that it occurs only on the seams. Do the floors collision bodies overlap any? If not, maybe see if overlapping them slightly fixes it?
Thanks for your response!
About overlapping: I had same thought but it doesn't work.
About gravity: gravity applies all the time it looks like
velocity.y += gravity * delta;
velocity = MoveAndSlide(velocity);
I tried not to apply gravity if a player is on the floor and the result almost the same - if the player stands on two blocks he kinda falls through them (Y position gets a bit bigger, but IsOnFloor()== true) while walking.
not applying gravity looks like
velocity.y += gravity * delta;
if (IsOnFloor()) velocity.y = 0;
velocity = MoveAndSlide(velocity);
And what is confusing me as well it's if I apply gravity and use MoveAndSlide even on a long whole ground collider it slightly changes Y position. Looks like it something with calculating collisions between colliders. After all if a physic body on the floor and gravity is applied it should not change his vertical position like in the real world.