-
-
Notifications
You must be signed in to change notification settings - Fork 21.7k
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
is_on_floor() doesn't work with _process(delta) and high FPS on trimesh collision #36009
Comments
Well, it's rather expected that you need to use physics methods inside |
Probably related? #35780 |
I use _process for the player because the camera scrolling and player movement is smoother when moving at 100+ fps. :/ However the minimal reproduction project has me standing on_floor when standing still and only lifting off the ground when moving. |
It's probably a better idea to use |
Closing, only do physic things in |
Godot version:
3.2 Stable
OS/device including version:
Linux 5.5.2-arch1-1
Issue description:
If you use
is_on_floor()
and the kinematic body is on a on an uneven trimesh collision,is_on_floor()
returns false, if you callmove_and_slide()
with_process(delta)
AND you have high FPS.Steps to reproduce:
Create a uneven mesh.
Give the mesh a trimesh collision.
Place a Kinematic body
Attach a script to the Kinematic body
Use
_process(delta)
instead of _physics_process(delta)Disable VSYNC to make sure having high FPS
Minimal reproduction project:
https://github.com/JupiterRider/is_on_floor_issue
The text was updated successfully, but these errors were encountered: