# Drivers according to local space

I created a rig with 2 different armatures (one bone in each) and connected them with this driver setting - The location on the X axis of the bone in armature A is controlling the rotation on the Z axis of the bone in armature B. I set the driver to work on ‘local space’, but it seems to work on the local space of the armature itself, and not of the bone in it.

For example - if I move the bone in armature A on the X axis - the bone in armature B is rotating just fine on the Z axis. But once I rotate the bone in armature A (say, on the Z axis) and then move it on its LOCAL X axis - the bone in armature B doesn’t rotate properly or not at all. That’s because it considers the bone in armature A as not moving on the local space of the armature itself.

Does anybody know how to cause the driver to work according to the local space of the BONE and not of the whole armature object?
I hope my explanation and question are understood. You can download the attached file to try better understand what I’m talking about: https://drive.google.com/file/d/0B7Y6HPaf28gKUW5IMklxY0s1eVU/view?usp=sharing

As far as I understand, I think the problem is that when you rotate your bone in armature A around the Z axis, you are not actually modifying the LOCAL X axis of that bone.
I can be mistaking but I think the LOCAL X axis is relative to the parent of the bone (here the armature object as there is no parent bone). The LOCAL X coordinate of a bone is on the X axis of its parent (which is not modified when you rotate your bone).
So I don’t think you can do what you want this way. What is the main purpose of your system ?

The purpose of this system is to rotate a wheel-shaped object (basically a cylinder) based on it’s location. That objected is parented to the rotating bone (in armature B) while the bone in armature A is controlling the amount of rotation based on it’s translation on the X axis.
If not this way, I believe there must be another one to achieve this effect, but I couldn’t come up with any idea for that. If anybody could think about another way it would be great

Why are you using two armatures?

Here are a number of solutions in one blend file - just press Play to see them working, then you can take the thing to bits to see how they all work.

Cheers, Clock.

Blend file: wheel-issues.blend (872 KB)

Thanks for the file! There sure are many examples in it, but I don’t quite understand how they work. If you’d be able to explain (or if you know a tutorial about this) it would be great
Also, I tend not to work with the curves for determining the location of my object in the animation. Is there a way to do it without the curves?

That’s right, some of them don’t use curves, but these also move in straight lines.
My question is about cases when I have to turn the route of the wheel and it would still rotate properly according to the driver. Right now I don’t manage to do this.

Thanks for the tutorial anyway, I’ll take a look at it

If you are turning the wheel about a given point at a constant radius - that I can do without a curve path. Give me a few days, I am really busy just now, and I will post a blend file here with that in it - it’s just a case of some more maths… But it is far easier with a path curve.

Cheers, Clock.