- Edited
For some reason, is_on_wall is returning as true when a kinematic body is placed either next to the side of or above a cube mesh (with proper cube collision) placed from a gridmap. is_on_floor is never triggered, what could be the issue?
In these screenshots, the 2D sprite of sonic is the kinematic body, it has a collision box of just slightly larger than the sprite itself, extended on the z-axis obviously, and a print command is set up to print when is_on_floor or _is_on_wall is triggered.
One thing to note is that there seems to be an elevation at the corners of the cubes placed from the GridMap, where the kinemtaic body lifts up slightly when crossing the edge of a cube and especially high while on the corner inbetween 4 cubes. The collision set on the mesh is a perfect cube surrounding the block, so I'm not sure what is wrong. (details of the collision shape and the problem in question shown below)
there is a shadow raycasted directly below the player at it's center so you can see how it is floating above ground slightly
UPDATE: Even a plain staticbody with a box collision and box mesh is not returning is_on_floor! What's going on??