summaryrefslogtreecommitdiff
path: root/servers/physics_3d
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-01-14 20:44:19 +0100
committerGitHub <noreply@github.com>2021-01-14 20:44:19 +0100
commit011d201046d3957e5232435fd560f803798c26f9 (patch)
tree048cc13805fe1e9aeb55b2fd0586b28ee2e77a6b /servers/physics_3d
parente3b523a0887be350626b46a08cee87e5b5b3b78b (diff)
parent356a2b72353ea8a0e7d3319834ff1de689d8f94c (diff)
Merge pull request #43923 from madmiraal/fix-43588
Fix cast_motion sometimes failing
Diffstat (limited to 'servers/physics_3d')
-rw-r--r--servers/physics_3d/space_3d_sw.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/servers/physics_3d/space_3d_sw.cpp b/servers/physics_3d/space_3d_sw.cpp
index 0395a3339c..6cc7ad2676 100644
--- a/servers/physics_3d/space_3d_sw.cpp
+++ b/servers/physics_3d/space_3d_sw.cpp
@@ -274,11 +274,11 @@ bool PhysicsDirectSpaceState3DSW::cast_motion(const RID &p_shape, const Transfor
continue;
}
- //test initial overlap
+ //test initial overlap, ignore objects it's inside of.
sep_axis = p_motion.normalized();
if (!CollisionSolver3DSW::solve_distance(shape, p_xform, col_obj->get_shape(shape_idx), col_obj_xform, point_A, point_B, aabb, &sep_axis)) {
- return false;
+ continue;
}
//just do kinematic solving