玛雅蟒蛇"元组"在特定步骤后不可调用错误

  • 本文关键字:错误 调用 元组 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,没有问题。然后,整个脚本都无法工作。没有着色器,没有纹理,没有灯光。什么都没有。这一切都给了我'tuple'对象不可调用的错误。使脚本完全不可用。

它给我的错误行都类似于以下内容。我做了2步,得到了错误,当我试图创建一个基本的木材着色器:

        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

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

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

修复方法应该是调用mc.setAttr而不是赋值给它,像这样:
mc.setAttr(selNode + ".alphaIsLuminance", 1)

最新更新