Merge pull request #32845 from madmiraal/rigidbody-mode-change

Activate Body(2D)SW when switching to rigid or character mode.
This commit is contained in:
Rémi Verschelde 2019-10-25 23:36:17 +02:00 committed by GitHub
commit 5cdecb8227
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 0 deletions

View file

@ -260,12 +260,14 @@ void BodySW::set_mode(PhysicsServer::BodyMode p_mode) {
_inv_mass = mass > 0 ? (1.0 / mass) : 0; _inv_mass = mass > 0 ? (1.0 / mass) : 0;
_set_static(false); _set_static(false);
set_active(true);
} break; } break;
case PhysicsServer::BODY_MODE_CHARACTER: { case PhysicsServer::BODY_MODE_CHARACTER: {
_inv_mass = mass > 0 ? (1.0 / mass) : 0; _inv_mass = mass > 0 ? (1.0 / mass) : 0;
_set_static(false); _set_static(false);
set_active(true);
angular_velocity = Vector3(); angular_velocity = Vector3();
} break; } break;
} }

View file

@ -238,6 +238,7 @@ void Body2DSW::set_mode(Physics2DServer::BodyMode p_mode) {
_inv_mass = mass > 0 ? (1.0 / mass) : 0; _inv_mass = mass > 0 ? (1.0 / mass) : 0;
_inv_inertia = inertia > 0 ? (1.0 / inertia) : 0; _inv_inertia = inertia > 0 ? (1.0 / inertia) : 0;
_set_static(false); _set_static(false);
set_active(true);
} break; } break;
case Physics2DServer::BODY_MODE_CHARACTER: { case Physics2DServer::BODY_MODE_CHARACTER: {
@ -245,6 +246,7 @@ void Body2DSW::set_mode(Physics2DServer::BodyMode p_mode) {
_inv_mass = mass > 0 ? (1.0 / mass) : 0; _inv_mass = mass > 0 ? (1.0 / mass) : 0;
_inv_inertia = 0; _inv_inertia = 0;
_set_static(false); _set_static(false);
set_active(true);
angular_velocity = 0; angular_velocity = 0;
} break; } break;
} }