Haha, that's one thing i never figured out of how to do.
Would be important to move on ice.
But under usual conditions, you can not loose static friction with balancing. You would loose balance long before the foot slides. Be gentle
[/quote]
one more thing Joe, on the movement of the joint, it is actually even simpler. in fact so simple that we can add that right away.
but first let us clarify what I mean by moving the effector.
when the effector moves, it does not necessarily do so, it is a constrained motion.
we are not moving the effector, we are calculation an acceleration that will generate a relative motion. this could be the effector moves or the other body moves or a combinations them moves.
if an effector is unconstrained, a foot on the air) the final result will be a nonzero acceleration on the body. so the effector will move.
bot let us say this effector is controlling a foot that is planted on a floor.
the criteria for if static equilibrium is that the acceleration tangent to the contact normal is zero.
so in this case that effector should not move, but the other bodies should.
so if we iterate over all contacts and we find that any of then has a no zero acceleration tangent to the normal, that's the sign the foot will slide.
that's a solution, however we can do a lot better.
check out the free force body diagram.
- Untitled.png (8.28 KiB) Viewed 3443 times
[quote="JoeJ"]
the red line is the body net acceleration after the solver step
that the state of the body controlled by the effector aft ethe inverse solve is called.
it does no has to be zero.
let us say that somehow some contacts are broken but some are not.
that make a hard problem to determine if the displacement is a good one of not, for example say the body is about to pivot about some contacts.
the problem reduces to projection the red acceleration over the desired displacement and if the resulting value is not zero, it means the foot will slide. but the acceleration can still have a not zero value along other directions.
so how much would we clip the displacement can be as simple at the halving the desire displacement and recalculation the acceleration again.
I guess that but doing tow or tree time should be enough, and if it does not find a good displacement them it mean it will lose support.
so you start by the max displacement, maybe some reasonable caps. calculate acceleration and check is the support effector will slide, if the do half the displacement and try again until it either find a displacement.
that result is that, if it fails the first time it means it will lose equilibrium, but the net try will just try to do some attend to get equilibrium. this is good because even if it does not get equilibrium on the frame it try it best, so in a next frame it might get it.
anyway they are many way of doing this.