I am struggling to get the CopyRotation bone constraint to work as I expect. Hoping someone can clear up where my confusion is.
I have simplified my issue to this three bone setup:
- Bone C is the parent of bone A and bone B.
- Bone A has a Copy Rotation constraint targeting bone B (Y only, LocalWithParent -> LocalWithParent):
(There are also some limit rotation constraints on bones A and C, but I have tested and the issue persists even if they are both removed.)
If I rotate bone B around the local Y, everything works as I expect it to. Bone A acquires the same local Y rotation as bone B, and they face the same direction.
However, if I rotate B freely, allowing local X and Z rotation to occur as well, I experience behavior that I do not expect. Bone A smoothly rotates around local Y as B is rotated (as expected) until hitting certain rotations, where it then seems to "snap" to a different rotation. Here is a video of the issue occurring: Rotating around local Y causes snapping when X and Z rotations are not 0.
I'm sure this is all a misunderstanding on my part. But I'd be really grateful if someone could help sort me out. In my mind: because I can see that the local Y rotation of bone B changes smoothly as I rotate it (I'm seeing this in the "Transform" view) the Y rotation of bone A should should also change smoothly.
Thanks so much!
The example blend (I don't enough reputation to post this as a real link, sorry): www.filedropper.com/bonerotationsnapexample