如何捕获按钮创建的节点?

时间:2016-12-26 13:34:48

标签: python nuke video-tracking

在The Foundry Nuke中,我正在尝试创建一个脚本。按下Create按钮后,我得到了一个特殊的Transform节点。我想抓住正在创建的节点,即如果它是一个跟踪器,我希望该跟踪器在我的脚本中获取它,以便我可以操作它。

示例:

track.knob('cornerPinOptions').setValue('Transform (match-move)')
cc = track.knob('createCornerPin')
nuke.Script_Knob.execute(cc) # this creates a transform node

# Now here is the part I can't figure out:
# How to select that transform node being previously created in my script?

我尝试寻找最后创建的节点内置函数,但没有找到。我尝试了一些回调,但我不确定如何正确使用它们。

1 个答案:

答案 0 :(得分:0)

要选择和取消选择以前创建的NUKE节点,您应该使用方法nuke.toNode('nodename').setSelected( boolean )

以下是如何操作的示例:

# create a node (class=Tracker4) and assign a variable to it
tracker = nuke.nodes.Tracker4()

# connect a Viewer to its first input and deselect Viewer node
nuke.connectViewer( 0, tracker )
nuke.toNode('Viewer1').setSelected( False )

# select a node (name=Tracker1)
nuke.toNode('Tracker1').setSelected( True )