예제 #1
0
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
예제 #2
0
    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()
예제 #3
0
	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()