首页 > 其他 > 详细

自定义Write节点的afterrender属性

时间:2015-10-10 19:57:53      阅读:344      评论:0      收藏:0      [点我收藏+]

由于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

自定义Write节点的afterrender属性

原文:http://www.cnblogs.com/hksac/p/4867976.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!