#python #maya
#python #maya
Вопрос:
Используя cmds от Maya (python), как я могу проверить, выбран ли у пользователя локатор, а затем получить это преобразование локаторов?
Я пытался использовать это, но я не знаком с maya python…
nodes = cmds.filterExpand(sm=22) # check if user has a locator selected
if not len(nodes) == 1:
return
# not sure if this is the proper method to use, can i pass in my nodes from the method above like i have written?
tm = cmds.ls(nodes[0], sl=True, transforms=True)
# ... from here i can work on TM assuming it's the transform ex. Locator1
Ответ №1:
Вы можете использовать простое представление списка для сбора всех выбранных преобразований, которые имеют форму локатора, например:
[obj for obj in cmds.ls(sl=True) if cmds.listRelatives(obj, shapes=True, type="locator")]
Чтобы разбить его, cmds.ls(sl=True)
вернет список всех выбранных объектов. Затем для фильтрации, которую мы можем использовать cmds.listRelatives
, чтобы проверить, имеет ли преобразование какие-либо формы в качестве локаторов, и если да, собрать его.