Maya - IK joints don't 'undo'

With a simple IK setup, sometimes ‘undo’ doesn’t work correctly.

1)move the controller
2)hit undo

The controller moves back to the correct location, but the IK joints don’t update. Hitting Modify -> Evaluate Nodes -> Evaluate All returns them to the correct location. I can’t figure out where this problem originates, or how I’m causing it. Recreating the setup usually fixes it, but the setup is so simple, I don’t understand what the problem and fix actually are.

Sound familiar to anyone? Any ideas?

Thanks!

1)make a 3 joint chain
2)IK handle it
3)parentConstrain the ikHandle to a controller
4)poleVector contrain it…
5)now hope that undo works.

edit:
-restarting maya may actually fix this… still testing.
-entering values into the channel box causes the joints to update, but one update behind everything else… :expressionless:

It does this to me too. But it’s not consistently reproducible so I haven’t been able to figure it out other than it must be a bug in the core code.

I had this problem for a while now, but only with constraining the ikHandles, parenting them works fine.

Im assuming its some kind of clash between the two, and I haven’t found a fix yet (for constraining anyways).
A work around (if you don’t want to parent it under the controller), is to parent it under a null or locator and constrain that, it should work fine then.

You shouldn’t have this problem if you turn off the snap setting on the ik handle.
Then it won’t be trying to get back to the end of the chain and should stick with the constraint target.

There is a bug with Maya Undo though that if you are moving a node and hit the undo hot key before releasing the mouse button for the current transform, it will undo the previous transform, leaving the move you just did outside of the que, causing an offset that has to be fixed by hand.

Fair enough for turning the snap off :slight_smile:
learning something everyday, cheers Brad

Flip, thats helpful. I’ve been having the same issue - thanks guys.

Thanks!! That’s a big help!

Hmmm, I had this happen one time. I just deleted the arm(what the ik happened to be on) and rebuilt it. If this happens again I know what to look for, thanks!

Found a fix to a similar problem, when ‘snap’ doesn’t solve it.

On a particular character, the ik legs don’t behave. If you ‘evaluate nodes’, they’ll work correctly for the rest of that scene session, then fail again every time the scene is opened. There are 3 ikhandles for each leg, all at the same level in the hierarchy (one for regular old leg, then 2 more for split joints).

The fix is to rearrange the order of the ikhandles in the outliner. This seems ‘magical’, but it’s the only thing I could do to get 'em to work consistently. Diffing the .ma file afterwards shows that it’s just changing the order in which the nodes are created, then connected. Aaaannd, another thing to note: This rig problem didn’t show up in vanilla Maya 2012, but did in hotfix 4. Grrrrr.

Not everyone realizes that the outliner is the order of scene graph evaluation and when you reorder items in it you are changing how Maya sees the graph so it might be causing Maya to calculate them in the right order.

thats all… if u unhide corresponding joints all works fine, other methods not working for me )8-(

Simply unhiding? Pah… and i really spent some time a few weeks ago on solving this problem. :wink:
But… for me it worked just fine by not using a parent constraint and simply going for parenting the IK under the wrist control.

It does looks like an big problem but its kind of bug or smething.
Whenever you get this error save your file, Create new scene and then open that file and you would be it works perfectly now.

[W][/W][QUOTE=bclark;18395]Not everyone realizes that the outliner is the order of scene graph evaluation[/QUOTE]

Thats interesting. Do you have any source of more information about this?