FPS Controller shaking near floor intersections (3D)

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Helgrind

Hey everyone !

I’m using the FPS controller from the Godot’s FPS tutorial.
I resized the player to fit the convention 1 Godot Unit = 1 meter. My floors tiles are 3*3 m² so I can have a modular level design.

My problem is that when I’m near intersections of 4 floors tiles, the player seems to have difficulties detecting collisions. He begins to shakes which is visible and annoying and the is_on_floor is not sure if the collision is there or not.

Weirdly enough, if I let everything at a bigger scale, it doesn’t happen.


I’ve tried :

  • Using move_and_slide_with_snape with a vector (0,-1,0) : It’s a bit better but still buggy.
  • Changing the safe margin of Kinematic Body.
  • Playing a bit with collision margins.
  • Recalculate normals and stuff on Blender. But the problem happens with CSG Mesh too.

I made a minimal project showing the problem :

You can stand on the red cylinder to see the problem (The red cylinder has no collisions).

Thanks for the help