Direct Manipulation - MPxLocator
What is that?
Nurbs curves are pretty much the standard for rig controls in Maya, but you can use any shape (mesh, nurbsSurface, locator).
There is another option though direct manipulation. Direct manipulation (or direct selection) means that when you click on a part of the mesh you will select the control for that area. You might have seen this in demonstrations of Pixar's rigging software, Presto, or Dreamworks rigging software.
Other Proofs of Concept:
I've seen several attempts to replicate this is in Maya using deforming mesh controls (https://vimeo.com/207167769) and custom locators (https://vimeo.com/311008901).
That MPxLocator proof of concept by Matt LeFevre was too slow to implement (according to him).
The deformable mesh control method from Stephen Candell seems faster in the demo, but the plugin never ended up being sold, probably because he got too busy to delop/maintain it, or maybe it wound up causing slowdowns when used for the whole facial rig.
My Proof of Concept:
My API skills are not at the level of Matt LeFevre or Stephen Candell, but I needed to learn how to draw in the viewport for another personal project, and this seemed like a good challenge to learn about that stuff.
The video is mostly just me rambling but the gist of it is that this method is not fast enough.
This method bogged down because having a separate shape for each control and making sure the shape follows the deformations of the rigged mesh is not cheap. One way to avoid this would be to create a custom selection context using MPxContext. I've never created a custom context, but I'll probably dive into it in the near future.
The code is available here:
If you are able to improve the performance, please let me know.