Hey. I have a set of 4 Raycasts coming out of my player's body. They are all enabled and have their collision mask bit 0 set to true. I also have a TileMap with the same collision mask and layer bit set to true (bit 0). However, while my player collides with the TileMap properly, my raycasts don't.
for raycast in raycasts.get_children():
var angle = acos(Vector2.UP.dot(raycast.get_collision_normal()))
if dot > PI * 0.35 && PI * 0.55:
Additionally, on the TileMap, useparent and usekinematic are set to false, friction is set to 1 and bounce set to 0. I made the collision shapes by selecting a region of the tilesheet with New Single Tile, followed by creating a new collision rectangle. Every other value in the tile is set to their default.
I have a very strong feeling that this behavior happens because of how the engine makes the collision polys for the tiles. It's actually just very thin (0-thickness) lines; For the purposes of one way collision and such. I believe that because of this, raycasts can pass through these walls if cast from close enough. Not sure though.