Browse Source

Merge pull request #68659 from BimDav/user_inertia

Correctly compute inverse_mass when inertia is defined by the user
Rémi Verschelde 2 years ago
parent
commit
032190fb92
1 changed files with 6 additions and 7 deletions
  1. 6 7
      servers/physics_2d/body_2d_sw.cpp

+ 6 - 7
servers/physics_2d/body_2d_sw.cpp

@@ -44,6 +44,12 @@ void Body2DSW::update_inertias() {
 
 	switch (mode) {
 		case Physics2DServer::BODY_MODE_RIGID: {
+			if (mass) {
+				_inv_mass = 1.0 / mass;
+			} else {
+				_inv_mass = 0;
+			}
+
 			if (user_inertia) {
 				_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
 				break;
@@ -78,13 +84,6 @@ void Body2DSW::update_inertias() {
 			}
 
 			_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
-
-			if (mass) {
-				_inv_mass = 1.0 / mass;
-			} else {
-				_inv_mass = 0;
-			}
-
 		} break;
 		case Physics2DServer::BODY_MODE_KINEMATIC:
 		case Physics2DServer::BODY_MODE_STATIC: {