2017-08-14 69 views
2

嗯,我刚开始进入Nuke的API。在这里,我导入素材:如何将写入节点连接到读取节点?

nuke.nodes.Read(file="E:/Final/Practice/MVI_8411.mov", name="Footage") 

选择的镜头(和存储在一个变量):

footage = nuke.toNode("Footage") 

当我管它来写节点,这是行不通的:

nuke.createNode("Write") 

虽然我创建了一个写入节点,但它没有连接到读取节点。我期待它连接。 toNode()功能选择节点非GUI模式?

回答

1

要特别注意Node Graph中节点的类别及其名称。在以下示例中,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") 
0
readNode = nuke.nodes.Read(file = "E:/Final/Practice/MVI_8411.mov", name = "Footage")  
nuke.nodes.Write(inputs = [ readNode ]) 

您还可以将nuke.nodes.Read语句直接放在[]之间以避免临时变量。它看起来像这样更干净。