-
Notifications
You must be signed in to change notification settings - Fork 287
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
Incorrect behavior of BulletCollisionDetector for group-group check #717
Comments
I am not sure how to interpret this bug. I see two possibilities about
Which of these is true? |
Both.
It couldn't be efficient as
To make this to work correctly, we should set the proper collision mask when the collision objects are added |
I am still not sure what the current behavior is. What is the outcome if I attempt to perform a group-group check with Bullet in the current |
Suppose we have object1 in group1, and also have object2 and object3 in group2 where only object2 and object3 are colliding. In this case, we would expect group1-group2 returns false because the testing pairs should be object1-object2 and object1-object3 (objects in group1 against object in group2). However, BulletCollisionDetector would have all the objects in one group, which is temporarily created in collide() function, and check all the possible pairs including object2-object3. So it would return true, which is not correct behavior. |
I see. That is a pretty major bug. 😰 If we can't easily fix this in the 6.0.0 release, perhaps we can add a warning to |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
Fixed in 6.11.0 by #1585 |
Collision checking for two collision groups should the test pairs of two objects from different groups rather than from one group. However, it was not straightforward to implement
BulletCollisionDetector
to work so since I couldn't find a way of using bullet's collision masks or filter callback after the collision objects are added tobtCollisionWorld
to update the collision pairs.The text was updated successfully, but these errors were encountered: