Use swept AABBs for collider AABBs #188
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
Collider AABBs are expanded based on the velocities of bodies. This is only done in the direction of linear velocity, but for angular velocity, AABBs are expanded uniformly in all directions. This means that e.g. rotating balls will unnecessarily have their AABBs expanded, which leads to extra overlaps.
Solution
Use
compute_swept_aabb
instead ofcompute_aabb
for computing the AABBs. The end position of the sweep is predicted using the linear and angular velocity. It takes the shape into account, so e.g. rotating balls won't be expanded, but long rotating planks will.