【问题标题】:How to get node parameter in Houdini with Python如何使用 Python 在 Houdini 中获取节点参数
【发布时间】:2025-11-24 08:40:01
【问题描述】:

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

以下就是我的全部了

import hou

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

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

【问题讨论】:

    标签: python houdini


    【解决方案1】:

    主要有两种方式:

    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

    当您将鼠标悬停在要在参数窗口中访问的参数名称上时,您可以看到要在代码中使用的参数名称。即,如果您将鼠标悬停在 Alembic 节点中的“文件名”上,它将显示:

    参数:文件名

    【讨论】:

    • parmVal = node.evalParm('fileName')。 - 这是另一种方式。