Nuke python开发基础
发表于更新于
字数总计:631阅读时长:2分钟阅读量: 长沙
Nuke开发相关的文档
Nuke官方的一个技术支持论坛:https://support.foundry.com/hc/zh-cn
Python开发文档:https://learn.foundry.com/nuke/developers/11.2/pythondevguide/
Python API文档:https://learn.foundry.com/nuke/developers/11.2/pythonreference/
Nuke TCL教程:https://www.yiibai.com/tcl
节点操作
获取节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| nuke.toNode('Text1')
nuke.selectedNode()
nuke.selectedNodes()
all_nodes = nuke.allNodes()
all_dot_nodes = nuke.allNodes("Dot")
|
这里我们选择的是Text类型的节点,为何这里返回的是Text2。
是因为Nuke经过多年的发展,少部分的节点分为第一代和第二代。
在新版本中,默认我们创建的是第二代节点。
root相关操作
1 2 3 4 5
| nuke.root().name()
nuke.root().firstFrame()
|
获取或设置节点某个属性
1 2 3 4 5 6 7 8 9 10 11
|
t = nuke.toNode('Text1') print t['cliptype'].value() >>> format
t['cliptype'].setValue('bbox')
t['cliptype'].setValue(4)
|
创建一个节点
1 2 3 4 5 6 7 8 9 10 11
| nuke.createNode('Write')
nuke.nodes.Write()
nuke.createNode("Blur", inpanel=False)
nuke.nodes.Dot(xpos=100, ypos=100)
|
删除节点
1 2 3 4 5 6
| nuke.delete(node)
for i in nuke.allNodes("Dot"): nuke.delete(i)
|
连接一个节点
1 2 3 4 5 6 7 8 9 10
| t = nuke.toNode('Text1') w = nuke.toNode('Write1')
w.setInput(0, t)
w.input(0) >>> Result: <Text1 at 0x000000001073FF30>
|
渲染一个Write节点
1 2 3
|
nuke.execute('Write1', 1001, 1010, 1)
|
使一个节点被选择
1 2 3
| node = nuke.toNode("Grade1") node.setSelected(True)
|
获取,设置节点坐标位置
1 2 3 4 5 6 7
| node = nuke.toNode("Grade1") print node.xpos() print node.ypos()
node.setXpos(0) node.setYpos(20) node.setXYpos(0, 20)
|