# Shape keys and Drivers problem

[

My drivers are not working correctly with my shape keys everytime i try to make a shape key work with an objects Z Axis i have to have it way beyond the mesh,I have already tried using the generator but that did not help. how do i only have to make it so that i only have to move it up slightly.

I also have my shape keys needing the object to the go the opposite direction of where it was intended to go

• Did my answer not fix your problem? – cmomoney Jan 14 '17 at 21:18
• What kind of scale do you have on that model. Shapekeys (unless defined otherwise) generally have values from 0 (off) to 1 (fully on). The value -6.7 will map to 0, in which case will do nothing. The value -6.7 is showing that your mouth top cube's location z is 6.7 blender units below its (0, 0, 0) position. If you want to map say [-8, 8] to [0, 1] use something like (var + 8) / 16 as your driver expression. – batFINGER Jan 15 '17 at 17:06
• i tried that and now it has to go under the whole mesh to work also since its the top mouth i want to go up to open the mouth and down to open the bottom of the mouth – A guest Jan 15 '17 at 18:24
• Post the blend. – cmomoney Jan 16 '17 at 17:37
• Added .blend file – A guest Jan 18 '17 at 22:44

To increase the effect of, and invert the direction that effects the shape key in your driver:

1. Go to File->User Preferences.
2. In the User Preferences window, select the File tab and check the box for "Auto Run Python Scripts".

3. Go to the graph editor in the Drivers tab and Change the type to "Scripted Expression".

4. In the expression box, type "-2 * var" (no quotes and with var being your variable name).

This expression will multiply the distance you target object travels by 2(or whatever you number you choose). So your target will have to move half as far. The higher the number, the shorter the distance. Making the number negative changes the direction it must travel.

EDIT

After looking at the blend, the target is upside down on the Z axis, making its local space z axis(and your variable) -6.69. Negate that by adding 6.69 to it. Then multiply that by -10 so you will only have to move up by 0.1 to reach the maximum of the driver. So the expression is: -10 * (var + 6.69) And make sure "Auto Run Python Scripts" is enabled.

• didn't work for me – A guest Jan 14 '17 at 21:55
• What was the result. What was still "wrong"? If you can be more specific I can help you. – cmomoney Jan 14 '17 at 22:10
• it seemed to be working somewhat before but instead of dividing 2 i apparently had to multiply it by over 100 and as i kept going it just stoped changing the value – A guest Jan 15 '17 at 5:14
• Looked at the blend. Please see my edit in the answer. – cmomoney Jan 19 '17 at 7:32
• it still going in the wrong direction – A guest Jan 21 '17 at 0:53