由于nuke中的write节点提供了beforerender,afterrender这类事件,我们想添加一些功能只需要在这里面敲入代码即可。事件一旦发生,自然会触发我们敲入的co
de。
Nuke中每次渲染完毕后还需要把渲染结果再倒入进来,实在不胜其烦,于是写了一段代码敲入afterrender输入栏里,希望在渲染结束后触发这段代码自动导入渲染结果。
Talk is cheap,show you the code:
###########################################################################
inputx = nuke.thisNode()[‘xpos‘].value()
inputy = nuke.thisNode()[‘ypos‘].value()
filelist = nuke.getFileNameList(os.path.dirname(nuke.thisNode().knob(‘file‘).value()))
for a in filelist:
if a.find(‘.db‘) < 0:
if a.find(‘-‘) >= 0:
firstframe=a.split(‘ ‘)[1].split("-")[0]
lastframe=a.split(‘ ‘)[1].split("-")[1]
newnode
=
nuke.nodes.Read(file=os.path.dirname(nuke.thisNode().knob(‘file‘).value())
+ ‘/‘ + a.split(‘ ‘)[0],first=firstframe,last=lastframe,)
newnode.setXYpos(int(inputx),int(inputy)+50)
else:
firstframe=a.split(‘.‘)[-2]
lastframe=a.split(‘.‘)[-2]
newnode
=
nuke.nodes.Read(file=os.path.dirname(nuke.thisNode().knob(‘file‘).value())
+ ‘/‘ + a.split(‘ ‘)[0],first=firstframe,last=lastframe,)
newnode.setXYpos(int(inputx),int(inputy)+50)
else:
pass