Fix physics queries not filtering out disabled collision shapes #45863
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.
This change allows
collide_shape
,intersect_shape
,cast_motion
andrest_info
in both 2D and 3D to ignore disabled shapes and make them consistent with the physics simulation when testing for collision against the physics space.In some other cases,
_cull_aabb_for_body
is used and filters shapes out internally, but whenever a physics query uses the broadphase directly without calling_cull_aabb_for_body
, disabled shapes can be returned and need to be filtered out.It looks like there's no issue reported about this bug, so it's probably safer to fix it only on master for now as some users might rely on the current behavior in 3.2.