This project has been DEPRECATED and is no longer being supported. This is just my personal experiment project that I never expected people taking it seriously, companies use this tool will end up implementing their own version, and I'm not allowed to share or sell the source code in any way, sorry about that.
Please find the alternative solution from EA's Dem Bones, it's reliable in terms of performance and accuracy, I highly recommend everyone adapt this implementaion to your own project.
Any query regarding to DLS won't get replied, thanks for your understanding.
Deformation Learning Solver is based on Smooth Skinning Decomposition with Rigid Bones which was an automated algorithm to extract the linear blend skinning (LBS) from a set of example poses, and made to convert any deformation approximation to joints and it's skinning-based. This allows there to be a savings in computing resources and a smaller data footprint.
This tool haven't be verified in real production yet, since this's just a personal research project to learn SSDR and skinning technique in deep, please feel free to test it at your own risk.
Maya 2014 x64 and above, Windows, Linux and OS X
The solver has been compiled success on these platforms:
This tool is module based, you can place "DeformationLearningSolver" folder to any where.
Launch maya, drag install.mel into scene, a new icon will be created in current shelf, launch Deformation Learning Solver by clicking the icon.
What 'install.mel' does is to create 'DeformationLearningSolver.mod' in /YOUR/HOME/DIRECTORY/maya/modules (ie. C:/Users/YourName/Documents/maya/modules), and setup the installation path, then maya will find this tool automatically. In the same way, you can put 'DeformationLearningSolver.mod' into any directory existing in 'MAYA_MODULE_PATH', then change the paths in it and make them point to the right position, maya will find it without difficulty.
There's a backup of 'DeformationLearningSolver.mod' in 'modules' folder, you can copy and paste it to anywhere rather than modify it, otherwise, 'install.mel' will fail to install.
Launch it with these python commands:
These plug-ins are included in this tool
There's no document for this tool, the only instruction you can find are those two Demos mentioned above.
This tool can either solve the best weight map with pre-define joints by user or extract specify number of joints, animations and weight map from a mesh sequences, the first case is extremely fast since it only need to solve the weight map with one iteration.
To solve weight map from existing joints, please bind mesh with skin cluster first, this tool will find joints involve, then put them into solver. Otherwise, it will solve mesh sequences with specify number of joints within max iterations.
Here are key parameters you should understand: