浏览代码

Add wakeup() conditional if previous gravity was 0

Brennen Green 3 年之前
父节点
当前提交
37993f0c0c
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 3 0
      servers/physics_2d/godot_body_2d.cpp
  2. 3 0
      servers/physics_3d/godot_body_3d.cpp

+ 3 - 0
servers/physics_2d/godot_body_2d.cpp

@@ -185,6 +185,9 @@ void GodotBody2D::set_param(PhysicsServer2D::BodyParameter p_param, const Varian
 			_update_transform_dependent();
 		} break;
 		case PhysicsServer2D::BODY_PARAM_GRAVITY_SCALE: {
+			if (Math::is_zero_approx(gravity_scale)) {
+				wakeup();
+			}
 			gravity_scale = p_value;
 		} break;
 		case PhysicsServer2D::BODY_PARAM_LINEAR_DAMP_MODE: {

+ 3 - 0
servers/physics_3d/godot_body_3d.cpp

@@ -227,6 +227,9 @@ void GodotBody3D::set_param(PhysicsServer3D::BodyParameter p_param, const Varian
 			_update_transform_dependent();
 		} break;
 		case PhysicsServer3D::BODY_PARAM_GRAVITY_SCALE: {
+			if (Math::is_zero_approx(gravity_scale)) {
+				wakeup();
+			}
 			gravity_scale = p_value;
 		} break;
 		case PhysicsServer3D::BODY_PARAM_LINEAR_DAMP_MODE: {