houdini简单的缓存工具代码

houdini简单的缓存工具代码

import hou

def main():
selNodes = hou.selectedNodes()
out = hou.node('/out')
l = []
for node in selNodes:
for rendernode in node.children():
geoname = node.name()
if rendernode.name() == 'render':
path = '../..'+rendernode.path()<span id="more-302"></span>
geometry = out.createNode('geometry',geoname)
geometry.parm('trange').set(1)
geometry.parm('f1').setExpression('ch("'+path+'/f1")')
geometry.parm('f2').setExpression('ch("'+path+'/f2")')
geometry.parm('f3').setExpression('ch("'+path+'/f3")')
geometry.parm('soppath').set(rendernode.path())
geometry.parm('sopoutput').set('`chs("'+path+'/sopoutput")`')
geometry.moveToGoodPosition()
l.append(geometry)
if len(l)<=3:
prepost = out.createNode('prepost')
prepost.setInput(0,l[0],0)
prepost.setInput(1,l[1],0)
prepost.setInput(2,l[2],0)
prepost.moveToGoodPosition()
if len(l)>3:
prepost = out.createNode('prepost')
prepost.setInput(0,l[0],0)
prepost.setInput(1,l[1],0)
prepost.setInput(2,l[2],0)
prepost.moveToGoodPosition()
for i in range(1,len(l)/2,1):
prepost = prepost.createOutputNode('prepost')
prepost.setInput(1,l[(2*i+1)],0)
if (2*i+2)< len(l):
prepost.setInput(2,l[(2*i+2)],0)
prepost.moveToGoodPosition()

 

点赞

发表回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像