I have a rig with face keys. i have a separate animation and i would like to use the animated data to drive the face keys. problem is when my object rig turns the axis changes relative to world axis. there is an option to use world axis or local axis but the local axis refers to the subject's local axis right?

question: how do i use a driver to drive an object's data on the OBJECT's local axis?


AFAIK, you have two options:

  • Assign a Transform constraint to the object. This allows you to map a transform range of the source object to a transform range of the target object, in either their World or Local spaces.
  • More conventionally, parent the driven object to another one (often an Empty). Then the driven object's transform will be evaluated in its parent's space, in a driver expression. If the parent is aligned to the child when the relation is formed, that will be equivalent to the child's Local Space
  • 1
    $\begingroup$ Thanks for that. Couldn't get the second option to work until I did it in the right order - that is the child needed to be straightened up so its axes agreed with global space, then the parenting, then tilt the parent at the desired angle. (I was using the example of putting a driver on a rotation axis.) I'm just mentioning this in case someone else makes my mistake. I'd already thought of using an empty as a go-between like that and couldn't get it to work, but your confidence in your answer made me explore all the possiblities $\endgroup$ – Susan Sep 21 '19 at 10:59
  • $\begingroup$ @Susan thanks, I'll expand the answer when I have a moment... there are all sorts of shortcuts and habits associated with parenting that it's easy to forget you've acquired, and use without thinking. $\endgroup$ – Robin Betts Sep 21 '19 at 11:08

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.