|
|
@ -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; |
|
|
|