码迷,mamicode.com
首页 > 编程语言 > 详细

Python 在HDA中的应用

时间:2019-09-05 00:32:56      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:常用   mode   png   end   ESS   geometry   code   hand   nod   

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中的应用

标签:常用   mode   png   end   ESS   geometry   code   hand   nod   

原文地址:https://www.cnblogs.com/mlcg/p/11462633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!