godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.89k stars 21.14k forks source link

[Bullet] KinematicBody slides on collision box, but doesn't on a plane #26550

Open Zylann opened 5 years ago

Zylann commented 5 years ago

Godot 3.1 beta10

After being confused about what #17893 became, I decided to recreate an issue about the initial point: If you move a KinematicBody with move_and_slide(), and make it move towards a box, it will slide on it. However, if you move towards a plane, it will get stuck in it and doesn't slide. This is unexpected, it should slide just like with the box.

I want to emphazise that in my project I use Rigidbodies and they slide just fine on planes, which I use for the floor of the world. I don't see any reason why Planes would be some sort of exception when using KinematicBodies, besides being inconsistent. The fact they are infinite surely prevents making holes or doors, but that's the normal behavior of planes, you may actually want that.

This project demonstrates the problem: KinematicBodyOnPlane.zip

I see several other issues where the bottom line always ends up as "it's not meant to be walkable", or "it's infinite". Those are not explanatory enough to me. The Plane shape exists and is different from a huge quad because it doesn't need to specify a size and doesn't seem to suffer from tunnelling. Also, it's there, and working in every other case.

So I see two options:

abhinavsagar commented 5 years ago

I dont think that is a bug as plane shape is infinite in Godot. To see its effect use some navmesh like covering structured over it .

Zylann commented 5 years ago

I dont think that is a bug as plane shape is infinite in Godot

How is that related to the fact a rigidbody slides on it but a kinematic doesn't?

pouleyKetchoupp commented 3 years ago

Can be still reproduced in 3.2.4 beta 5, but occurs only when using Bullet Physics (default settings). Switching to Godot Physics 3D fixes the issue.

akien-mga commented 2 years ago

This seems still reproducible in 3.5 RC 1.