While working on some muscle deformation tests last weekend I wondered how I could improve shoulder deformation. One of the many ideas I had involved multi-point blends. I’ve used these a lot in animation blend trees for things like aiming a gun, head pointing, shooting from car windows, etc. Thinking back to those experiences got me wondering what cool stuff I could do with a multi-point blend in my rigging. So I spent Sunday programming one!
I wanted the node to be flexible enough to work in many different types of applications. In the case of the video below I used it to control blendshapes, but it could just as easily be used to blend animations, constraints or whatever you might need. With this flexibility in mind I setup the node so that there can be any number of rows with 1~n blend points in each row. What this means to the artist/rigger is that they can easily add or remove blend points to refine the final results.
The blend points are laid out evenly across a row (first image below) and mapped to the input range (second image below). Each blend point has a radius which represents it’s influence. The influence falls out from the center of the circle towards the edge. Combined with the input position I can compute each blend points weight.
A proper representation of the final layout is seen in the third image below. This shows the overlap between points and gives you an idea how each point contributes to the final result.
Check out the video below. I go into more details and show off the final results of the node integrated with an eyeball rig.
**UPDATE: Added this script to my Google Code project!