I'm working on a script that would export the file as an fbx. This script is a part of a python package. When I'm launching it, it errors out with a message:
Error: ValueError: file C:/Users/Valeriya/Documents/maya/scripts\CreatureExport\CreatureAnimBakeProcess.py line 11: empty separator
I think that this is because of the way I have the attributes at the start of my script. But I don't know how to format it properly. What am I doing wrong?
presetPathName = "C:\Users\Valeriya\Documents\maya\scripts\CreatureExport\AnimExportFBXpreset.fbxexportpreset"
filePathName = cmds.file(query=True, sceneName=True)
fileName = filePathName.split('/')[-1]
newFileName = fileName.split('.')[0]
DIRECTORY = newFileName.split(fileName)[0]
newDIRECTORY = os.path.join(DIRECTORY, 'Export')
def createDirectory(directory = newDIRECTORY):
"""
Creates a given Directory if it doesn't exist
Args:
directory(str):The directory to create
"""
if not os.path.exists(directory):
os.mkdir(directory)
return
class CreatureExport(dict):
def imprtRef(self):
all_ref_paths = cmds.file(q=True, reference=True) or []
for ref_path in all_ref_paths:
if cmds.referenceQuery(ref_path, isLoaded=True):
cmds.file(ref_path, importReference=True)
new_ref_paths = cmds.file(q=True, reference=True)
if new_ref_paths:
for new_ref_path in new_ref_paths:
if new_ref_path not in all_ref_paths:
all_ref_paths.append(new_ref_path)
return imprtRef
def rmvNameSp(self):
all_namespaces = [x for x in cmds.namespaceInfo(listOnlyNamespaces=True, recurse=True) if
x != "UI" and x != "shared"]
if all_namespaces:
all_namespaces.sort(key=len, reverse=True)
for namespace in all_namespaces:
if cmds.namespace(exists=namespace) is True:
cmds.namespace(removeNamespace=namespace, mergeNamespaceWithRoot=True)
return rmvNameSp
def bakeProcess(self):
defSet = 'DeformSet'
set = cmds.sets(defSet, q=True)
cmds.select(set, hi=True)
allSelected = cmds.ls(sl=True)
startTime = cmds.playbackOptions(query=True, minTime=True)
endTime = cmds.playbackOptions(query=True, maxTime=True)
cmds.bakeResults(allSelected, simulation=True, t=(startTime, endTime))
if cmds.objExists('Position') == 1:
cmds.parent('Position', world=True)
if cmds.objExists('Position') == 0:
cmds.select(cl=True)
cmds.joint(n='Position')
cmds.parent('Root_M','Position')
cmds.showHidden(above=True)
return bakeProcess
def fbxExp(self):
cmds.loadPlugin("fbxmaya")
mel.FBXLoadExportPresetFile(f=presetPathName)
cmds.select('Position')
sel = cmds.listRelatives('Position', c=True, ad=True)
for obj in sel:
shortName = obj.split("|")[-1]
children = cmds.listRelatives(obj, c=True, f=True) or []
if len(children) == 1:
child = children[0]
objType = cmds.objectType(child)
else:
objType = cmds.objectType(obj)
if objType == "mesh":
cmds.delete(obj)
if objType == "locator":
cmds.delete(obj)
if objType == "parentConstraint":
cmds.delete(obj)
else:
pass
cmds.select('Position', hierarchy=True)
nameExport = newDIRECTORY + '/' + newFileName + '.fbx'
mel.FBXExport(s=True, f=nameExport, force=True, options=True)
return fbxExp
def expProcess(self):
createDirectory()
imprtRef()
rmvNameSp()
bakeProcess()
fbxExp()
return prepProcess