-
-
Notifications
You must be signed in to change notification settings - Fork 20.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KinematicBody3D with move_and_slide() does unreliable is_on_floor() detection when nearly on platform's edge #45219
Comments
Confirmed in 3.2.4 beta 6. |
Btw I noticed that C# script handles IsOnFloor more correctly than GDScript. Godot version:
C# - IsOnFloor_bug_cs.zip |
In 3.3.2, I can't reproduce this issue with Godot Physics (tested with the original MRP and in 2D with the test from #45219 (comment)). Please confirm so this issue can be marked as Bullet-only. |
I also can't reproduce this issue in 3.3.2 as shown in the screen recording below: 2.mp4 |
So it seems the GodotPhysics bug was fixed in 3.3.2 or earlier (maybe 3.3). The Bullet specific issue is a duplicate of #45058. |
Godot version:
OS/device including version:
Issue description:
Since GodotPhysics has an issue #45060 that causes the KinematicBody3D to move bumpy/jittering on a flat surface, as a solution, I put the is_on_floor() condition to only apply the gravity when the body is not on the floor.
However, when the body is nearly on the edge of the platform, the is_on_floor() flickeringly returns true and false even though the body is always on the floor, as shown in the screen recording below (from 0:17 onward):
2021-01-15.16-44-38.mp4
Steps to reproduce:
Minimal reproduction project:
test.zip
The text was updated successfully, but these errors were encountered: