欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python的Houdini插件開發(fā)過程詳情

 更新時(shí)間:2022年02月28日 11:17:33   作者:代碼輸入中...  
這篇文章主要介紹了基于Python的Houdini插件開發(fā)過程詳情,Houdini是基于QT進(jìn)行的開發(fā),支持?Python、HScript二種腳本進(jìn)行插件開發(fā),下面文章介紹內(nèi)容,需要的朋友可以參考一下

本文以Python開發(fā)為例來進(jìn)行說明,環(huán)境說明:

  • (1) Python 3.x(我用的版本是 3.9 版本)
  • (2)IDE開具 PyCharm(我用的版本是 PyCharm Community Edition 2021.3.2)
  • (3)Houdini,我安裝的版本是 Houdini 19.0.455

Python相關(guān)環(huán)境所在的位置(Shell、Source Editor、Panel Editor)

Shell 就簡(jiǎn)單介紹一下。當(dāng)執(zhí)行 python 代碼時(shí),如果沒有打開 Python Shell,相應(yīng)的打印會(huì)出現(xiàn)在 Houdini Console(桌面右下角)

如果打開了,則打印信息會(huì)出現(xiàn)在 shell 窗口

Python Panel Editor,可以創(chuàng)建界面(New Interface),供panel的tab頁(yè)簽調(diào)用,以及下拉菜單使用

也可以通過先打開Python Panel 后,通過右上角的功能按鈕打開 Python Panel Editor

創(chuàng)建的界面(Interfaces),通過設(shè)置便可以在其它tab頁(yè)簽中直接調(diào)用打開了(按 Apply確認(rèn),或者 Accept 確認(rèn)并關(guān)閉窗口)

我們更多需求是在菜單欄上面,自定義很多菜單功能按鈕

比如下面這樣:

(1)創(chuàng)建一個(gè)菜單頁(yè)簽選項(xiàng)卡(New Shelf)

(2)往選項(xiàng)卡里添加功能按鈕(New Tool)

按鈕被點(diǎn)擊時(shí)所執(zhí)行的腳本,在 Script 中進(jìn)行編寫,常用的還有選項(xiàng)(Options)以及Hotkeys(熱鍵)

(3)我們通過在 Scripts 中重新載入代碼來執(zhí)行 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...(比如執(zhí)行python文件名指定的 run 函數(shù)等)

為了工具更便捷的開發(fā),界面我們采用了 PySide2 進(jìn)行搭建。

# 升級(jí)系統(tǒng)的pip
> python –m pip install –upgrade pip

# 安裝 PySide2
> ?pip install pyside2

注意創(chuàng)建的是 Widget,以及控件的名稱( Python 代碼通過名稱獲得該控件的引用)

如果想為 Houdini 安裝外部的 python庫(kù),比如pandas,需要用到 get-pip.py文件

弄完UI,我們來看看IDE編碼環(huán)境如何搭建。本文用的是PyCharm編輯器,首先需要設(shè)置解釋器路徑為 Houdini 的 Python37目錄

并向解釋器路徑添加以下三個(gè)目錄

安裝Houdini Python Support 插件

將新建的 Python 文件保存至指定目錄,以便菜單欄上的按鈕 Script 能加載并執(zhí)行。

剩下主要任務(wù)就是編碼,首先找到 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__()

? ? ? ? # 創(chuàng)建界面
? ? ? ? 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()

到此這篇關(guān)于基于Python的Houdini插件開發(fā)過程詳情的文章就介紹到這了,更多相關(guān)基于Python的Houdini插件開發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python利用正則表達(dá)式排除集合中字符的功能示例

    python利用正則表達(dá)式排除集合中字符的功能示例

    在正則表達(dá)式里,想匹配一些字符中的一個(gè),也就是說給出一個(gè)字符的集合,只要出現(xiàn)這個(gè)集合里任意的字符,都是成立的,下面這篇文章主要給大家介紹了關(guān)于python利用正則表達(dá)式排除集合中字符功能的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • Python讀取JSON數(shù)據(jù)操作實(shí)例解析

    Python讀取JSON數(shù)據(jù)操作實(shí)例解析

    這篇文章主要介紹了Python讀取JSON數(shù)據(jù)操作實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 如何使用?Python為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭

    如何使用?Python為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭

    這篇文章主要介紹了使用?Python為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭,在?Python?的幫助下,不再?gòu)?qiáng)制開啟攝像頭,將向你展示如何為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭,需要的朋友可以參考下
    2022-08-08
  • Python爬蟲的兩套解析方法和四種爬蟲實(shí)現(xiàn)過程

    Python爬蟲的兩套解析方法和四種爬蟲實(shí)現(xiàn)過程

    本文想針對(duì)某一網(wǎng)頁(yè)對(duì) python 基礎(chǔ)爬蟲的兩大解析庫(kù)( BeautifulSoup 和 lxml )和幾種信息提取實(shí)現(xiàn)方法進(jìn)行分析,及同一網(wǎng)頁(yè)爬蟲的四種實(shí)現(xiàn)方式,需要的朋友參考下吧
    2018-07-07
  • python實(shí)現(xiàn)逆波蘭計(jì)算表達(dá)式實(shí)例詳解

    python實(shí)現(xiàn)逆波蘭計(jì)算表達(dá)式實(shí)例詳解

    這篇文章主要介紹了python實(shí)現(xiàn)逆波蘭計(jì)算表達(dá)式的方法,較為詳細(xì)的分析了逆波蘭表達(dá)式的概念及實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python類的詳細(xì)定義與使用案例(實(shí)例講解)

    Python類的詳細(xì)定義與使用案例(實(shí)例講解)

    這篇文章主要給大家介紹了關(guān)于Python類的詳細(xì)定義與使用案例的相關(guān)資料,在Python中類表示具有相同屬性和方法的對(duì)象的集合,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • 基于Python批量生成指定尺寸縮略圖代碼實(shí)例

    基于Python批量生成指定尺寸縮略圖代碼實(shí)例

    這篇文章主要介紹了基于Python批量生成指定尺寸縮略圖代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python線性回歸實(shí)戰(zhàn)分析

    Python線性回歸實(shí)戰(zhàn)分析

    這篇文章主要介紹了Python線性回歸實(shí)戰(zhàn)分析以及代碼講解,對(duì)此有興趣的朋友學(xué)習(xí)下吧。
    2018-02-02
  • Python設(shè)計(jì)模式之享元模式原理與用法實(shí)例分析

    Python設(shè)計(jì)模式之享元模式原理與用法實(shí)例分析

    這篇文章主要介紹了Python設(shè)計(jì)模式之享元模式原理與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了享元模式的相關(guān)概念、原理、定義及使用方法,需要的朋友可以參考下
    2019-01-01
  • python利用while求100內(nèi)的整數(shù)和方式

    python利用while求100內(nèi)的整數(shù)和方式

    這篇文章主要介紹了 python利用while求100內(nèi)的整數(shù)和方式,下面文章要描述的內(nèi)容有1到100的和、1到100內(nèi)的偶數(shù)和、1到100內(nèi)的奇數(shù)和,具體詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11

最新評(píng)論