Получить преобразование выбранного локатора в Maya, используя CMDS - PullRequest
0 голосов
/ 20 марта 2019

Используя Maya cmds (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 Ответ

2 голосов
/ 20 марта 2019

Вы можете использовать простое понимание списка, чтобы собрать все выбранные преобразования, которые имеют формы локатора, например:

[obj for obj in cmds.ls(sl=True) if cmds.listRelatives(obj, shapes=True, type="locator")]

Чтобы разбить его, cmds.ls(sl=True) вернет список всех выбранных объектов. Затем, чтобы отфильтровать это, мы можем использовать cmds.listRelatives, чтобы проверить, имеет ли преобразование какие-либо формы в качестве локаторов, и если это так, собрать его.

...