Recreating Blue Sky Studios' UVN Deformer
Blue Sky Studios developed a tool called a UVN deformer for the Peanuts Movie. Essentially it allowed blenshapes to be interpolated in a UVN space defined by a nurbs surface instead of linearly in Cartesian space.
I've used nurbs surfaces to drive other deformers before, but this is the result that all of those technique were approximating.
To actually write a deformer for maya you have to use the Maya API (which I am in the process of learning), but since I can't do that yet I thought I would make a quick and dirty proof of concept of the deformer using expressions, and other vanilla maya content. Below is a display of the final result.
So basically I am using the paintable skin weights on a cluster and many, many, point on surface info nodes, to get the desire result of vertices sliding along a nurbs surface. Another issue I ran into was the fact that for some nurbs surfaces the vertices would not map to the surface and back to cartesian space properly. This is because sometimes the nearest point on the surface was not the point whose normals passed through the vertice.
This was a nice experiment with some math, but in it's current state it isn't useful because of the slowdown it would cause on more complex meshes. Looking forward to eventually doing this the right way in C++.