I have a character wearing a belt that's giving some problems. Here is the setup:
- Several Empties are the children of vertices on the character
- Each Empty then has a bone attached to it via the Child Of bone constraint
- The Child Of constraints needs Set Inverse pressed or it offsets away
- The belt mesh is controlled by these bones
So as the character moves, the belt moves with it. This all works just fine in pose mode. However, if put the character's rig (which the belt bones are a part of) into Object mode and move it, then the belt mesh moves in the opposite direction. This is fixed if I hit Set Inverse on the Child Of constraints again.
Normally this isn't a problem because if I am moving the whole character, I am going to do it in pose mode via the root bone, or if I'm moving all the characters objects, I move an Empty that all of its objects, including the rig, are child of. This all works fine.
The problem arises when I Link the character into a new scene and proxy the rig. Normally what I do is make the Linked character group a Child Of the proxied rig Object so that I an conveniently move them around (if you make the proxied rig a child of the group object, it behaves strangely.) But when I do this, my belt starts flying away again.
I know this problem is something to do with the parent/child hierarchy and the rig's object origin moving away in relation to the Set Inverse, so I experimented with different ways to set these objects up. What I've found is that if I proxy the Character's empty that I mentioned above, and make it a child of the rig proxy, then I can move the rig and everything works. But the linked group object has to NOT be a child of either, otherwise the problem comes back.
I've also tried making the belt objects the child of the rig object in the character's file, and making them a child of an empty that is a child of the rig object, and making them the child of the body object, but none of that works.
If anyone can explain to me exactly what is going on, or let me know a better way to fix or do this, or another way to rig this belt that doens't need child of, that would be great.