I'm trying to make a simple retro platformer as my first project and I want my character to be able to jump into pixel-perfect holes. I found some hints here, made the hitbox smaller with larger collision margins, it helped a little bit as he can now move inside the holes just fine.
Problem is, at 60 physics fps the character fails to find the hole at higher speeds and considers it a wall. Upping the fps works, but also breaks is_on_wall()
which now always returns 'false' unless I lower the collision margins.
I tried different combinations of physics fps, hitbox size and margins and couldn't find one that consistently would both allow for entering the hole at high enough speed and wouldn't break is_on_wall()
or, in some cases, is_on_ceiling()
and is_on_floor()
.
I'm very new to Godot, so any hints on how to achieve consistent behavior like this would be appreciated.
