diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-05-26 07:58:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-26 07:58:03 +0200 |
commit | a71b0830ab79709ec7f6daa1c9a03c6de6e9f83b (patch) | |
tree | caf3d1aa32a5c6f3c44dfa4bdd4a89c4b10da05c /scene/3d | |
parent | ca9b7f422f0fcc111b038e5dfa85879dc805e410 (diff) | |
parent | 660bebec94a6e4ce6b0d5c5e4af8ec8403845009 (diff) |
Merge pull request #19169 from BastiaanOlij/fix_zero_roll_influence
Check for 0 roll influence
Diffstat (limited to 'scene/3d')
-rw-r--r-- | scene/3d/vehicle_body.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp index ee8d249981..385956dc16 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); |