Merge pull request #1032 from erwincoumans/master
minor fix in friction anchors for btMultiBody
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user