diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2020-01-05 18:18:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-05 18:18:55 +0100 |
commit | 61dd7748cafafca08b8f87183ddf42de06b58911 (patch) | |
tree | 91fb2196d0c8072965ec2e2dd8c7b882feb86caa | |
parent | 82622d0e4117ad0d4a9e90967d139f178d767b10 (diff) | |
parent | fc1f0d76e713ae49d253dd3934ea79599a70b94a (diff) |
Merge pull request #34839 from madmiraal/fix-34807
Don't update the floor_velocity with the current linear_velocity.
-rw-r--r-- | scene/3d/physics_body.cpp | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index 44dc3d0c26..c2860c25d8 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -1151,17 +1151,8 @@ Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Ve } } - Vector3 current_floor_velocity = floor_velocity; - if (on_floor && on_floor_body.is_valid()) { - //this approach makes sure there is less delay between the actual body velocity and the one we saved - PhysicsDirectBodyState *bs = PhysicsServer::get_singleton()->body_get_direct_state(on_floor_body); - if (bs) { - current_floor_velocity = bs->get_linear_velocity(); - } - } - // Hack in order to work with calling from _process as well as from _physics_process; calling from thread is risky - Vector3 motion = (current_floor_velocity + body_velocity) * (Engine::get_singleton()->is_in_physics_frame() ? get_physics_process_delta_time() : get_process_delta_time()); + Vector3 motion = (floor_velocity + body_velocity) * (Engine::get_singleton()->is_in_physics_frame() ? get_physics_process_delta_time() : get_process_delta_time()); on_floor = false; on_floor_body = RID(); |