Nuke的Call Back使用
Nuke的Call Back使用
lingyuncallback的应用
添加在创建节点时,执行的callback
1 | def test(): |
执行上述代码,在创建一个Blur节点的时候,就可以看到调用里test函数。
如果需要传参,可以参照:nuke.addOnCreate(callable, args=(), kwargs={}, nodeClass='')
如果要删除callback,使用:nuke.removeOnCreate(test, nodeClass='Blur')
还有一个方法是:nuke.addOnUserCreate()
和addOnCreate雷同,区别在于
前者是节点在被创建时调用(包括加载脚本,粘贴等等),
后者只有在用户使用GUI的时候调用,粘贴或者打开工程是无效的。
两个例子
创建节点时,随机生成颜色的功能。
1 | import random |
创建FrameHold节点后,帧数自动设置为当前帧。
1 | def setFrame(): |
callback 类型
Knob | 使用 |
---|---|
onCreate | 节点创建时 |
onUserCreate | 用户创建节点时 |
onScriptLoad | 工程文件加载时 |
onScriptSave | 工程文件保存时 |
beforeRender | 渲染前执行 |
afterRender | 渲染后执行 |
beforeFrameRender | 每一帧的渲染前 |
afterFrameRender | 每一帧的渲染后 |
knobChanged | knob被改动后 |
两个例子
1.输出前创建文件夹
1 | def createWriteDir(): |
2.使用knobChanged关联属性
1 | def gangGammaGainSliders(): |
也可以直接修改knobChanged的值
1 | nuke.selectedNode()["knobChanged"].setValue(''' |
重要: 查看knobChanged的值
1 | print nuke.selectedNode()["knobChanged"].value() |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果