Basically, I have an arm IK that works fine, with the the ik controller parented to the root. I wanted it to be able to move with the chest sometimes, so I created some drivers. I accomplished this by unparenting the controller and the elbow pole vector from the root bone (now they have no parent), and giving both of those bones two Child Of constraints. One was for the root and the other was for the chest.
The driver worked fine when the root was at the origin. But the further away the root moved from origin, the stranger the interpolation got as I dragged my custom property slider between the two options.
It would move out wildly before coming back to a normal looking position.
GIF (couldn’t embed it). I have my Hand Ik selected, and I drag the slider on the right. 0 corresponds to a parent of the chest (as seen in the image below). 1 corresponds to a parent of the root (opposite influence values of image below). If you notice, the current root position is very far from the origin and thus causes the issue. I then reset the transform, and then issue is basically gone (acceptable).
Maybe the issue comes from matrix multiplication within the childOf constraint - try giving the hand bone a parent with the same orientation as the chest bone and located exactly in the same place as the hand, and using the double childOf constraints on this bone instead (remove them on the hand).
Also try the same scene in 2.76 in case polar matrix decomposition is at fault.
Thanks for the information about the constraint and 2.77! Unfortunately, the issue still persisted in 2.76. Also, the hand bone’s parent is the forearm, the double constraints are on the “hand_IK” bone (the bone target for the IK constraint applied to the forearm), which has no children or parents. The hand_IK bone is located directly on top of the hand bone, and the hand is simply supposed to follow this bone.
So, are you saying to remove the forearm as the parent to the hand bone (that has no constraints on it)? And parent it to something like the hand_IK bone I have?
Thanks for the info and suggestions. Unfortunately, it doesn’t work in 2.76. Also there are three bones in the arm, upperarm, forearm and the hand bone, parented in that order. The IK constraint on the forearm uses the “Hand_IK” bone as the bone target. I put the “Child Of” constraints on that bone, not the hand itself. And the Hand_IK is placed on top of the hand bone so I can move the arm properly. So, should I make the Hand_IK bone the same orientation as the chest?