-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
[Bullet] Fast RigidBody always go through walls and Godot Crash because of Collision #16113
Comments
This is normal, Did you use Constant Collision Detection on rigid body? |
CCD or not, tunneling happens at speeds of ~150+ in the OP example project. |
That was for 2D, this is 3D, @Calinou |
If CCD is on, tunneling should not be happen, with CCD off tunneling is normal. So I've to check why it happens when CCD is on |
IIRC ccd is currently broke |
I ran into this problem yesterday. The CCD did not work for my fast objects. I did some testing, and it seems like the collision detection is working if I increase the object size. For a simple RigidBody Sphere I made the following observations: Another thing that I noticed: I am not an expert at physics simulation, maybe everything above is wrong. I just thought I would drop my thoughts about it here, maybe it's helpful. If there is anything I can do to help (for example testing) that does not involve coding in C++ then I am happy to help as I would like to use CCD in godot. |
Ok please forget what I was saying in the first part of my previous comment:
This was false. I was now able to find other values (for example below 214 for the radius of 1.5) that also do not collide, so it seems like there is no pattern when it works and when not. |
@paul-dosenbrot CCD is supposed to prevent the tunelling in these cases, it seems it do not work at all, you can try switching to Godot Physics and check if fail in the same velocities (I was unable to make godot physics work). Other things that can be checked are if |
Has anyone looked into this? |
Am seeing the same problem (Godot v3.0.6) . Is this bug is in all Godot 3.x versions? And is there any reasonable workaround other than changing to Godot Physics? |
@takeontom a workaround can be making your own tunnelling prevention system, but will depend on each case what you can do to make corrections, predictions... |
I am experiencing the same, I have a custom build (942855a, built today 2018-11-26). |
It seems to not penetrate the statics consistently on 3.1 with the OP project, but keep pressing space and after a few tries the rigid go through the solid. |
This is not a fix, but is an improvement of the CCD thresholds calculation: #28595 Is necessary to open a issue in the bullet github because the ccd is turned off with any threshold. |
i have updated the "CCD doesn't work #2228", let's work together to make it work well. |
Is the updated merge of bullet inside Godot still planned? Hoping that fixes CCD for 3D |
If you refer to bulletphysics/bullet3#2228 (comment), bullet has been updated in June 2019, so it's newer than this comment. |
Bullet is implemented for 3D, but, from my understanding, the intent is to stick with Godot's physics for 2D, since it has some custom behaviors (one-way collision, and things like that). |
This issue is referring to 3D and Bullet Physics. There is a separate issue for CCD on 2D Rigidbody. |
While testing again on 3.2b, I have found that this only happens on rigid mode, CCD seems to be working fine on character mode (at least with the OP example). |
Hi every one, is there any update? |
This issue impacts games which run at a lower physics tickrate (16tick/s -> 32tick/s) a lot more. I have to put speed limits on my rigid bodies to ensure nothing flies through walls. For me, CCD doesn't fix it! This only happens with Bullet for me. |
@nikitavondel: CCD has been broken/not working for a long time. |
This issue seems to still be prevalent in Godot 3.4 |
Is CCD only an option for RigidBody? Would it make sense to have it available on anything that can detect collisions? I'm currently experiencing this problem in Godot 4.0 pre-alpha builds with a fast moving projectile using an Area3D to detect collisions instead of a full-on PhysicsBody, and it also misses collisions with objects it should hit. I'd like it if there was a simple solution, but currently I'm looking into spherecasting between previous and current position to check for missed collisions, but although it's solvable, doing this correctly and finding the point of impact is more work than expected. |
Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.
Godot version:
Godot 3 RC3
Issue description:
Fast moving Rigidbody3D always go through walls
the collision is not always detected .. even if i make the wall thick and add more invisible walls to it .. still go through them
problem number 2 is : when i added a collision to Rigidbody .. everything works fine
select player mesh and : Create Convex collision sibling .. works fine
but when i close the project and i open it again Godot Crash or Close it self
and the way to reopen the project is to open the scene that contain that Collision in a Text editor and remove the line of Collision from there
and in this case , this is the line you must remove from "Level.tscn" to open the project
[node name="PlayerCollisionShape" type="CollisionShape" parent="Player" index="1"]
Steps to reproduce:
use : apply_impulse with higher value inside rigid body
if you set a lower value it will collide well but not for higher value
and this is the project .. if it didn't open for you .. remove the line from Level.tscn in Text editor
Minimal reproduction project:
FastRigidBody.zip
The text was updated successfully, but these errors were encountered: