统计
  • 建站日期:2021-03-10
  • 文章总数:29 篇
  • 评论总数:0 条
  • 分类总数:3 个
  • 最后更新:10月27日
文章 Houdini

Houdini python API (持续更新...)

甜面酱先生
首页 Houdini 正文

hou

hou.userName()              # 返回当前系统用户名
hou.getenv('HOME')          # 返回环境变量的值
hou.putenv('HOME', 'VALUE') # 设置环境变量
hou.exit()                  # 退出Houdini程序

hou.hipFile

hou.hipFile.load('/PATH/FOR/HIPFILE')   # 打开文件
hou.hipFile.save(file_name=None, save_to_recent_files=True)     # 保存文件(提供不同的file_name则为另存为...)
hou.hipFile.hasUnsavedChanges() ->bool      # 当前文件修改之后是否保存?
hou.hipFile.setName(file_name)              # 设置新的文件名,类似于另存为(file_name为绝对路径并包含文件名)
hou.hipFile.clear()     # 新场景
hou.hipFile.saveAndIncrementFileName()      # 文件名的增量保存
hou.hipFile.basename()  # 返回文件名
hou.hipFile.name()      # 返回文件名
hou.hipFile.path()      # 返回文件的绝对路径(包含文件名)

hou.Node

_node = hou.node('/node/path')          # 给定节点路径返回一个节点对象
_nodes = hou.nodes(['/node/path', ])    # 类似于node(),nodes需要给一个包含节点路径的列表,返回一个包含节点对象的列表
_node.cd('/nodeName')                   # 在当前节点进入到内部
_node.children()                        # 返回包含当前节点的子节点列表
_node.parent()                          # 返回当前节点的父节点
_node.name()                            # 返回当前节点名
_node.type()                            # 返回当前节点类型,根据此类型创建节点
_node.allSubChildren()                  # 返回当前节点的所有下级节点
_node_items = _node.allItems()          # 类似于children()
_nodes = _node.allNodes()               # 类似于allSubChildren(),返回一个生成器

_node.destroy()                                     # 销毁当前节点
_node.createNode(node_type_name, node_name=None)    # 在当前节点的内部创建一个类型为node_type_name的节点,节点名可选:node_name
_node.createInputNode(input_index, node_type_name)  # 在当前节点上创建一个输入节点(input_index输入端口号)
_node.createOutputNode(node_type_name)              # 在当前节点下创建一个输出出点
_node.inputs()                          # 返回所有当前上的输入节点元组
_node.input(inputidx)                   # 返回当前节点给定输入端口号的节点对象
_node.outputs()                         # 返回所有当前下的输出节点元组

_node.setInput(input_index, node_object)            # 当前节点链接一个输入节点
_node.setFirstInput(node_object)                    # 把node_object链接到当前节点的第一个输入端,类似self.setInput(0, node_object)
_node.setNextInput(node_object)                     # 把node_object链接到当前节点的下一个输入端,多用于循环中的Merge节点
_node.insertInput(input_index, node_object)         # 在当前节点的input_index输入端链接node_object节点
_node.setNameInput(input_name, item_to_become_input, output_name_or_index)      # 根据输入端口名input_name链接一个输入节点item_to_become_input

_node.inputNames()                      # 返回当前节点的所有输入端口的名字元组
_node.inputLabels()                     # 返回当前节点的所有输入端口的标题元组
_node.outputNames()                     # 返回当前节点的所有输出端口的名字元组
_node.outputLabels()                    # 返回当前节点的所有输出端口的标题元组

_node.comment()                         # 返回当前节点的注释
_node.setComment('str')                 # 设置当前节点的注释
_node.creationTime()                    # 返回当前节点创建的时间
_node.modificationTime()                # 返回当前节点最后修改的时间
_node.moveToGoodPosition()              # 当前节点移动到最佳位置
_node.layoutChildren()                  # 当前子网络内的所有节点移动到最佳位置
_node.setGenericFlag(flag, value)       # 设置当前节点的flag状态:hou.nodeFlag.Display / hou.nodeFlag.Render

hou.Parm

_parm = _node.parm('parmName')          # 获取当前节点的参数
_parm.eval()                            # 返回当前参数值
_parm.evalAsString()                    # 返回当前参数值并转换为str类型
_parm.set()                             # 设置当前参数值
_parm.setExpression(expression, language=None)      # 使用脚本语言设置当前参数(hou.exprLanguage.Python / hou.exprLanguage.Hscript
_parm.deleteAllKeyframes()              # 删除当前参数的所有关键帧
_parm.deleteKeyframeAtFrame(frame)      # 删除当前参数指定帧的关键帧
_parm.isAtDefault()                     # 返回当前参数是否为默认值
_parm.revertToDefaults()                # 当前参数恢复默认值

hou.Playbar

hou.fps()                           # 返回当前项目的FPS
hou.setFps(24)                      # 设置当前项目的FPS
hou.frame()                         # 返回当前时间帧
hou.setFrame(10)                    # 设置当前时间帧
hou.frameToTime()                   # 返回当前帧转为秒;类似:(hou.frame() - 1.0) / hou.fps()
hou.intFrame()                      # 返回当前的整数帧;如果是小数帧,则四舍五入
hou.playMode                        # 设置播放模式:Loop / Once
hou.playbar.play()                  # 开始播放
hou.playbar.stop()                  # 停止播放
hou.playbar.isPlaying()             # 是否在播放
hou.playbar.setFrameRange(start,end)# 设置帧范围
hou.playbar.setFrameIncrement(1)    # 设置下一帧的增量

hou.Geometry

_geo = hou.geometry()               # 获取当前节点的几何属性
_geo.findPointAttrib(name)          # 查找点属性
_geo.findPrinmAttrib(name)          # 查找原始属性,即面属性
_geo.findVertexAttrib(name)         # 查找顶点属性
_geo.findGlobalAttrib(name)         # 查找全局属性

_geo.pointAttribs()                 # 返回所有点属性的元组
_geo.primAttribs()                  # 返回所有原始属性的元组
_geo.vertexAttribs()                # 返回所有顶点属性的元组
_geo.globalAttribs()                # 返回所有全局属性的元组



版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
Qt for Python
« 上一篇
Houdini 一键设置统一filecache缓存路径
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。

今日事今日毕

标签

最新评论