diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-11-18 09:14:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-18 09:14:03 +0100 |
commit | 27691637ab535ff7995ffde3b1fb13019ab5f04f (patch) | |
tree | 7b44d0eac09d605394f2a227e1ad9d5c09180434 /servers/physics_3d/godot_collision_solver_3d.cpp | |
parent | 15062513c01a835f59d9c905e5e65a7002d6c370 (diff) | |
parent | d630269593d485ff8c9010d7ad6cca7c32cf93a6 (diff) |
Merge pull request #55073 from nekomatata/fix-backface-collision
Diffstat (limited to 'servers/physics_3d/godot_collision_solver_3d.cpp')
-rw-r--r-- | servers/physics_3d/godot_collision_solver_3d.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/servers/physics_3d/godot_collision_solver_3d.cpp b/servers/physics_3d/godot_collision_solver_3d.cpp index 686f3e4d59..540b16c6e3 100644 --- a/servers/physics_3d/godot_collision_solver_3d.cpp +++ b/servers/physics_3d/godot_collision_solver_3d.cpp @@ -264,7 +264,7 @@ bool GodotCollisionSolver3D::solve_soft_body(const GodotShape3D *p_shape_A, cons local_aabb.size[i] = smax - smin; } - concave_shape_A->cull(local_aabb, soft_body_concave_callback, &query_cinfo); + concave_shape_A->cull(local_aabb, soft_body_concave_callback, &query_cinfo, true); } else { AABB shape_aabb = p_transform_A.xform(p_shape_A->get_aabb()); shape_aabb.grow_by(collision_margin); @@ -346,7 +346,7 @@ bool GodotCollisionSolver3D::solve_concave(const GodotShape3D *p_shape_A, const local_aabb.size[i] = smax - smin; } - concave_B->cull(local_aabb, concave_callback, &cinfo); + concave_B->cull(local_aabb, concave_callback, &cinfo, false); return cinfo.collided; } @@ -559,7 +559,7 @@ bool GodotCollisionSolver3D::solve_distance(const GodotShape3D *p_shape_A, const local_aabb.size[i] = smax - smin; } - concave_B->cull(local_aabb, concave_distance_callback, &cinfo); + concave_B->cull(local_aabb, concave_distance_callback, &cinfo, false); if (!cinfo.collided) { r_point_A = cinfo.close_A; r_point_B = cinfo.close_B; |