2015-08-12 1 views
2

Мне нужно выбрать свет в моей сцене по типу. PointLights, DirectionalLights и т.д.Maya python, получить легкий тип?

Выбор всех огней легко:

lights=cmds.ls(lights=True) 

     for light in lights: 
     print light 

Но как я могу выбрать все точки света в этом массиве?

Я попытался:

type = cmds.getAttr(light + '.type') 

но 'тип' не является атрибутом.

Спасибо.

ответ

2

Итерация в массиве и фильтровать его таким образом, например:

if(`nodeType $lightShape` == 'pointLight') { }

Вы можете проверить Maya узлы список здесь: http://download.autodesk.com/global/docs/maya2014/en_us/Nodes/index.html

+0

спасибо! Это мелодия, не так ли? Как это сделать в python? – anti

+0

нашел это. "Type = cmds.nodeType (light)" – anti

+1

Ах да, простите об этом :) Возможно, вам стоит избегать назначения на встроенный python 'type', позже вы можете удивиться, если хотите его использовать. –

4

Это будет делать это.

lights = cmds.ls(lights=True) 

for light in lights: 
    light_type = cmds.nodeType(light) 
    print(light_type)