Maya python 'tuple' is not callable error after specific steps

Maya python 'tuple' is not callable error after specific steps

首先,Python 还很新,所以对于这里的任何不足之处,我深表歉意。我正在尝试在 Maya 中构建一个 lookDev 脚本,基本上是 window 新员工可以访问着色器、纹理和所有有用的东西。我的问题出现在这里:

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' object is not callable 错误。使脚本完全无法使用。

它给我的错误行都与以下类似。我做了 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)