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, см. Мой ответ на эту тему