You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using KinematicBody2D's move_and_slide or move_and_slide_with_snap to enact gravity, I've noticed that when a body is exactly on the diagonal edge of a tile:
is_on_floor() returns false
is_on_wall() returns true
The body can't travel any further, but keeps gaining velocity (when setting it from the result of move_and_slide)
So we essentially end up with a Mario 64 speedrunner's dream:
Interestingly, the value of y tends to fluctuate, and sometimes (seemingly non-deterministically) the body unhooks itself and so goes flying downwards.
Steps to reproduce:
Position a KinematicBody2D on the edge of a tile
Apply gravity to it
Note the weird behaviour of its position and velocity
Godot version:
3.2.3-official
OS/device including version:
Ubuntu Linux 20.04
Issue description:
Possibly related to #33833.
When using
KinematicBody2D
'smove_and_slide
ormove_and_slide_with_snap
to enact gravity, I've noticed that when a body is exactly on the diagonal edge of a tile:is_on_floor()
returns falseis_on_wall()
returns truemove_and_slide
)So we essentially end up with a Mario 64 speedrunner's dream:
Interestingly, the value of
y
tends to fluctuate, and sometimes (seemingly non-deterministically) the body unhooks itself and so goes flying downwards.Steps to reproduce:
KinematicBody2D
on the edge of a tileMinimal reproduction project:
floor-wall-test.zip
The text was updated successfully, but these errors were encountered: