mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Test collision mask before creating constraint pair in Godot physics
broadphase 2D and 3D.
This commit is contained in:
@@ -996,6 +996,9 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve
|
||||
}
|
||||
|
||||
void *SpaceSW::_broadphase_pair(CollisionObjectSW *A, int p_subindex_A, CollisionObjectSW *B, int p_subindex_B, void *p_self) {
|
||||
if (!A->test_collision_mask(B)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
CollisionObjectSW::Type type_A = A->get_type();
|
||||
CollisionObjectSW::Type type_B = B->get_type();
|
||||
@@ -1034,6 +1037,9 @@ void *SpaceSW::_broadphase_pair(CollisionObjectSW *A, int p_subindex_A, Collisio
|
||||
}
|
||||
|
||||
void SpaceSW::_broadphase_unpair(CollisionObjectSW *A, int p_subindex_A, CollisionObjectSW *B, int p_subindex_B, void *p_data, void *p_self) {
|
||||
if (!p_data) {
|
||||
return;
|
||||
}
|
||||
|
||||
SpaceSW *self = (SpaceSW *)p_self;
|
||||
self->collision_pairs--;
|
||||
|
||||
Reference in New Issue
Block a user