Python 在HDA中的应用
Posted mlcg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 在HDA中的应用相关的知识,希望对你有一定的参考价值。
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()
以上是关于Python 在HDA中的应用的主要内容,如果未能解决你的问题,请参考以下文章
python - 如何在python项目中的两个应用程序之间设置urlpatterns?