Setting Up a Switchboard Control For Shapekeys

Just created another video tutorial, this time covering how to set up a ‘switchboard’ or ‘joystick’ controllers for shapekeys.

The video can be found here:

And the finished .blend file is attached.

Feel free to make comments and ask questions.



SwitchBoardTutorial_2_54_Final.blend (953 KB)

Great tut, I followed it without problems and, for me, was exactly the right level, thanks!


  1. On making the driver equations - I really have no idea why we use certain settings, eg why do we use “average value” for transform channel? Average of what??
  2. So now we have this face shape driver, how do you use it for animating? eg, do you make actions for the driver bone or the face vertices?
  3. The armature is just sitting there, not parented to anything, correct? So if / when we animate or pose the body, does it just stay in place or does it follow the body around? Do you recommend making the face animations totally separate of the body animations? eg smiling while walking, how should I do that?
  4. Body animation will require its own armature, do I have 2 armatures for the same object or do I need to add the face shape controller bone to the body armature? Are multiple armatures for the same object a problem?

Thanks again Randy, nice clear tut on Vimeo, thanks for posting the blend file too. The driver equations area looks similar to the setup I learned in 3dsMax, one could essentially use this technique build a full control board to pose meshes on a 3d model, either for simple translations or to drive shape keys. I’d like to second the questions posed by walshlg please. I never learned the “why” behind the equations I used in Max and felt a better understanding would give me even more control when creating custom control boards. Cheers… /cie

Whoops, I didn’t notice the questions here…

walshlg - for your first question, I’m not entirely sure why to use ‘average value’, haven’t been able to find much info on this subject, hopefully documentation will get written for this. I know ‘scripted expression’ is for python expressions. But I do not know the difference between average, sum, minimum, & maximum.

To use this setup in animation, you would keyframe the location of the controller bone since it’s location controls the shapekey.

Yes, the armature is just sitting there. In practice I would parent the graphics (the box around the control bone) and the control bones to the ‘master’ or main bone in the rig. This way it would all be 1 armature. You can use 2 armatures on the same object, but I avoid this to avoid confusing myself…hahaha

As to creating separate actions for the body and the face, that would just be a matter of personal preference. You could create separate actions for face & body then combine them in the NLA editor. You could also create one action and if you want to adjust say the timing of the facial part of the animation, you can select those keyframes in the dopesheet and adjust them from there.

As to the ‘why’ behind equations this allows you to adjust how the controller does it’s job. The example in the video tute shows the mouth open and close based on how much the controller bone is move with 0 movement = 0 shapekey, movement of 1 blender unit = 1 shapekey, or fully on. Let’s say I want the shapekey to be fully on if I move the controller 3 blender units, then you would adjust the equation to achieve this.


Randy, great post!!!