2017-08-14 22 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

ノードグラフのクラスとノードのクラスに特に注意してください。次の例では、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ステートメントを直接入れることもできます。このようにもっときれいに見えます。

関連する問題