最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

  • (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)用,以及下拉菜單使用

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

創(chuàng)建的界面(Interfaces),通過(guò)設(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)我們通過(guò)在 Scripts 中重新載入代碼來(lái)執(zhí)行 python 文件

一種通過(guò)切換 python工程目錄,os.chdir;另外一種方法是通過(guò) 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 代碼通過(guò)名稱獲得該控件的引用)

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

弄完UI,我們來(lái)看看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ò)程詳情的文章就介紹到這了,更多相關(guān)基于Python的Houdini插件開發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python selenium 三種等待方式解讀

    Python selenium 三種等待方式解讀

    這篇文章主要介紹了Python selenium一定要會(huì)用selenium的等待,三種等待方式解讀的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Python的UTC時(shí)間轉(zhuǎn)換講解

    Python的UTC時(shí)間轉(zhuǎn)換講解

    今天小編就為大家分享一篇關(guān)于Python的UTC時(shí)間轉(zhuǎn)換講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • django中的數(shù)據(jù)庫(kù)遷移的實(shí)現(xiàn)

    django中的數(shù)據(jù)庫(kù)遷移的實(shí)現(xiàn)

    這篇文章主要介紹了django中的數(shù)據(jù)庫(kù)遷移的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳談Numpy中數(shù)組重塑、合并與拆分方法

    詳談Numpy中數(shù)組重塑、合并與拆分方法

    下面小編就為大家分享一篇詳談Numpy中數(shù)組重塑、合并與拆分方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python考拉茲猜想輸出序列代碼實(shí)踐

    Python考拉茲猜想輸出序列代碼實(shí)踐

    這篇文章主要介紹了Python考拉茲猜想輸出序列代碼實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決

    Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決

    這篇文章主要介紹了Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)

    Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)

    有朋友問(wèn)小編使用pyinstaller打包源碼時(shí),因?yàn)榇a中使用了圖像、音頻、視頻等資源文件,無(wú)法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過(guò)代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧
    2020-02-02
  • python獲取整個(gè)網(wǎng)頁(yè)源碼的方法

    python獲取整個(gè)網(wǎng)頁(yè)源碼的方法

    在本篇文章里小編給大家整理的是關(guān)于python獲取整個(gè)網(wǎng)頁(yè)源碼的方法,需要的朋友們可以參考下。
    2020-08-08
  • Python機(jī)器學(xué)習(xí)10大經(jīng)典算法的講解和示例

    Python機(jī)器學(xué)習(xí)10大經(jīng)典算法的講解和示例

    10個(gè)經(jīng)典的機(jī)器學(xué)習(xí)算法包括:線性回歸、邏輯回歸、K-最近鄰(KNN)、支持向量機(jī)(SVM)、決策樹、隨機(jī)森林、樸素貝葉斯、K-均值聚類、主成分分析(PCA)、和梯度提升(Gradient?Boosting),我將使用常見的機(jī)器學(xué)習(xí)庫(kù),如scikit-learn,numpy和pandas?來(lái)實(shí)現(xiàn)這些算法
    2024-06-06
  • Python實(shí)現(xiàn)的圓形繪制(畫圓)示例

    Python實(shí)現(xiàn)的圓形繪制(畫圓)示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的圓形繪制(畫圓),結(jié)合實(shí)例形式分析了Python基于numpy與matplotlib模塊的數(shù)學(xué)運(yùn)算及圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01

最新評(píng)論

沈丘县| 吴江市| 获嘉县| 东平县| 通州区| 田林县| 广平县| 灵宝市| 甘谷县| 阳高县| 东海县| 新巴尔虎右旗| 九龙坡区| 门头沟区| 鄱阳县| 衡山县| 类乌齐县| 繁峙县| 高淳县| 扶余县| 通州市| 大石桥市| 灌南县| 平泉县| 山丹县| 昌都县| 江北区| 拉萨市| 恩施市| 荣成市| 徐汇区| 长白| 蓬溪县| 广昌县| 涿鹿县| 旺苍县| 绥棱县| 精河县| 西平县| 井陉县| 大新县|