godotengine / godot

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

[TRACKER] GodotPhysics 3D issues #45333

Open pouleyKetchoupp opened 3 years ago

pouleyKetchoupp commented 3 years ago

This tracker is for all physics issues that affect Godot Physics 3D.

Note 1: Issues that are reported on both 2D and 3D are listed here and in #45334.

Note 2: Issues that can be reproduced on both Bullet and Godot Physics are listed here. Bullet-specific issues are listed in #45022.

Note 3: Issues related to features that are currently Bullet-only are listed here when the plan is to implement them in Godot Physics too (soft body, heightmap).

RigidBody

KinematicBody/CharacterBody

Smooth steps

Collision detection

Area

Joints

Raycasting

GridMap

CSG

Ragdoll

SoftBody

VehicleBody

Heightmap

Multi-threading

Other

Editor

Documentation

4.0 refactoring

elvisish commented 1 year ago

stabilize what we have now and which is already usable by many

I'm just not sure Godot Physics are currently usable (for production work), prototypal maybe.

Calinou commented 1 year ago

I am a bit shocked to see a v4 RC1 with all this open issues, meanwhile my Bean Character still get's stuck on the edge of an cube...

Box colliders tend to be a lot more reliable than capsules currently. I recommend sticking to a box collider (and make sure it's not rotated during gameplay).

I have a box collider-based FPS controller in https://github.com/Calinou/godot-demo-projects/tree/add-first-person-shooter and it's working quite reliably overall.

Saul2022 commented 1 year ago

And yes, a lot of issues remain, and they will be fixed after the 4.0 release. We can't block everything waiting for the current WIP physics fixes to be merged. We stabilize what we have now and which is already usable by many, and we'll fix more issues in 4.1.

While i understand it, i think it not quite usable rn,especially on 3d , many users have reported it and i think a better solution would be reimplementing bullet, atleast as a gdextension if there’s time.

elvisish commented 1 year ago

Box colliders tend to be a lot more reliable than capsules currently. I recommend sticking to a box collider (and make sure it's not rotated during gameplay).

This is very true, and I've exclusively used box colliders that don't rotate (AABB, basically) using a child gimbal that's rotated to determine direction of movement. However, the engine is still plagued with issues using a box collider; as far as I'm aware it's still impossible to walk into an angled corridor or into a sloped ceiling that becomes thinner or shorter than the collider without irreparably getting stuck and having to reload the scene.

GrauBlitz commented 1 year ago

Box colliders tend to be a lot more reliable than capsules currently. I recommend sticking to a box collider (and make sure it's not rotated during gameplay).

This is very true, and I've exclusively used box colliders that don't rotate (AABB, basically) using a child gimbal that's rotated to determine direction of movement. However, the engine is still plagued with issues using a box collider; as far as I'm aware it's still impossible to walk into an angled corridor or into a sloped ceiling that becomes thinner or shorter than the collider without irreparably getting stuck and having to reload the scene.

But switching to a box collider should not be necessary for a fully v4 imho, as a capsule collider is a typical Character Controller shaped and recommended in every tutorial, especially for the Unity folk which is watching this engine to switch on v4. Releasing with an instable physics engine could leave many people behind or scare them away.

I am still experiencing many issues, my character controller is getting stuck on any a bit steep angle, independent from the collision shape. I can't walk normally on a procedural generated terrain, i can't walk or jump over a cube without issues, ... i think these are very basic Physic engine usecases and nothing special.

Zireael07 commented 1 year ago

But switching to a box collider should not be necessary for a fully v4 imho

True, but unfortunately "fully v4" won't be what 4.0 is. 4.0 has already been in the works for so long and trying to iron out all the bugs would only delay it by another three months or more IMHO - which is not worth it.

Releasing with an instable physics engine could leave many people behind or scare them away.

Physics have had issues back in 3.x too (actually, most of the problems in the tracker exist in 3.x too). Somehow that didn't scare people away from using 3.x

elvisish commented 1 year ago

my character controller is getting stuck on any a bit steep angle, independent from the collision shape. I can't walk normally on a procedural generated terrain, i can't walk or jump over a cube without issues

I don't think you can use anything but boxes for floors right now, slightly sloped boxes might work but it can't change shape over the shape like terrain would or you'll get stuck.

elvisish commented 1 year ago

True, but unfortunately "fully v4" won't be what 4.0 is. 4.0 has already been in the works for so long and trying to iron out all the bugs would only delay it by another three months or more IMHO - which is not worth it.

If a major (and physics is major) component is completely broken, what is the purpose of releasing 4.0? It's just a number, and there's no shareholders or investors to please so it makes no sense to rush release something that isn't ready yet.

Physics have had issues back in 3.x too (actually, most of the problems in the tracker exist in 3.x too). Somehow that didn't scare people away from using 3.x

Besides the complacency of this, nobody uses Godot Physics in 3.x as it's broken, they use Bullet which isn't broken and was removed in 4.0 (for no particular reason).

GrauBlitz commented 1 year ago

But switching to a box collider should not be necessary for a fully v4 imho

True, but unfortunately "fully v4" won't be what 4.0 is. 4.0 has already been in the works for so long and trying to iron out all the bugs would only delay it by another three months or more IMHO - which is not worth it.

Releasing with an instable physics engine could leave many people behind or scare them away.

Physics have had issues back in 3.x too (actually, most of the problems in the tracker exist in 3.x too). Somehow that didn't scare people away from using 3.x

I never had any issues with v3, but for me 3D development in v4 is plain unusable with the physics and i would not call this "iron out all the bugs" but more like providing a basic feature set of physics. Maybe I'm just not competent enough to setup a simple Character Controller with the v4 templates but I will have to skip v4 and wait for the next versions so i don't understand why releasing v4 in this state is even an option.

akien-mga commented 1 year ago

So I already answered all this here:

https://github.com/godotengine/godot/issues/45333#issuecomment-1424045229

This discussion is going nowhere, so locking. This is a tracker to keep an overview of bug reports, not to rant about Godot's release policy.

We're doing what we can, most other areas are release ready and while physics still has significant known issues, it's not the end of the world and they will be worked on and fixed in future 4.x releases. If you're making a physics based game that can't work in 4.0, you can simply skip this release and wait for a future 4.x release which will fix your issues - but there's no reason to hold the release for the many other use cases which work fine.