Maya useRayTraceShadows - ошибка Python Объект NoneType не повторяется

Я пытаюсь включить / выключить тени трассировки лучей в Maya с помощью функции, эта функция читает из списка прокрутки текста (который является светом в сцене), однако он выдает мне следующую строку ошибки 106: объект NoneType не повторяется #

странно, что я использовал один и тот же код, чтобы установить атрибуты для освещения и его работы, но не для этого, код ниже, любая помощь будет оценена.

Ubuntu 12.04 и Python 2.7

def RT_ShadowsOff ():

selectedLights = cmds.textScrollList ("lgtList", query = True, selectItem = True)

for lgt in selectedLights:
    cmds.setAttr(lgt+".useRayTraceShadows", False)

1 ответ

Решение

Nonetype не является повторяемым, почти всегда означает, что вы запросили список, и Maya вернула вам "None" вместо пустого списка. Вы можете обойти ошибку в приведенном выше коде с

selectedLights = cmds.textScrollList ("lgtList", query = True, 
                                      selectItem = True) or [] 

Который всегда будет возвращать список, хотя список будет пустым, если в вашем пользовательском интерфейсе ничего не выбрано.

Для получения дополнительной информации о том, как обрабатывать возвраты типа списка в Maya, см. Мой ответ на эту тему

Другие вопросы по тегам