summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Catania <info@andreacatania.com>2019-02-18 14:15:27 +0100
committerAndrea Catania <info@andreacatania.com>2019-02-18 14:15:27 +0100
commit66420aea9cd6bd4ea393594551c543e688e27673 (patch)
tree075301e5db01200a8f79d923c323547e642f2f7a
parent90d05cbe30ac1fe88b2371b1f8f7ed06afa449a0 (diff)
Fixed area collision report with concave
-rw-r--r--modules/bullet/space_bullet.cpp5
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;