From 660bebec94a6e4ce6b0d5c5e4af8ec8403845009 Mon Sep 17 00:00:00 2001 From: Bastiaan Olij Date: Sat, 26 May 2018 08:26:39 +1000 Subject: [PATCH] Check for 0 roll influence --- scene/3d/vehicle_body.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp index ee8d249981a..385956dc16c 100644 --- a/scene/3d/vehicle_body.cpp +++ b/scene/3d/vehicle_body.cpp @@ -583,11 +583,14 @@ void VehicleBody::_resolve_single_bilateral(PhysicsDirectBodyState *s, const Vec rel_vel = normal.dot(vel); // !BAS! We had this set to 0.4, in bullet its 0.2 - // real_t contactDamping = real_t(0.2); + real_t contactDamping = real_t(0.2); + + 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; + } - // !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 - real_t contactDamping = s->get_step() / p_rollInfluence; #define ONLY_USE_LINEAR_MASS #ifdef ONLY_USE_LINEAR_MASS real_t massTerm = real_t(1.) / ((1.0 / mass) + b2invmass);