Merge pull request #391 from NemesisMate/patch-5

Fixed BetterCharacterControl "flickering" when not moving.
cleanup_build_scripts
normen 9 years ago
commit fd4f9789cc
  1. 4
      jme3-bullet/src/common/java/com/jme3/bullet/control/BetterCharacterControl.java

@ -171,6 +171,8 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
} }
TempVars vars = TempVars.get(); TempVars vars = TempVars.get();
Vector3f currentVelocity = vars.vect2.set(velocity);
// dampen existing x/z forces // dampen existing x/z forces
float existingLeftVelocity = velocity.dot(localLeft); float existingLeftVelocity = velocity.dot(localLeft);
float existingForwardVelocity = velocity.dot(localForward); float existingForwardVelocity = velocity.dot(localForward);
@ -194,7 +196,7 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
//add resulting vector to existing velocity //add resulting vector to existing velocity
velocity.addLocal(localWalkDirection); velocity.addLocal(localWalkDirection);
} }
rigidBody.setLinearVelocity(velocity); if(currentVelocity.distance(velocity) > FastMath.ZERO_TOLERANCE) rigidBody.setLinearVelocity(velocity);
if (jump) { if (jump) {
//TODO: precalculate jump force //TODO: precalculate jump force
Vector3f rotatedJumpForce = vars.vect1; Vector3f rotatedJumpForce = vars.vect1;

Loading…
Cancel
Save