Hey guys,

So this isn't strictly a Python question  (err..not at all) , but
there are a lot of bright minds here and I hoped someone might have
some experience with this since the rigging and python worlds often
overlap.

I'm having an issue where an ik RP solver on a leg will sort of
'freeze up' when the ik handle and the character hit a certain pose.
For instance, everything will work fine when you scrubbed up to frame
50, and then the knee joint would 'lock' to whatever the preferred
angle was set at (i.e., <<0,30,0>>).  The kicker is that you could
then scrub *backwards* and the solver would still be locked.  If you
changed any other inputs to the joints being solved, like the scale
for a stretchy leg, the solver would seem to 'pop' back to solving
correctly.

When rigged,   the joints are oriented to a plane, the handle is
connected while the joints are bent, the pole vector is placed along
this plane, and a preferred angle on the joints is set...so I think
I've got my bases covered there.

So IMO, there's some black magic happening in the ik solver
computation that I don't understand.    Another oddity is that setting
the preferred angle for the joints at, say, 30 degrees wouldn't fix
the problem, but setting it at 90 degrees would (at least for now, but
who knows when this will rear its head again?).  My guess from the
scrubbing issue is that the node doesn't do a full computation unless
certain input plugs change.  It's hard to say, because an ik handle is
one of those nodes that (for some reason) doesn't actually have
connections to what it's changing.

I would LOVE to get my hands on the algorithm that's used to compute
and set the joint rotation values.  Any Autodesk people in the
house ? :)

Thanks all,
JP!

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to