python - Maya useRayTraceShadows - Python 错误 NoneType object is not iterable

标签 python maya light nonetype shadows

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

最佳答案

Nonetype 不可迭代几乎总是意味着您要求一个列表,而 Maya 返回一个“无”而不是一个空列表。您可以使用

解决上述代码中的错误
selectedLights = cmds.textScrollList ("lgtList", query = True, 
                                      selectItem = True) or [] 

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

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

关于python - Maya useRayTraceShadows - Python 错误 NoneType object is not iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985787/

相关文章:

python - pandas.str.findall() 返回相同值但具有减少字符的多个实例

python - SQLAlchemy 连接 "one to many table",然后使用一组值对连接表进行过滤

python - 使用 Python 发送 JSON 请求

xcode - 如何在 Xcode 中渲染具有半透明纹理的 3D 模型?

java - Libgdx Box2D 灯,在 Android 设备上看起来不同,光的轮廓很奇怪

ios - 渐进式 LED 照明

python - 创建一个函数来计算不同年份的中位数成本

python - 如何查询关节sao(次 Axis 世界方向)?玛雅 python

c++ - Maya c++ API,移动对象?

windows-8 - 适用于 Windows 8 桌面的虚拟光传感器