Exemple #1
0
def save_poseDeformerList(obj):
	'''stores poseDeformer files for the curreitnnt object
	Args:
		obj (pm.PyNode): the object to get deformers from
	Returns (boolean): whether the export worked on not
	Usage:
		save_poseDeformerList(pm.ls(sl=True)[0])
	'''
	poseDeformers = get_connectedPoseDeformers(obj)
	if poseDeformers:
		folder = os.path.join( environ.POSEDEFORMERS, obj )
		versionFolder = lib_env.folder_detectVersions( folder, versionUp=True )
		if versionFolder:
			folder = versionFolder
		else:
			folder = os.path.join(folder, 'v001')
		if not os.path.exists(folder):
			os.makedirs(folder)
		for poseDeformer in poseDeformers:
			file = os.path.join(folder, poseDeformer+'.ma')
			command = 'poseDeformer_export(\"%s\", \"%s\", -1)'%(poseDeformer,file)
			print command
			eval( command ) 
	else:
		pm.warning('Object %s has no pose deformers attached to it...'%obj)
Exemple #2
0
def get_poseDeformers(obj):
	'''Finds all of the pose deformers for the selected object and applies them
	Args:
		name (string): the name of the deformer
		obj (pm.PyNode): the object to apply to
	Returns (boolean): pm.nt.poseDeformer
	Usage:
		get_poseDeformers(pm.ls(sl=True)[0])
	'''
	folder = os.path.join( environ.POSEDEFORMERS, obj )
	versionFolder = lib_env.folder_detectVersions( folder, versionUp = False )
	if versionFolder:
		folder = versionFolder
	else:
		pm.warning('Folder does not exist')
	current_psd = get_connectedPoseDeformers(obj)
	if os.path.exists(folder):
		os.chdir(folder)
		poseList = []
		for file in glob.glob("*.ma"):
			print file
			poseList.append( os.path.splitext(file)[0].replace('_POSD','') )
		for pose in poseList:
			if not pose+'_POSD' in current_psd:
				create_poseDeformer(pose, obj)
			else:
				pm.warning('PoseDeformer %s"_POSD" already exists on object %s'%(pose,obj))
			load_poseDeformerList(pose+'_POSD',obj,folder,1)
	else:
		pm.warning('Object: %s does not have any deformers available in folder: %s'%(obj,folder))