如何将写入节点附加到读取节点?
How to attach Write node to Read node?
好吧,我才刚刚开始接触 Nuke 的 API。这里我导入素材:
nuke.nodes.Read(file="E:/Final/Practice/MVI_8411.mov", name="Footage")
选择了素材(并存储在变量中):
footage = nuke.toNode("Footage")
当我将它通过管道传输到 Write 节点时,它不起作用:
nuke.createNode("Write")
虽然我创建了一个写入节点,但它没有连接到读取节点。我希望它能连接。 toNode()
函数不是在 非 GUI 模式下选择节点吗?
特别注意节点图中的 classes 节点及其名称。在下面的示例中,Read
是一个 class,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)
要找出 class 节点属于什么,创建一个 CheckerBoard
、select 节点,然后按 i 键盘上的快捷方式。您会看到它的 class 是 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")
readNode = nuke.nodes.Read( file = "E:/Final/Practice/MVI_8411.mov", name = "Footage" )
nuke.nodes.Write( inputs = [ readNode ] )
您也可以将nuke.nodes.Read
语句直接放在[]
之间以避免临时变量。这样看起来更干净
好吧,我才刚刚开始接触 Nuke 的 API。这里我导入素材:
nuke.nodes.Read(file="E:/Final/Practice/MVI_8411.mov", name="Footage")
选择了素材(并存储在变量中):
footage = nuke.toNode("Footage")
当我将它通过管道传输到 Write 节点时,它不起作用:
nuke.createNode("Write")
虽然我创建了一个写入节点,但它没有连接到读取节点。我希望它能连接。 toNode()
函数不是在 非 GUI 模式下选择节点吗?
特别注意节点图中的 classes 节点及其名称。在下面的示例中,Read
是一个 class,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)
要找出 class 节点属于什么,创建一个 CheckerBoard
、select 节点,然后按 i 键盘上的快捷方式。您会看到它的 class 是 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")
readNode = nuke.nodes.Read( file = "E:/Final/Practice/MVI_8411.mov", name = "Footage" )
nuke.nodes.Write( inputs = [ readNode ] )
您也可以将nuke.nodes.Read
语句直接放在[]
之间以避免临时变量。这样看起来更干净