Browse Source

Transform CSGShape collision when necessary

hoontee 5 years ago
parent
commit
fc8574fbac
1 changed files with 6 additions and 0 deletions
  1. 6 0
      modules/csg/csg_shape.cpp

+ 6 - 0
modules/csg/csg_shape.cpp

@@ -511,6 +511,12 @@ void CSGShape3D::_notification(int p_what) {
 		_make_dirty();
 	}
 
+	if (p_what == NOTIFICATION_TRANSFORM_CHANGED) {
+		if (use_collision && is_root_shape() && root_collision_instance.is_valid()) {
+			PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
+		}
+	}
+
 	if (p_what == NOTIFICATION_LOCAL_TRANSFORM_CHANGED) {
 		if (parent) {
 			parent->_make_dirty();