summaryrefslogtreecommitdiff
path: root/servers/physics_3d/space_3d_sw.cpp
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-08-16 16:32:04 +0200
committerGitHub <noreply@github.com>2021-08-16 16:32:04 +0200
commit7013199fb1f9990f8a3173d9557ccb38b1dbcadf (patch)
tree3706c32a3815d20ab2107d9bcb4e67a94b435bbc /servers/physics_3d/space_3d_sw.cpp
parent5d5e7418f9dbe0e46673d736a8d1e45afeddbc73 (diff)
parent14640fb6c555ac5e2298f0c2b5091e1c70991f9c (diff)
Merge pull request #50785 from jeffrey-cochran/softbody-areas
Updated softbody handling to allow for area/softbody collision detection and application of area gravity
Diffstat (limited to 'servers/physics_3d/space_3d_sw.cpp')
-rw-r--r--servers/physics_3d/space_3d_sw.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/servers/physics_3d/space_3d_sw.cpp b/servers/physics_3d/space_3d_sw.cpp
index 730460d66a..b90730ad23 100644
--- a/servers/physics_3d/space_3d_sw.cpp
+++ b/servers/physics_3d/space_3d_sw.cpp
@@ -921,7 +921,9 @@ void *Space3DSW::_broadphase_pair(CollisionObject3DSW *A, int p_subindex_A, Coll
Area2Pair3DSW *area2_pair = memnew(Area2Pair3DSW(area_b, p_subindex_B, area, p_subindex_A));
return area2_pair;
} else if (type_B == CollisionObject3DSW::TYPE_SOFT_BODY) {
- // Area/Soft Body, not supported.
+ SoftBody3DSW *softbody = static_cast<SoftBody3DSW *>(B);
+ AreaSoftBodyPair3DSW *soft_area_pair = memnew(AreaSoftBodyPair3DSW(softbody, p_subindex_B, area, p_subindex_A));
+ return soft_area_pair;
} else {
Body3DSW *body = static_cast<Body3DSW *>(B);
AreaPair3DSW *area_pair = memnew(AreaPair3DSW(body, p_subindex_B, area, p_subindex_A));