summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-10-22 12:06:30 +0200
committerGitHub <noreply@github.com>2021-10-22 12:06:30 +0200
commitfe3d62f2dc9a9bb37b6f9a1e17a7f16fa153aca8 (patch)
tree4330a60da312f25cb0025a3d0fa611172406d9d3 /servers
parentbbcf8ac672e4176dc7e52674b9c6a6e973aeb049 (diff)
parentd804c34285b0a8bea9de17d8c99160815d5bbc4d (diff)
Merge pull request #54110 from nekomatata/fix-rigid-body-update-collision-layer
Diffstat (limited to 'servers')
-rw-r--r--servers/physics_2d/godot_body_2d.cpp1
-rw-r--r--servers/physics_3d/godot_body_3d.cpp2
-rw-r--r--servers/physics_3d/godot_physics_server_3d.cpp2
3 files changed, 3 insertions, 2 deletions
diff --git a/servers/physics_2d/godot_body_2d.cpp b/servers/physics_2d/godot_body_2d.cpp
index 68f114a34a..a18c748e1d 100644
--- a/servers/physics_2d/godot_body_2d.cpp
+++ b/servers/physics_2d/godot_body_2d.cpp
@@ -276,6 +276,7 @@ PhysicsServer2D::BodyMode GodotBody2D::get_mode() const {
void GodotBody2D::_shapes_changed() {
_mass_properties_changed();
+ wakeup();
wakeup_neighbours();
}
diff --git a/servers/physics_3d/godot_body_3d.cpp b/servers/physics_3d/godot_body_3d.cpp
index 0564c4d452..02929eeaed 100644
--- a/servers/physics_3d/godot_body_3d.cpp
+++ b/servers/physics_3d/godot_body_3d.cpp
@@ -327,6 +327,8 @@ PhysicsServer3D::BodyMode GodotBody3D::get_mode() const {
void GodotBody3D::_shapes_changed() {
_mass_properties_changed();
+ wakeup();
+ wakeup_neighbours();
}
void GodotBody3D::set_state(PhysicsServer3D::BodyState p_state, const Variant &p_variant) {
diff --git a/servers/physics_3d/godot_physics_server_3d.cpp b/servers/physics_3d/godot_physics_server_3d.cpp
index 34b56e733e..79a2e0b0ea 100644
--- a/servers/physics_3d/godot_physics_server_3d.cpp
+++ b/servers/physics_3d/godot_physics_server_3d.cpp
@@ -584,7 +584,6 @@ void GodotPhysicsServer3D::body_set_collision_layer(RID p_body, uint32_t p_layer
ERR_FAIL_COND(!body);
body->set_collision_layer(p_layer);
- body->wakeup();
}
uint32_t GodotPhysicsServer3D::body_get_collision_layer(RID p_body) const {
@@ -599,7 +598,6 @@ void GodotPhysicsServer3D::body_set_collision_mask(RID p_body, uint32_t p_mask)
ERR_FAIL_COND(!body);
body->set_collision_mask(p_mask);
- body->wakeup();
}
uint32_t GodotPhysicsServer3D::body_get_collision_mask(RID p_body) const {