Получить преобразование выбранного локатора в Maya с использованием CMDS

#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 , чтобы проверить, имеет ли преобразование какие-либо формы в качестве локаторов, и если да, собрать его.