From 13798746e7fb236930711e8c6a36fe55bcde6e5d Mon Sep 17 00:00:00 2001 From: Marcel Admiraal Date: Mon, 14 Oct 2019 16:19:15 +0200 Subject: Activate Body(2D)SW when switching to rigid or character mode. --- servers/physics/body_sw.cpp | 2 ++ servers/physics_2d/body_2d_sw.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/servers/physics/body_sw.cpp b/servers/physics/body_sw.cpp index 7d575c57ae..ba98e14d2e 100644 --- a/servers/physics/body_sw.cpp +++ b/servers/physics/body_sw.cpp @@ -260,12 +260,14 @@ void BodySW::set_mode(PhysicsServer::BodyMode p_mode) { _inv_mass = mass > 0 ? (1.0 / mass) : 0; _set_static(false); + set_active(true); } break; case PhysicsServer::BODY_MODE_CHARACTER: { _inv_mass = mass > 0 ? (1.0 / mass) : 0; _set_static(false); + set_active(true); angular_velocity = Vector3(); } break; } diff --git a/servers/physics_2d/body_2d_sw.cpp b/servers/physics_2d/body_2d_sw.cpp index f9939e3843..de1dfc9ee7 100644 --- a/servers/physics_2d/body_2d_sw.cpp +++ b/servers/physics_2d/body_2d_sw.cpp @@ -238,6 +238,7 @@ void Body2DSW::set_mode(Physics2DServer::BodyMode p_mode) { _inv_mass = mass > 0 ? (1.0 / mass) : 0; _inv_inertia = inertia > 0 ? (1.0 / inertia) : 0; _set_static(false); + set_active(true); } break; 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_inertia = 0; _set_static(false); + set_active(true); angular_velocity = 0; } break; } -- cgit v1.2.3