Maya useRayTraceShadows Python错误NoneType对象不是iterab

2024-06-28 11:12:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过一个函数在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)

Tags: 函数代码文本true列表错误场景光线
1条回答
网友
1楼 · 发布于 2024-06-28 11:12:26

Nonetype is not iterable几乎总是意味着你要求一个列表,而Maya会给你一个“None”而不是一个空列表。您可以使用

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

它将始终返回一个列表,尽管如果在UI中未选择任何内容,则该列表将为空。在

有关如何在Maya中处理列表类型返回的详细信息,请参见我对this thread的回答

相关问题 更多 >