Keep up-to-date with Free tutorials!!


Sign up to our twice-monthly newsletter today for the latest tutorials, interviews and product information.

Sign me up to receive third-party emails from 3dtotal's partners, too!

- Latest news
- Exclusive Shop Offers
- Preview early content
- Plus much more


Not Ready to take that step? OK, Why not just Subscribe to the RSS Feed

submit tutorial
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

Merge the meshes together, then weld the Border edges back together. Here are the results in a single mesh (Fig.20).

Fig. 20 - Single final mesh

Transferring the Weights Back

Here is a MEL script that will transfer the weights from one mesh and apply them to other meshes.
To run this script, do the following:

• Select all of the code below and paste it into the Script Editor
• Select all the meshes you'd like to paste weights to
• Shift + select the mesh that has proper weighting
• Select all the code in the Script Editor
• Hit Enter

//Select meshes to transfer weight to, then shift-select the mesh with weights, then run this script

string $userSel[] = `ls -sl`;

if(`size($userSel)` > 1)

select $userSel[((`size($userSel)`) - 1)];
string $cageMesh[] = `ls -sl`;

select $userSel;
select -tgl $cageMesh;
string $pieces[] = `ls -sl`;

//get inputs of weights in skin
string $theJoints[] = `skinCluster -q -wi $cageMesh`;

if(`size($theJoints)` > 0 && $cageMesh[0] != "")

int $counter;
int $sizer = size($pieces);

for ($counter = 0; $counter < $sizer; $counter++)

//Determine if skinCluster exists on piece
string $skins[] ;
clear $skins ;

string $hist[] = `listHistory -pdo 1 -il 2 $pieces[$counter]` ;
string $h ;

for ($h in $hist)
if (nodeType($h) == "skinCluster")
$skins[size($skins)] = $h ;
}//end of if skinCluster type exists
}//end of for loop through history

//If skinCluster Doesn't exist, add skinCluster
if(`size($skins)` == 0)
select $pieces[$counter] $theJoints;
newSkinCluster "-tsb -mi 10 -dr 10" ;
}//end of apply skinCluster if none found

//Add all influences from cageMesh
int $counterInf;
int $sizerInf = size($theJoints);
string $pieceJoints[] = `skinCluster -q -wi $pieces[$counter]`;

for ($counterInf = 0; $counterInf < $sizerInf; $counterInf++)
int $found = stringArrayContains($theJoints[$counterInf], $pieceJoints);
if($found == 0){skinCluster -e -ai $theJoints[$counterInf] $skins[0];}
}//end of for loop through adding all cageJoints

//Remove extra joints that don't match those in cageMesh skinCluster
string $theJoints[] = `skinCluster -q -wi $cageMesh`;
string $pieceJoints[] = `skinCluster -q -wi $pieces[$counter]`;
string $diffJoints[] = stringArrayRemove($theJoints, $pieceJoints);

int $counterInf;
int $sizerInf = size($diffJoints);

if(`size($diffJoints)` > 0)
for ($counterInf = 0; $counterInf < $sizerInf; $counterInf++)
skinCluster -e -ri $diffJoints[$counterInf] $skins[0];
}//end of for loop through removing extra joints
}//end of if any joints are different

//Transfer the Weights
select $cageMesh $pieces[$counter];
copySkinWeights -noMirror -surfaceAssociation closestPoint -influenceAssociation closestJoint -influenceAssociation oneToOne -influenceAssociation name -normalize;

print ("\nSkin Applied/Weights Transferred: " + ($counter + 1) + "/" + $sizer);

}//end of loop through pieces

select $userSel;

}//end of if there is a skinCluster to copy from

}//end of if user has selected enough items

< previous page next page >
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Related Tutorials


Gallery Image.

Keywords: vampire, character, creature,

Go to tutorial
rating star fullrating star fullrating star fullrating star fullrating star none (2)
Comments 0 Views 2322


Gallery Image.

Keywords: character, caricature, bob hoskins,

Go to galleries 1
rating star nonerating star nonerating star nonerating star nonerating star none
Comments 1 Views 4129


Gallery Image.

Keywords: Livio Rajh, character, zbrush, making of

Go to galleries 1
rating star fullrating star fullrating star fullrating star fullrating star none
Comments 0 Views 9336


Gallery Image.

Keywords: Dmitrij Leppée, Javier Bardem, character, making of

Go to galleries 1
rating star fullrating star fullrating star fullrating star fullrating star half
Comments 0 Views 5899
Readers Comments (Newest on Top)
(ID: 305403, pid: 0) Joshua R. Dodson on Sun, 26 October 2014 8:20pm
Thank you this has helped to improve my understanding of Weight painting. In my own personal work I have found that the combination of Basic skin cluster, maya muscle and corrective blend shapes yield highly satisfactory results. It's always a great idea to have a low poly version of your model for animation and simulation testing aside from the full resolution detail model.
Add Your Comment