简介: 最近希望在 houdini 中做一些功能, 不是自动触发的,而是通过 按钮 手动处理,本文就提供一个 使用 按钮 激活并调用 python 节点内的 def 方法或同面板内的 string 下的 python 代码
houdini版本: 2020.5
调用本节点内的 string 类型的 python 代码
Step 1
打开节点的Parameter面板,添加参数Button与String,点击Apply-
Step 2
设置 string 属性的语言类型
String参数中勾选 [Multi-line String] 、选择编写的 [语言类型] -
Step 3
为按钮编写 CallBackScript
Button参数在 [Callback Script] 中填写如下代码,并在Code中定义 onClick() 函数
调用 python 节点的函数
使用 node 方法获取节点,然后通过 parm 方法获取 python,即可
exec(hou.node('/obj/geo/subnet/py').parm('python').eval());onClick()
要点
- 如果 python 节点在按钮所在节点的内部,那么获取内部节点可以使用
hou.node('./innerPythonNode')的方法获取其内部名为 innerPythonNode 的节点 - 如果 按钮和 python 不在同一个节点上,那么 python 函数内的 hou.pwd() 实际获取到的是 按钮所在的节点,这个要注意

