Merge pull request #1032 from erwincoumans/master

minor fix in friction anchors for btMultiBody
This commit is contained in:
erwincoumans
2017-03-21 11:49:42 -07:00
committed by GitHub

View File

@@ -543,15 +543,20 @@ 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)
if (distance>0)
{
positionalError = 0;
velocityError -= distance / infoGlobal.m_timeStep;
} else
{ {
positionalError = -distance * erp/infoGlobal.m_timeStep; positionalError = -distance * erp/infoGlobal.m_timeStep;
} else
{
if (distance>0)
{
positionalError = 0;
velocityError -= distance / infoGlobal.m_timeStep;
} else
{
positionalError = -distance * erp/infoGlobal.m_timeStep;
}
} }
btScalar penetrationImpulse = positionalError*solverConstraint.m_jacDiagABInv; btScalar penetrationImpulse = positionalError*solverConstraint.m_jacDiagABInv;