From b2d433c4a81f148e2c022fcdef10f903029b6347 Mon Sep 17 00:00:00 2001 From: Jon Ring Date: Tue, 18 Jun 2019 17:40:49 -0400 Subject: [PATCH] Prevent VehicleBody contact damping from exceeding the baseline value when roll influence is very small. When contact damping exceeds 1.0, the wheels will lose grip when the vehicle is not moving. --- scene/3d/vehicle_body.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp index 32b8219ee03..55bb7eabd9d 100644 --- a/scene/3d/vehicle_body.cpp +++ b/scene/3d/vehicle_body.cpp @@ -585,7 +585,7 @@ void VehicleBody::_resolve_single_bilateral(PhysicsDirectBodyState *s, const Vec if (p_rollInfluence > 0.0) { // !BAS! But seeing we apply this frame by frame, makes more sense to me to make this time based // keeping in mind our anti roll factor if it is set - contactDamping = s->get_step() / p_rollInfluence; + contactDamping = MIN(contactDamping, s->get_step() / p_rollInfluence); } #define ONLY_USE_LINEAR_MASS