diff options
author | Andrea Catania <info@andreacatania.com> | 2019-02-18 14:15:27 +0100 |
---|---|---|
committer | Andrea Catania <info@andreacatania.com> | 2019-02-18 14:15:27 +0100 |
commit | 66420aea9cd6bd4ea393594551c543e688e27673 (patch) | |
tree | 075301e5db01200a8f79d923c323547e642f2f7a | |
parent | 90d05cbe30ac1fe88b2371b1f8f7ed06afa449a0 (diff) |
Fixed area collision report with concave
-rw-r--r-- | modules/bullet/space_bullet.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/bullet/space_bullet.cpp b/modules/bullet/space_bullet.cpp index f657a5e4fd..c93220fc17 100644 --- a/modules/bullet/space_bullet.cpp +++ b/modules/bullet/space_bullet.cpp @@ -686,7 +686,7 @@ void SpaceBullet::check_ghost_overlaps() { btVector3 other_body_scale(otherObject->get_bt_body_scale()); if (!area->is_transform_changed() && !otherObject->is_transform_changed()) { - hasOverlap = true; + hasOverlap = -1 != area->find_overlapping_object(otherObject); goto collision_found; } @@ -715,6 +715,9 @@ void SpaceBullet::check_ghost_overlaps() { other_body_shape = static_cast<btCollisionShape *>(otherObject->get_bt_shape(z)); + if (other_body_shape->isConcave()) + continue; + btTransform other_shape_transform(otherObject->get_bt_shape_transform(z)); other_shape_transform.getOrigin() *= other_body_scale; |