2

我正在尝试通过一个函数打开/关闭 Maya 中的光线跟踪阴影,该函数从文本滚动列表(即场景中的灯光)读取,但是它给了我以下错误行 106:'NoneType' 对象是不可迭代#

奇怪的是,我使用相同的代码来设置灯光及其工作的属性,但不适用于这个,代码如下,任何帮助将不胜感激。

Ubuntu 12.04 和 Python 2.7

定义 RT_ShadowsOff():

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

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

1 回答 1

1

Nonetype 不可迭代几乎总是意味着您要求一个列表,而 Maya 给您一个“无”而不是一个空列表。您可以使用上述代码解决错误

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

它将始终返回一个列表,但如果您的 UI 中未选择任何内容,该列表将为空。

有关如何在 Maya 中处理列表类型返回的更多信息,请参阅我对此线程的回答

于 2013-06-07T15:26:15.007 回答