Houdini HDA中Python脚本的事件处理器与常用方法详解

竹里
竹里
发布时间:2026-10-13| 5人浏览过
原创

本文详解Houdini HDA中Python脚本的事件处理器配置,包括On Created、Python Model及On Delete的执行时机。通过Set Color、Node创建及按钮反馈等常用方法,展示如何在节点创建时执行命令、根据用户设置动态执行脚本,并通过参数调用自定义Python方法,实现缓存与重载几何体的功能。

Houdini HDA中Python脚本的事件处理器与常用方法详解

Event Handler

事件处理器(Event Handler)配置

在HDA(Houdini Digital Asset)环境中开发Python脚本时,首要步骤是选定一个事件处理器(Event Handler)。该处理器决定了当前创建的脚本命令将在何时被触发执行。

On Created(节点创建时执行):若选择此选项编辑Python脚本,则当Houdini节点被实例化创建时,脚本中的命令将自动执行。

Python Model(Python模式)

启用此选项后,创建的脚本将根据用户在界面中的具体设置动态执行相应的逻辑。

利用该模式,可以为节点配置参数提示等交互功能,增强用户操作的直观性。

On Delete(节点删除时执行):此选项允许脚本在节点被销毁时执行特定的清理或处理命令。

Python在Houdini节点中的常用方法

Python在Houdini节点中的常用方法

Set Color(设置颜色):用于改变节点在视图中的视觉标识颜色。


node = kwargs['node']  #获取当前节点
context = hou.pwd()  #当前节点的父对象
node.setColor(hou.Color((0.584,0.776,1)))  #设置当前节点颜色

Node(创建节点):通过脚本动态创建新的Houdini节点。


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)以执行不同的方法,从而实现差异化的操作逻辑。

通过参数调用Python脚本

通过节点参数调用Python脚本,实现用户交互与后端逻辑的绑定。


hou.pwd().hdaModule().CacheGeo()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。