如何使用 Python 在 Houdini 中获取节点参数

How to get node parameter in Houdini with Python

我对 Houdini 非常陌生,这可能是一个很明显的问题,但我遇到了困难。我想存储一个参数,特别是 alembic 对象的文件名,以便我可以验证文件名以查看它是否遵循命名空间约定

以下是我的全部

import hou

node = hou.node('obj/alembic1/alembic1')

获取节点后,如何获取文件名属性?非常感谢任何指导

主要有两种方式:

1 正如您开始在代码中所做的那样,访问节点然后访问节点的 parm HOM 方法:

parm = hou.node('obj/alembic1/alembic1').parm('fileName')

2 直接使用hou.parm:

parm = hou.parm('obj/alembic1/alembic1/fileName')

parm是一个表示参数的对象,要获取参数的值需要调用它的eval方法:

parmval = parm.eval() 

通常情况是这样的:

node = hou.node('obj/alembic1/alembic1')
parmVal = node.parm('fileName').eval()

请注意,parm.eval() 适用于大多数情况,但有时您可能需要更详细的方法,例如 parm.evalAsNode()。查看帮助 here.

将鼠标悬停在参数 window 中要访问的参数名称上时,您可以看到要在代码中使用的参数名称。也就是说,如果您将鼠标悬停在 Alembic 节点中的 "File Name" 上,它将显示:

Parameter: fileName