The Radial Basis Function Solver allows to interpolate an input in a system defined by Poses. Each pose describes a Key and a Value so the concept is similar to the DrivenKey.
But a regular DrivenKey has one dimensional Keys and one dimensional Values.
Basically each Key is a Float, and its Value is a Float.
The RBF solver has N-dimensional Keys and M-dimensional Values.
It simply means that Keys can be anything, and Values can be anything.
The cheapest way to interpolate Corrective Shapes/Joints or anything !
This is a Python implementation without any dependency,
Sample Scenes are included.
.nInput: the input sliding between the pose keys, it is N-dimensional
.state: bool, enable that pose or not
.nKey: the key of that pose, N-dimentional
.mValue: the value of that pose, M-dimensional
.mOutput: the output M-dimensional
Euclidian or Angular* distance based. *only for N=2or3
Interpolation functions are Linear, Gaussian, Multiquadratic, Cubic, Inverse Quadratic, Inverse Multiquadratic.
BlendShapeMode insure the non-negativity of the Outputs to be plugged in BlendShape weights.
Demo here :
About This Version
I've recently integrated the rbfSolver into the corrective shape pipline at the studio where I work. For complex areas such as shoulders the rbf allows for vastly superior results compared to a vector based cone system. Its important to note that on its own, the rbfSolver is not a pose reader but a true utility node that does a very good job at determining its inputs position relative to an unlimited number of preset poses(or snapshots if you will) of those inputs. While this makes the rbf less plug and play, it ultimately makes it much more powerful, and versatile, and its usefulness is by no means limited to corrective shapes, or rigging.
Very functional and useful on driving correct blendShape to solving the deformation of character rig. The interpolation is very nice.
Awesome Node/Tool, highly recommend it to anyone working with PSDs or just making fancy setups.
RBF Solver is a brilliant solution for a common problem in Maya: connect and play whit driver and driven value. One of the key feature of RBF Solver is its flexibility: is applicable for interpolate blend shapes or for more generic and advanced value connections. Finally yet importantly, Hans Godard provide a solid support and example files.