nuke.File_Knob()类不在其他节点中设置文件名

时间:2018-01-08 07:18:32

标签: python scripting nuke

我正在使用脚本编辑器将多个核心节点组合在一起。 我想使用Knob界面减少输入数量。其中之一是选择图像文件。所以我正在使用

ux_File = nuke.File_Knob("my_file", "Filename")

然后我想使用该文件名并使用

为DeepRead Nuke Node设置它
nDeepRead = nuke.nodes.DeepRead(file = "parent.my_file")

因此,只要文件名被更改(在Knob界面中),它就会更新DeepRead节点(隐藏在组中)。 我如何使这项工作?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,答案如下:

fileKnobPath = '/Users/swift/Desktop/file.exr'
nuke.nodes.DeepRead(file=fileKnobPath)

deepRead = nuke.nodes.DeepRead(file="[value DeepRead1.file]")

最后一个命令使用file旋钮中的表达式创建新的Deep节点。

enter image description here

对于强制重新加载,请使用此方法(如果文件名已更改):

nodes = nuke.allNodes()

for node in nodes:
    if node.Class() == "DeepRead":
        node.knob("reload").execute()