While I'm leaving this download here for those who might be interested, I will no longer be supporting this tool. Use at your own risk, etc. All the source is available - the scripts from here, and the executable sourceat https://github.com/elrond79/Pinocchio/tree/master (which is itself only slightly modified from https://www.mit.edu/~ibaran/autorig/)
Apologies to those having problems, but I no longer have time to maintain this tool, and did not want to give any false hope that I would.
ATTENTION:
It has come to my attention that the files, as included in the zip, will not work on mac or linux, because the executables have not been marked as executable. To fix this, just type:
chmod +x path/to/executable
On mac, you may also need to make the python script executable as well.
Thanks to artifish for finding this out, and Pneumonic for writing up complete instructions, which you can find here:
https://www.creativecrash.com/downloads/pm_heatweight--2/topics/-errno-13-permission-denied--2#tabs
I'd like to distribute versions of the executables that are tagged properly - unfortunately, I don't have a OSX / Linux machine that I can upload from at the moment - so if someone could send me a zip that has the proper executable bits set, I would appreciate it!
DESCRIPTION:
------------
This is an auto-weighting script for attaching a joint skeleton to a poly mesh
skin. It acts as a front-end to Ilya Baran & Jovan Popovic's "Pinocchio"
auto-rigging and weighting library. (see https://www.mit.edu/~ibaran/autorig/).
Specifically, it uses their heat-weighting algorithm (also implemented in
Blender) to provide MUCH better default weights than Maya's bind skin weights.
Currently, since it interface's to a Pinocchio executable, it is only
available on windows, intel-based Mac OSX, and Linux. The source for building the
binary is available at:
https://github.com/elrond79/Pinocchio/tree/master
... if you want to try compiling a binary for another system.
(Note - the source has only very minor modifications from that released by Ilya and
Jovan.)
SETUP:
------
Step 1: Copy the script files,
/scripts/PM_heatWeight.py
/scripts/AttachWeightsWin.exe (if you're using windows)
/scripts/AttachWeightsMac (if you're using intel-based OSX)
/scripts/AttachWeightsLinux (if you're using linux)
to the your scripts folder: it's exact location varies depending on your os.
On Windows XP:
C:\Documents and Settings\[USER]\My Documents\maya\[VERSION]\scripts
On Vista:
C:\Users\[USER]\Documents\maya\[VERSION]\scripts
On OSX:
/Users/[USER]/Library/Preferences/Autodesk/maya/[VERSION]/scripts
On Linux:
~/maya/[VERSION]/scripts
Step 2: Copy In/Add to your userSetup.py
If if you do not already have a 'userSetup.py' (NOTE- the ending is .py, NOT
.mel!!!) in the above folder, copy in the provided one - otherwise, open it
and add it's contents to the end of the existing userSetup.py (NOTE: On
windows, use notepad or wordpad, NOT microsoft word!)
Step 3: Create a shelf icon
With maya closed, copy:
/prefs/icons/heatWeight.xpm
into your maya icons folder:
.../maya/[VERSION]/prefs/icons/heatWeight.xpm
Also, copy:
/prefs/shelves/shelf_heatWeight.mel
into your shelves folder:
.../maya/[VERSION]/prefs/shelves/shelf_heatWeight.mel
(When you start maya, you may drag the shelf button to another shelf with
the middle mouse button, and then delete the 'heatWeight' shelf, if so
desired.)
USAGE:
------
Select the root of the skeleton you wish to weight to and the meshes you wish
to weight to the skeleton, then click the shelf button; wait a few moments for
the script to finish, and you're done.
Note that the method this works by weighting to bones, rather than joints.
This means that:
a) End joints (joints with no child joints) are never weighted
b) A vertex may not be weighted to the 'closest' joint, if there is a
'closer' BONE
Keep this in mind when laying out your skeleton, if you intend to weight it
using this script.
You may also invoke the script from a python command-line / script editor, for
additional options:
>>> import PM_heatWeight; PM_heatWeight.heatWeight()
For full details on the additional options available, do:
>>> import PM_heatWeight; help(PM_heatWeight.heatWeight)
ALL HAIL TO:
------------
Most of the credit for this working as nicely as it does goes to Ilya Baran &
Jovan Popovic, who published the algorithm / developed / released the source
code for the Pinocchio auto-rigging / weighting utility, which this script
makes use of!
Thanks to Sam Hodge (samhodge1972 on highend3d) for the initial linux port of
the binary!
RELEASE INFO:
-------------
version 0.6.7
New releases will be posted to creativecrash.com (formerly highend3d.com): go to
https://www.creativecrash.com/maya/downloads/scripts-plugins/character/c/pm-heatweight
...or search for 'PM_heatWeight' in the maya downloads if that link is outdated);
if you wish to contact me regarding this script, either leave a message on the
forum there, or email me at heatWeight DOT calin79, domain neverbox DOT com.
(If you're not a spam bot, you should hopefully be able to figure out the
correct formatting of that email address...)
Please use the Feature Requests to give me ideas.
Please use the Support Forum if you have any questions or problems.
Please rate and review in the Review section.