• Bugs
  • Transform Constraint And Keying bone

Related Discussions
...

Hello,

If you have an animation where a bone (b) is constrained to another bone tk 100%,
Move tk (making b move)
Key b all of transformations. (in world space)
then key the TransformConstraint Weight (all transforms) to 0.
b will move to the setup pose.

This is different behaviour than:

Move tk (making b move)
Copy (ctrl + c) b transforms.
then key the TransformConstraint Weight (all transforms) to 0.
Paste (ctrl + v) b Transforms and key
b will stay where it was prior to the weights changing

The latter example's result (b does not appear to move when the transform constraint is turned off) is desired for the first example.

maybe this has something to do with keys always being in local space?
(although copying key frames isn't happening, so maybe usless thread link)
Copying Key frames Is Alway In Local Space

You should turn off the transform constraint (set weights to zero, at some point we'd like to add a visibility dot, like IK has) if you are going to key the constrained bone. Setting a key always keys the local transform. Copy poses (and, one day, keys) is different and allows you to change whether you want to paste the local or world transform.

Huh, That's what u am doing?

I click the key symbol bottons at the point I key the transform constraint off.

Case 1:

Image removed due to the lack of support for HTTPS. | Show Anyway

case 2:

Image removed due to the lack of support for HTTPS. | Show Anyway


again I think both should do case 1

When you have the transform constraint applied and you key the constrained bone, you aren't keying the bone's current world transform (which is what you see). Instead, you are keying its local transform. When the constraint mix is 1, you can't actually see local transform because the transform constraint has overwritten it. Any mix < 1 though and the local transform does affect the position you see.

This is how it works currently at least. It may also make sense to calculate the local transform from the constrained world transform when the mix is 1 and let you key that. This could be useful for plotting, eg using IK on bones, keying the bones, then removing the IK. I'm not sure this is a very common workflow though. Were you trying to accomplish something specific or just exploring the deep, dark depths?

hmm, not much time ill read that tomorrow

Say if the goblin throws the spear up in the air and catches it, it the spear would need to follow the hand (i.e. transform constaint), then leave his hand (but remaining in the same place) and move up in the air, and back down again, re-following the hand. If it where to key in worldspace it would be easy to make the spear not follow the arm and move freely from the right place (see first gif). Its just a bit fiddly, copying and pasting 🙂

Gotcha, that's a pretty reasonable use case. We made the changes so if the transform property you are keying is 100% affected by a constraint (meaning you can't see that property of the local transform at all) then it will calculate the constrained local transform and key that. It'll be in 3.6.00-beta.