时间:2022-11-10 09:21:49 | 栏目:Python代码 | 点击:次
本文以Python开发为例来进行说明,环境说明:
Python相关环境所在的位置(Shell、Source Editor、Panel Editor)
Shell 就简单介绍一下。当执行 python 代码时,如果没有打开 Python Shell,相应的打印会出现在 Houdini Console(桌面右下角)

如果打开了,则打印信息会出现在 shell 窗口

Python Panel Editor,可以创建界面(New Interface),供panel的tab页签调用,以及下拉菜单使用

也可以通过先打开Python Panel 后,通过右上角的功能按钮打开 Python Panel Editor

创建的界面(Interfaces),通过设置便可以在其它tab页签中直接调用打开了(按 Apply确认,或者 Accept 确认并关闭窗口)

我们更多需求是在菜单栏上面,自定义很多菜单功能按钮
比如下面这样:
(1)创建一个菜单页签选项卡(New Shelf)

(2)往选项卡里添加功能按钮(New Tool)

按钮被点击时所执行的脚本,在 Script 中进行编写,常用的还有选项(Options)以及Hotkeys(热键)
(3)我们通过在 Scripts 中重新载入代码来执行 python 文件
一种通过切换 python工程目录,os.chdir;另外一种方法是通过 sys.path.append追加路径
import os import sys from imp import reload houdini_tool_path = 'python文件存放的路径' if houdini_tool_path not in sys.path: sys.path.append(houdini_tool_path) else: print(houdini_tool_path + " 存在") import python文件名 reload(python文件名) // todo...(比如执行python文件名指定的 run 函数等)
为了工具更便捷的开发,界面我们采用了 PySide2 进行搭建。
# 升级系统的pip > python –m pip install –upgrade pip # 安装 PySide2 > pip install pyside2
注意创建的是 Widget,以及控件的名称( Python 代码通过名称获得该控件的引用)

如果想为 Houdini 安装外部的 python库,比如pandas,需要用到 get-pip.py文件

弄完UI,我们来看看IDE编码环境如何搭建。本文用的是PyCharm编辑器,首先需要设置解释器路径为 Houdini 的 Python37目录

并向解释器路径添加以下三个目录

安装Houdini Python Support 插件

将新建的 Python 文件保存至指定目录,以便菜单栏上的按钮 Script 能加载并执行。
剩下主要任务就是编码,首先找到 ui 界面存放路径,然后加载界面,绑定界面事件
# coding=utf-8 #
import hou
import os
from PySide2 import QtCore, QtUiTools, QtWidgets
class CreateNodeDemo(QtWidgets.QWidget):
def __init__(self):
super(CreateNodeDemo, self).__init__()
# 创建界面
ui_file_path = 'UI界面存放的路径'
self.ui = QtUiTools.QUiLoader().load(ui_file_path, parentWidget=self)
self.setParent(hou.ui.mainQtWindow(), QtCore.Qt.Window)
# 绑定界面事件
self.ui.btn_create.clicked.connect(self.btn_click_handler)
print('11111111111111111111') # 打印日志
def btn_click_handler(self):
node_name = self.ui.txt_node.text()
self.create_node(node_name)
def create_node(self, node_name):
hou.node('/obj/').createNode('geo', node_name)
def run():
win = CreateNodeDemo()
win.show()