Skip to content
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

CCD Filtering is not implemented #754

Open
Ughuuu opened this issue Oct 14, 2024 · 1 comment
Open

CCD Filtering is not implemented #754

Ughuuu opened this issue Oct 14, 2024 · 1 comment

Comments

@Ughuuu
Copy link
Contributor

Ughuuu commented Oct 14, 2024

Right now, filtering in rapier is done in narrow phase only, for contacts and intersections (bodies and areas).
The problem is in case of CCD we don't do any of these filterings, only after it's too late, arriving at cases like these:
appsinacup/godot-rapier-physics#103

The solution would be to either call the filter_contact_pair in the CCD solver:

  • ccd_solver.rs function find_first_impact: This function only takes into account collision bits, so right now it will intersect but generate no contacts, and there is no way to fix this. Another option would be adding another function for custom filtering of CCD collisions.
@Ughuuu
Copy link
Contributor Author

Ughuuu commented Oct 14, 2024

Here is the line where filtering is done for CCD:

if bh1 == bh2 // Ignore self-intersection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants