-
Notifications
You must be signed in to change notification settings - Fork 437
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
Bounce on edge between two touching cubes #717
Comments
What convex radius did you use? With the default convex radius the collision of the boxes will actually look like this: So there will be a gap between the two boxes. That said, Jolt doesn't currently do 'contact welding' between different objects, meaning that even though you do not see an edge here, there is one and the sphere can collide with it. Note that this bug is very similar to godot-jolt/godot-jolt#587 so you can look there for some more parameters you can tweak. In any case, this is an area that I will be working on. |
Just to avoid any confusion, since I took some creative liberties when naming some of those settings, the settings highlighted in that issue are (in order) |
Default radius. Also tried with different values, both smaller and bigger, results were even worse. Tweaking values from godot-jolt/godot-jolt#587 helped a bit, but it's still not perfect |
Hello, I submitted a potential fix for this issue (set BodyCreationSettings::mEnhancedInternalEdgeRemoval = true). I wrote some documentation for this new functionality here. Please note that you'll have to make your boxes be part of the same body or else the algorithm will not work. Because of the way Jolt multithreads collision detection, collisions between different body pairs run on different threads, so it is very difficult to make this algorithm work across bodies. |
I also posted a video of the results here: https://x.com/jrouwe/status/1748821475623088550?s=20 |
Steps to reproduce:
Expected result:
ball should not bounce on flat surface
The text was updated successfully, but these errors were encountered: