Tools of the Trade: Weight Jumper

Howdy folks!

I wanted to write a brief snippet about a new tool called “Weight Jumper” that I’ve now got on GitHub. This tool allows you to move weights from one influence to another on a specific skinCluster, and you can either transfer the entire influence at once (by taking the weights of JointA and adding them to JointB) OR you can select specific vertices to affect. This is great if you need to add in a new extra helper joint, re-draw a joint with the same weighting, or shift weighting from overlapping limbs. Sure, you can try to “paint” out weights but you’ll likely affect more than you intend to. Likewise, the component editor could work if you have a calculator handy and want to waste time. Ever bound a character in A-Pose and the arm moves part of the leg? Instead of carefully painting around the selected area, just grab the verts and move the weights from the arm to the leg! I have a WIP UI that makes this process a breeze, but the single line command is pretty easy too:

weightJumper(skin,jointSource="",jointTarget="",selVerts=False)

If you are transferring a whole joint (for example an IK influence to a new Bind joint), you can select your source and destination, then simply pass a skinCluster and voila!

weightJumper("skinCluster1")

You can pass in the source and destination as well, which are required if you want to use selected vertices. Simply pass true as the final argument:

weightJumper("skinCluster1","C_Spine2_BJ","C_Spine3_BJ",True)

I’ll update this post with the new UI once it is ready, but feel free to take a look at the code now. There are some slower utilities out there using the skinPercent command, but this one uses the Maya Python API and is much, much faster. Enjoy!

Leave a Reply

Your email address will not be published. Required fields are marked *