Я пытаюсь создать переменную, содержащую список моих локаторов и сеток в Maya. Таким образом, у меня есть этоОшибка при создании переменной в Maya
locators = cmds.listRelatives(cmds.ls(type= 'locator'), p=1)# Give me the list of locators
meshes = cmds.listRelatives(cmds.ls(type= 'mesh'), p=1) #Give me the list of all meshes
Но они имеют тенденцию работать только в том случае, если на сцене имеется локатор или поли. Майя выплевывает ошибку:
line 1: Object [] is invalid
если нет локаторов или поли.
Как сохранить их на работу, даже если они доступны на сцене или нет? Целью является создание инструмента поиска и замены. Таким образом, художник может искать и заменять только сетки, если захочет. Но сейчас это ошибка, даже когда я только S & R meshes. Локаторы дают ошибку, когда я ищу сетки, а Meshes терпят неудачу, когда я ищу локаторы.
Ниже весь мой поиск и заменить код:
def searchAndReplace(self):
searchText = str(self.windowObj.myLookFor.text()) #My search text feild
replaceText = str(self.windowObj.myRepFor.text()) #My replace text feild
selection = cmds.ls(sl=True) #only selected items
locators = cmds.listRelatives(cmds.ls(type= 'locator'), p=1)# Give me the list of locators
meshes = cmds.listRelatives(cmds.ls(type= 'mesh'), p=1) #Give me the list of all meshes
joints = cmds.ls(type = 'joint')# Give me the list of my joints.
allObjects = locators, meshes, joints
if len(selection) > 0:
if self.windowObj.myRepAll.isChecked():
print "All is selected"
for object in meshes:
if object.find(searchText) != -1:
newName = object.replace(searchText, replaceText)
cmds.rename(object, newName)
self.listofMeshes.append(meshes)
else:
print "No mesh found. Skipping meshes"
for object in locators:
if object.find(searchText) != -1:
newName2 = object.replace(searchText, replaceText)
cmds.rename(object, newName2)
self.listofLocators.append(locators)
else:
"No locators found. Skipping locators"
for object in joints:
if object.find(searchText) != -1:
newName3 = object.replace(searchText, replaceText)
cmds.rename(object, newName3)
self.listofJoints.append(joints)
else:
print "No joints found. Skipping joints"
Нужна помощь в магазине переменные правильно, поэтому он может хранить локаторы, сетки и суставы правильно и быть в состоянии использовать его, если один из них не доступен в сцене.