返回顶部
首页 > 资讯 > 后端开发 > Python >基于Python的Houdini插件开发过程详情
  • 325
分享到

基于Python的Houdini插件开发过程详情

2024-04-02 19:04:59 325人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文以Python开发为例来进行说明,环境说明: (1) python 3.x(我用的版本是 3.9 版本)(2)IDE开具 PyCharm(我用的版本是 PyCharm CommU

本文以Python开发为例来进行说明,环境说明:

  • (1) python 3.x(我用的版本是 3.9 版本)
  • (2)IDE开具 PyCharm(我用的版本是 PyCharm CommUnity Edition 2021.3.2)
  • (3)Houdini,我安装的版本是 Houdini 19.0.455

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()

到此这篇关于基于Python的Houdini插件开发过程详情的文章就介绍到这了,更多相关基于Python的Houdini插件开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于Python的Houdini插件开发过程详情

本文链接: https://lsjlt.com/news/140761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于Python的Houdini插件开发过程详情
    本文以Python开发为例来进行说明,环境说明: (1) Python 3.x(我用的版本是 3.9 版本)(2)IDE开具 PyCharm(我用的版本是 PyCharm Commu...
    99+
    2024-04-02
  • 基于java的opencv开发过程详解
    1.下载安装OpenCV https://opencv.org/releases/ 选择合适的平台安装包下载,然后双击安装,也就是解压的过程。这里主要记录windows下的环境搭建...
    99+
    2024-04-02
  • MybatisX 快速开发插件过程详解
    目录简介基础功能 1.xml跳转2.代码生成3.JPA提示和生成语句简介 MybatisX 是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis...
    99+
    2024-04-02
  • Python搭建插件式框架(基于组件开发
    Python搭建插件式框架(基于组件开发) 概念 基于组件的开发(Component-Based Development,简称CBD)是一种软件开发范型。它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有...
    99+
    2023-01-31
    组件 插件 框架
  • 基于python开发的股市行情看板
    个人博客: https://mypython.me 近期股市又骚动起来,回忆起昔日炒股经历,历历在目,悲惨经历让人黯然神伤,去年共投入4000元入市,最后仅剩1000多,无奈闭关修炼,忘记股市,全身心投入代码世界,享受代码带来的乐趣。近日...
    99+
    2023-01-30
    股市行情 看板 python
  • 基于Python的科学占卜工具开发过程
    目录背景前置知识基础原理如何产生卦象开发源代码背景 一直以来,中式占卜都是基于算命先生手工实现,程序繁琐(往往需要沐浴、计算天时、静心等等流程)。准备工作复杂(通常需要铜钱等道具),...
    99+
    2024-04-02
  • 基于Android开发支持表情的实现详解
    最近项目需要支持表情,表情的添加和解析实现基本上是参照Android自身的SmileyParser,具体就不多讲了,直接贴上代码: 代码如下:public class Smil...
    99+
    2022-06-06
    android开发 Android
  • Vue3 组件的开发详情
    目录一、前言二、组件的开发1、组件的构成2、header部分组件的开发3、footer组件的开发4、修改App.vue5、移除Helloword组件及相关代码6、重启服务查看三、最后...
    99+
    2024-04-02
  • 基于IntelliJ IDEA/Android Studio插件开发指南(推荐)
    目录前言插件开发的基本流程1. 环境配置1.1 安装PDK1.2 配置插件开发SDK2. 新建插件工程3. Action4. 配置描述5. 调试、打包业务实践方案一:自建Diff工具...
    99+
    2024-04-02
  • 基于Vue3实现前端埋点上报插件并打包发布到npm的详细过程
    目录项目环境搭建插件开发点击事件上报vue自定义指令手动上报方法页面访问次数上报(pv,uv)页面停留时间(TP)获取公共参数引入axios打包发布使用说明OptionOptions...
    99+
    2022-11-13
    Vue打包发布到npm Vue埋点上报插件打包发布到npm
  • 基于Jupyter notebook搭建Spark集群开发环境的详细过程
    一、概念介绍: 1、Sparkmagic:它是一个在Jupyter Notebook中的通过Livy服务器 Spark REST与远程Spark群集交互工作工具。Sparkmagic...
    99+
    2024-04-02
  • vue+element开发一个谷歌插件的全过程
    简单功能:点击浏览器右上角插件icon弹出小弹窗,点击设置弹出设置页,并替换背景图或颜色。 开始 1.本地创建文件夹testPlugin并新建manifest.json文件 {...
    99+
    2024-04-02
  • 基于pycharm的python开发配置
         虽然基于命令行+文本编辑可以完成python程序开发,并熟悉操作系统下的命令操作。但是基于集成开发环境的开发能够更有效率。因此选择一个适合的集成开发工具是重...
    99+
    2024-04-02
  • 基于python开发环境的Dockerf
    在本地创建一个管理Docker的目录 ## MacOSX 系统下的 mkdir -p ~/mywork/docker/python ## 其他操作系统平台自定义管理目录,这里省略 python开发环境的Dockerfil...
    99+
    2023-01-31
    环境 python Dockerf
  • Spring Boot在开发过程中常用IDEA插件
    目录一、Codota二、AutofillingJavacallarguments三、GsonFormat四、RainbowBrackets五、MavenHelper六、Keyprom...
    99+
    2024-04-02
  • 基于visual studio code + react 开发环境搭建过程
    开发环境 windows 开发工具 visual studio code node 安装和 npm windows 安装node 可以直接在 node官网 直接下载直接当作普通软件安...
    99+
    2024-04-02
  • python开发之基于thread线程搜索本地文件的方法
    本文实例讲述了python开发之基于thread线程搜索本地文件的方法。分享给大家供大家参考,具体如下: 先来看看运行效果图: 利用多个线程处理搜索的问题,我们可以发现他很快.... 下面是代码部分: ...
    99+
    2022-06-04
    线程 本地文件 方法
  • 基于Python+Pyqt5开发一个应用程序
    介绍你的那个她/他 1. UI —MainWindow设计界面及代码 # -*- coding: utf-8 -*- # Form implementation genera...
    99+
    2024-04-02
  • 基于Python制作炸金花游戏的过程详解
    目录前言一、思路二、解决方案三、总结前言 《诈金花》又叫三张牌,是在全国广泛流传的一种民间多人纸牌游戏。比如JJ比赛中的诈金花(赢三张),具有独特的比牌规则。游戏过程中需要考验玩家的...
    99+
    2024-04-02
  • 基于Python的人脸检测与分类过程详解
    目录人脸识别算法简介人脸检测简述数据集介绍算法介绍测试网络结果预览人脸识别 算法简介 我们的算法可以分成两个部分,识别人脸位置和确定人脸分类。这两个部分可以看成:1.检测出人脸之间相...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作