Hello there,
I've been trying to implement a custom test that checks whether my character is on the floor or not, since the default one works through move_and_slide, which can be buggy. I guess I could do it via a RayCast, but my current method simply performs a test_move(global_transform, Vector.DOWN) and uses the result. However, I've found inconsistent behavior when working with this method. Most of the time it works as expected, but there are peculiar areas on some of the meshes I'm working with where the expectations are shattered. Curiously, the problem occurs only when using collision shapes auto-generated by Godot's "Create Trimesh Static Body".
Consider this, for instance:
In these two screenshots (please disregard the RayCasts), the function evaluates to "false" even though the character is able to stand on the platform.


Upon moving back a couple of paces, however, -- still standing on the same collision shape, mind you -- it changes to "true".

My question is: how might this be? It doesn't even matter if I drastically increase the length of the Vector3.DOWN to 10, so the problem must reside elsewhere. I'd be glad if you could help me figure this one out!
Thanks a bunch in advance!