minor fix in friction anchors for btMultiBody

This commit is contained in:
Erwin Coumans
2017-03-21 09:24:00 -07:00
parent 0c874aa43a
commit 61b28621ea

View File

@@ -543,7 +543,11 @@ void btMultiBodyConstraintSolver::setupMultiBodyContactConstraint(btMultiBodySol
btScalar positionalError = 0.f; btScalar positionalError = 0.f;
btScalar velocityError = restitution - rel_vel;// * damping; //note for friction restitution is always set to 0 (check above) so it is acutally velocityError = -rel_vel for friction btScalar velocityError = restitution - rel_vel;// * damping; //note for friction restitution is always set to 0 (check above) so it is acutally velocityError = -rel_vel for friction
if (isFriction)
{
positionalError = -distance * erp/infoGlobal.m_timeStep;
} else
{
if (distance>0) if (distance>0)
{ {
positionalError = 0; positionalError = 0;
@@ -553,6 +557,7 @@ void btMultiBodyConstraintSolver::setupMultiBodyContactConstraint(btMultiBodySol
{ {
positionalError = -distance * erp/infoGlobal.m_timeStep; positionalError = -distance * erp/infoGlobal.m_timeStep;
} }
}
btScalar penetrationImpulse = positionalError*solverConstraint.m_jacDiagABInv; btScalar penetrationImpulse = positionalError*solverConstraint.m_jacDiagABInv;
btScalar velocityImpulse = velocityError *solverConstraint.m_jacDiagABInv; btScalar velocityImpulse = velocityError *solverConstraint.m_jacDiagABInv;