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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.