linked character return to rest position when i hit ctrl-z
Closed, ResolvedPublic


This is happened in windows 7 64bit, for Blender 2.64 test built 2 and Blender 2.63 as well.

Kindly please check the attachment for sample files. In the testing_link.blend file, whenever i try to move the bones to make a new poses, and then hit undo, the character is always returned to it's rest position, although when i scrub the timeline, the character pose behave as it should be again.



Once upon a time, we used to reevaluate animation again after undo. That would solve the issue here, as that would overwrite the values pulled back from the proxy.

However, this introduced its own set of problems: namely, for unkeyed poses, you'd constantly end up resetting all the unkeyed bones (even those that weren't proxy protected), potentially loosing many minutes of careful/meticulous posing with no hope of recovery.

As annoying as this is, IMO chances are it's probably best to err on the side of just requiring that extra step.

Hi Joshua,

I know that an Undo will reload and re-evaluate proxy. It's unclear however what kind of provisions were made to keep poses on file load and on anim updates, and how to make this work for proxy undo too?

Hi Ton,

In the past, what was done was that we'd leave "bone unkeyed" flags all over the place anytime anything on the bones was touched by animator via transform tools. These were only cleared when the frame was changed. Animation evaluation would only happen for bones that don't have this set. IIRC, for proxy undo, we'd keep the unkeyed flags that existed before the last action needing an undo, which would prevent the anim updates from clobbering the unkeyed bones but would still allow other bones to get anim flushing so that we don't revert to the "from proxy" restpose.

Or something like that... it's been a while, and IIRC there were situations here where you could end up with totally unmovable objects/bones as the these flags somehow mysteriously failed to work.

Fixed in svn by Ton (r. 53762)

Joshua Leung (aligorith) closed this task as Resolved.Jan 21 2013, 11:06 AM