特定步骤后,Maya python'tuple'不可调用错误

时间:2015-08-12 18:11:16

标签: python maya

首先,对Python来说很新,所以我为这里的任何缺点道歉。我正在尝试在Maya中构建一个lookDev脚本,基本上是一个新招聘的窗口,可以访问着色器,纹理,所有有用的东西。我的问题出现在这里:

def CreateRemapValue():
   selNodes = mc.ls(sl = True, type = "file")
   if selNodes:  
       for selNode in selNodes: 
           newRemapV = mc.shadingNode('remapValue', name = selNode + "_RemapValue", asUtility = True)
        mc.setAttr = (selNode + ".alphaIsLuminance", 1)
        mc.connectAttr(selNode + '.outAlpha', newRemapV + '.inputValue')
   else: 
    newRemapV = mc.shadingNode('remapValue', asUtility = True, name = "RemapValue")    

非常直截了当,但发生的事情是我和我经验丰富的Python朋友都能想到的。

如果我选择了一个文件节点并运行它,它会创建一个RemapValue没问题。 如果我在没有选择任何文件节点的情况下运行它,它会创建一个RemapValue没问题。 然后,整个脚本中的任何内容都不起作用。没有着色器,没有纹理,没有灯光。没有。这一切都给了我'元组'对象不可调用的错误。使脚本完全无法使用。

它给我错误的行都类似于以下内容。我做了两个步骤,当我尝试创建一个基本的木质着色器时出现错误:

        mc.setAttr(RoughWoodA_TileableTX + ".fileTextureName", "T:/06_Image_Lib/Texture_Library/TILEABLE/RoughWood_Tileable_01.tif", type = "string")

给我的错误是:

# Error: TypeError: file <maya console> line 329: 'tuple' object is not callable

任何帮助或指导都将非常感激。谢谢:))

1 个答案:

答案 0 :(得分:1)

您的问题是mc.setAttr = (selNode + ".alphaIsLuminance", 1)行。您正在尝试将一个元组分配给一个函数,然后在代码中尝试调用该函数。

修复应该是调用mc.setAttr而不是分配给它,如下所示:

mc.setAttr(selNode + ".alphaIsLuminance", 1)