深入了解Python在HDA中的应用
程序员文章站
2023-01-22 11:49:51
event handler
在hda中,要创建python脚本,需要先选择一个事件处理器(eventhandle),他表示你要在什么时候执行你现在所创建的脚本命令
on...
event handler
在hda中,要创建python脚本,需要先选择一个事件处理器(eventhandle),他表示你要在什么时候执行你现在所创建的脚本命令
on created (在节点创建时,执行脚本)
如选择此项编辑python脚本,python将会在节点创建时执行python中的命令
python model (python模式)
这一项会使创建的脚本在使用过程中根据用户设置执行
可以使用这一项给节点设置参数提示等功能
on delete(在节点创建时执行脚本)
python在houdini节点上的常用方法
set color 设置颜色
node = kwargs['node'] #获取当前节点 context = hou.pwd() #当前节点的父对象 node.setcolor(hou.color((0.584,0.776,1))) #设置当前节点颜色
node 创建节点
try: out = context.createnode('null','out_render') #从当前节点的父对象创建节点 out.setinput(0,node) #设置out节点输入端为当前节点node out.setcolor(hou.color(0,0,0)) #设置out节点的颜色 except: pass
print and button feedback 打印字符和按钮反馈
def cachegeo(): #在oncreate创建一些自定的方法,然后可以在节点参数中调用 this = hou.pwd() #获取当前节点 print "\ncaching......!" filecache = hou.node(this.path() + '/cache_geo') #获取设置当前节点内cache_geo的路径为filecache filecache.parm('execute').pressbutton() #获取filecache节点上execute的状态 this.setcolor(hou.color((0.584,0.776,1))) #设置节点颜色 def reloadgeo(): this = hou.pwd() print "\nloaded successfully" filecache = hou.node(this.path() + '/report_geo') filecache.parm('reload').pressbutton() this.setcolor(hou.color((0.475,0.812,0.204))) output = hou.node(this.path() + '/output0') #设置当前节点内output0节点的路径为output geo = output.geometry() #获取output的geometry并赋予到geo(要求出geometry才可以求这个节点上的geometry属性) print len(geo.points()) #打印geo的点数
设置这两个按钮(cache_geo、report_geo)执行时调用不同的方法,执行不同的操作
参数调用pythonscripts
hou.pwd().hdamodule().cachegeo()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。