2017-08-14 102 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語句直接放在[]之間以避免臨時變量。它看起來像這樣更乾淨。