Fixed area collision report with concave
This commit is contained in:
parent
90d05cbe30
commit
66420aea9c
@ -686,7 +686,7 @@ void SpaceBullet::check_ghost_overlaps() {
|
|||||||
btVector3 other_body_scale(otherObject->get_bt_body_scale());
|
btVector3 other_body_scale(otherObject->get_bt_body_scale());
|
||||||
|
|
||||||
if (!area->is_transform_changed() && !otherObject->is_transform_changed()) {
|
if (!area->is_transform_changed() && !otherObject->is_transform_changed()) {
|
||||||
hasOverlap = true;
|
hasOverlap = -1 != area->find_overlapping_object(otherObject);
|
||||||
goto collision_found;
|
goto collision_found;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -715,6 +715,9 @@ void SpaceBullet::check_ghost_overlaps() {
|
|||||||
|
|
||||||
other_body_shape = static_cast<btCollisionShape *>(otherObject->get_bt_shape(z));
|
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));
|
btTransform other_shape_transform(otherObject->get_bt_shape_transform(z));
|
||||||
other_shape_transform.getOrigin() *= other_body_scale;
|
other_shape_transform.getOrigin() *= other_body_scale;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user