def transferSkinning( sourceMesh, targetMesh ): sourceSkinCluster = mel.findRelatedSkinCluster( sourceMesh ) if not sourceSkinCluster: raise SkeletonError( "Cannot find a skin cluster on %s" % sourceMesh ) #if there isn't a skin cluster already, create one targetSkinCluster = mel.findRelatedSkinCluster( targetMesh ) if not targetSkinCluster: influences = skinCluster( sourceSkinCluster, q=True, inf=True ) targetSkinCluster = skinCluster( targetMesh, influences, toSelectedBones=True )[0] copySkinWeights( sourceSkin=sourceSkinCluster, destinationSkin=targetSkinCluster, noMirror=True, surfaceAssociation='closestPoint', smooth=True ) return targetSkinCluster
def attachToMesh(self, mesh): self._mesh = mesh self._skinCluster = mel.findRelatedSkinCluster(mesh) joints = cmd.skinCluster(self._skinCluster, q=True, inf=True) self._prefix = getCommonPrefix(joints) self.UI_tsl.setItems(joints) self.on_updateState()
def attachToMesh( self, mesh ): self._mesh = mesh self._skinCluster = mel.findRelatedSkinCluster( mesh ) joints = cmd.skinCluster( self._skinCluster, q=True, inf=True ) self._prefix = getCommonPrefix( joints ) self.UI_tsl.setItems( joints ) self.on_updateState()