层级
官方文档
hou.NetworkMovableItem.path() ─ SideFX docs
hou.node HOM function ─ SideFX docs
常用
import hou
# 查找
root = hou.node("/")
node.numItems()
# 创建
obj = hou.node('/obj')
geo = obj.createNode('geo')
geo = hou.node('/obj').createNode('geo')
geo.setName('josh', unique_name=True) # 重命名
path = geo.path() # 获取完整路径
geo = hou.node(path) # 基于路径引用
exec('''self = kwargs['node']\nprint(self.name())''') # 从一个参数的回调脚本中引用自己。
# 复制与移动
copied_node = hou.copyNodesTo((original_node,), parent_node)[0]
moved_node = hou.moveNodesTo((original_node,), parent_node)[0]
geo.moveToGoodPosition()
pos = reference_node.position()
transformed_pos = pos + hou.Vector2((2.0, -1.0))
node.setPosition(transformed_pos)
# 遍历节点
node.parent()
node.children()
node = hou.node("/obj/geo1/")
for item in node.children():
print(item)
# 设置节点输入输出,返回set 或者 null
node.inputs()
node.outputs()
node.setInput(index,node_name)
# 设置节点flag
node.setDisplayFlag(True)
node.setRenderFlag(True)
node.setGenericFlag(hou.nodeFlag.Lock,True))
node.isHiden()
# 设置节点属性
box.setParms({"tx":1,"ty":2,"tz":3})
color_node.setParms({"colorr":1,"colorg":0,"colorb":0})
# 外观设置
geo.setColor(hou.Color((1, 0, 0)))
geo.setUserData('nodeshape', 'wave') # 形状
hou.selectedNodes() 当前选择的节点
参考
Python & Nodes in Houdini || Exploring Houdini youtube视频