I have a rather complex rig with 292 bones total. I am at a point now where I would like to work on shape keys to add detail to mesh deformations such as muscle contractions etc… The question I have is whether or not the method I am attempting is the best way to go about doing this.
I want to find child bone locations so I can control the shape key levels with drivers. The problem I have run into: The bone locations stay zero in local and transform spaces in the driver transform channels so I have to use world space. Their local locations (relative to the rig) only change if I move the bone separately by grabbing it. The world location is the only one that seems to show usable change when the child bone is moved by the hierarchy. A problem occurs with using the world location in the shape key driver. If I move the root bone, the child bones aren’t based on it and instead are based on the world origin and where the bones are at default position. So if I move the root bone, all the shape keys start changing even though the rig isn’t deforming, only shifting over to a different spot. Do I want to add another variable to my shape key drivers that subtracts the root xyz locations from the variable based on the child bones’ world location? Is there a cleaner way to do this that won’t require so much clutter and extra calculations to move the armature? Thanks for any advice.