summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2018-05-26 08:26:39 +1000
committerBastiaan Olij <mux213@gmail.com>2018-05-26 08:26:39 +1000
commit660bebec94a6e4ce6b0d5c5e4af8ec8403845009 (patch)
treecaf3d1aa32a5c6f3c44dfa4bdd4a89c4b10da05c /scene
parentca9b7f422f0fcc111b038e5dfa85879dc805e410 (diff)
Check for 0 roll influence
Diffstat (limited to 'scene')
-rw-r--r--scene/3d/vehicle_body.cpp11
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);