Python for Houdini函数整理

相关参考文档:https://www.sidefx.com/docs/houdini/hom/hou
CSDN

在vscode中使用houdini python api方法: https://pakreht.com/houdini/configure-vscode-for-python/
Houdini houモジュールの入力補完の為のStubファイル生成メモ

  • hou.pwd():一个用于获取当前节点的函数
  • .geometry():获取当前节点的几何体,获取的数据只能引用,需要先使用hou.pwd获取到当前的node才能获取当前的geo,例如
    node = hou.pwd()
    geo = node.geometry()
  • .points()获取的是当前几何体的所有点的列表,可以使用该列表对点进行循环操作。如果想获取其中的某个点,可以这样写。
node = hou.pwd()
geo = node.geometry()
p0 = geo.points()[0]
  • .attribValue()里面输入属性名,可以获取指定元素上指定点的值。演示:
#获取点属性
node = hou.pwd()                    # 获取当前节点对象
geo = node.geometry()               # 获取节点的几何体数据
point = geo.iterPoints()[7]         # 获取编号为 7 的点
a = point.attribValue("a")          # 获取点 7 上属性 "a" 的值
print(a)                            # 打印属性 "a" 的值

#获取detail属性
node = hou.pwd()
geo = node.geometry()
a = geo.attribValue("a")
print(a)

  • .selectedNodes() 返回当前选择的节点列表,如果只选择了一个并操作当前节点需要这样写:node = hou.selectedNodes()[0]
  • .parm(“file”).evalAsString():获取指定节点上指定参数的值,例如获得当前选择节点的file路径,在Python Shell 节点运行
    如果是值是整数则这样写:num = node.parm("count").evalAsInt()
node = hou.selectedNodes()[0]
parm = node.parm("file").evalAsString()
print(parm) 

#打印结果
>>> >>> G:/DigitFold/HDATool/json/image/att.jpg
  • .prims():获取所有的面数量,可用于面循环。
  • .vertives():获取所有的顶点,可用于顶点循环。
  • .position():获取点的位置。例如
node = hou.pwd()
geo = node.geometry()
p0 = geo.points()[0]
p0p = p0.position()

print("位置",p0p)
  • .createPolygon();创建一个prim
  • .createPoint();创建一个点
  • .setPosition();设置一个位置属性,生成一个0 2 0位置的点:
node = hou.pwd()
geo = node.geometry()

point = geo.createPoint()
point.setPosition((0,2,0))
  • .addvertex();添加顶点
  • .deletePrims()删除模型上的面,需要先创建一个面的列表
node = hou.pwd()
geo = node.geometry()

p1 =[geo.prim(0),geo.prim(1)]
geo.deletePrims(p1)

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容