嗯,我刚刚开始了解 Nuke 的 API。这里我导入素材:
nuke.nodes.Read(file="E:/Final/Practice/MVI_8411.mov", name="Footage")
选择了素材(并存储在变量中):
footage = nuke.toNode("Footage")
当我将其通过管道传输到 Write 节点时,它不起作用:
nuke.createNode("Write")
虽然我创建了一个写入节点,但它未连接到读取节点。我预计它会连接。 toNode()
函数不是在非 GUI 模式下选择节点吗?
最佳答案
特别注意节点图中的节点类别及其名称。在以下示例中,Read
是一个类,Read1
是一个名称。
因此请尝试使用此脚本来连接您的 Write
节点:
import nuke as nk
import nukescripts
nk.nodes.Read(file="E:/Final/Practice/MVI_8411.mov")
nk.toNode("Read1").setSelected(True)
nk.createNode("Write")
nukescripts.connect_selected_to_viewer(0)
或者这样:
import nuke as nk
import nukescripts
nk.createNode("Read", "file E:/Final/Practice/MVI_8411.mov name footage")
nk.toNode("footage").setSelected(True)
nk.createNode("Write")
nukescripts.connect_selected_to_viewer(0)
要找出节点所属的类,请创建一个 CheckerBoard
,选择它并按键盘上的 i 快捷键。您将看到它的类是 CheckerBoard2
,其名称是 CheckerBoard1
。
如果您使用 class 2
的节点,您的行应如下所示:
nk.createNode("CheckerBoard2")
nk.toNode("CheckerBoard1").setSelected(True)
nk.createNode("Write")
或者你的语法将是这样的:
nk.nodes.CheckerBoard2(name="board")
nk.toNode("board").setSelected(True)
nk.createNode("Write")
...或者就像这样:
nk.createNode("CheckerBoard2", "name board")
nk.toNode("board").setSelected(True)
nk.createNode("Write")
关于python - 如何将写节点附加到读节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666629/