Update Armature Constraint transformations on CTRL+Z
Issue
When you have objects in an Armature, and CTRL+Z (undo) a pose translate - when it's constrained to rotation to another bone - the bone snaps back in translation, but the rotation constraint doesn't update. Not till I move another bone. It hangs there looking like it's broken.
I have had this in all rigging - the CTRL+Z doesn't update all constrains in a bones stack.
Fix
Create/modify the constraint poll system backend to update all constraints in the stack every movement in pose mode and when you undo.
Cons
May update slow during an undo with many constraints - so in that case adding it as a toggle in the armature would be nice - update single transformation constraint or update all in pose mode.
7 Comments
Is this rig-specific? Every time I've come across something like this, it's because I had a cyclic dependency somewhere in my rig.
@Jason van Gumster: Yes, Armature specific. This may have something to do with IK constraints with the pole target or children with other constraints - but ultimately the rotation of a pole target constrained to the end of the chain shouldn't affect the IK chain children polling. There is no loopback as IK children don't inherit any rotation of a pole target unless specified. A quick poll in the rig resets the armature to the way it should work as if you were using it normally - would be nice if this does this with CTRL+Z so that I don't have to poll the rig to revert any pose changes.
@draise14: It's my experience that the dependency graph will sometimes see cycles in things that we wouldn't expect there to be. I'm almost positive that this is a dependency graph issue more than anything else.
The bad news is that the fix is non-trivial. The good news is that there is a new dependency graph being worked on. Some of it is even in Blender now. Try running Blender with the new depsgraph option enabled (
blender --enable-new-depsgraph) and see if that solves the issue for you.@Jason van Gumster: Nice tip. Will this cause more bugs? I do use this in production so.. if it causes problems cause of being in development, I may not use it. Yet.
@draise14: It's at least worth testing to see if the new depsgraph (when made the default) will resolve your problem for you or if there needs to be a separate proposal.
This also would be important with driver updates on CTRL+Z
I've tried uploading a thumbnail with no success.. - firefox.