深入了解Python在HDA中的應(yīng)用
Event Handler
在HDA中,要?jiǎng)?chuàng)建Python腳本,需要先選擇一個(gè)事件處理器(EventHandle),他表示你要在什么時(shí)候執(zhí)行你現(xiàn)在所創(chuàng)建的腳本命令
On Created (在節(jié)點(diǎn)創(chuàng)建時(shí),執(zhí)行腳本)
如選擇此項(xiàng)編輯Python腳本,Python將會(huì)在節(jié)點(diǎn)創(chuàng)建時(shí)執(zhí)行Python中的命令
Python Model (Python模式)
這一項(xiàng)會(huì)使創(chuàng)建的腳本在使用過(guò)程中根據(jù)用戶設(shè)置執(zhí)行
可以使用這一項(xiàng)給節(jié)點(diǎn)設(shè)置參數(shù)提示等功能
On Delete(在節(jié)點(diǎn)創(chuàng)建時(shí)執(zhí)行腳本)
Python在Houdini節(jié)點(diǎn)上的常用方法
Set Color 設(shè)置顏色
node = kwargs['node'] #獲取當(dāng)前節(jié)點(diǎn) context = hou.pwd() #當(dāng)前節(jié)點(diǎn)的父對(duì)象 node.setColor(hou.Color((0.584,0.776,1))) #設(shè)置當(dāng)前節(jié)點(diǎn)顏色
Node 創(chuàng)建節(jié)點(diǎn)
try: out = context.createNode('null','OUT_render') #從當(dāng)前節(jié)點(diǎn)的父對(duì)象創(chuàng)建節(jié)點(diǎn) out.setInput(0,node) #設(shè)置out節(jié)點(diǎn)輸入端為當(dāng)前節(jié)點(diǎn)node out.setColor(hou.Color(0,0,0)) #設(shè)置out節(jié)點(diǎn)的顏色 except: pass
Print and Button feedback 打印字符和按鈕反饋
def CacheGeo(): #在OnCreate創(chuàng)建一些自定的方法,然后可以在節(jié)點(diǎn)參數(shù)中調(diào)用 this = hou.pwd() #獲取當(dāng)前節(jié)點(diǎn) print "\nCaching......!" filecache = hou.node(this.path() + '/cache_geo') #獲取設(shè)置當(dāng)前節(jié)點(diǎn)內(nèi)cache_geo的路徑為filecache filecache.parm('execute').pressButton() #獲取filecache節(jié)點(diǎn)上execute的狀態(tài) this.setColor(hou.Color((0.584,0.776,1))) #設(shè)置節(jié)點(diǎn)顏色 def ReloadGeo(): this = hou.pwd() print "\nLoaded successfully" filecache = hou.node(this.path() + '/report_geo') filecache.parm('reload').pressButton() this.setColor(hou.Color((0.475,0.812,0.204))) output = hou.node(this.path() + '/output0') #設(shè)置當(dāng)前節(jié)點(diǎn)內(nèi)output0節(jié)點(diǎn)的路徑為output geo = output.geometry() #獲取output的geometry并賦予到geo(要求出geometry才可以求這個(gè)節(jié)點(diǎn)上的geometry屬性) print len(geo.points()) #打印geo的點(diǎn)數(shù)
設(shè)置這兩個(gè)按鈕(cache_geo、report_geo)執(zhí)行時(shí)調(diào)用不同的方法,執(zhí)行不同的操作
參數(shù)調(diào)用PythonScripts
hou.pwd().hdaModule().CacheGeo()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python3應(yīng)用windows api對(duì)后臺(tái)程序窗口及桌面截圖并保存的方法
- python中tkinter的應(yīng)用:修改字體的實(shí)例講解
- Python使用sklearn庫(kù)實(shí)現(xiàn)的各種分類算法簡(jiǎn)單應(yīng)用小結(jié)
- python啟動(dòng)應(yīng)用程序和終止應(yīng)用程序的方法
- Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解
- python PrettyTable模塊的安裝與簡(jiǎn)單應(yīng)用
- 神經(jīng)網(wǎng)絡(luò)(BP)算法Python實(shí)現(xiàn)及應(yīng)用
相關(guān)文章
詳解pyppeteer(python版puppeteer)基本使用
這篇文章主要介紹了詳解pyppeteer(python版puppeteer)基本使用 ,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06python實(shí)現(xiàn)ipsec開(kāi)權(quán)限實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)ipsec開(kāi)權(quán)限的方法,彌補(bǔ)了windows自帶的命令行工具netsh ipsec static add filter不支持批量添加及添加重復(fù)規(guī)則的不足,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11在類Unix系統(tǒng)上開(kāi)始Python3編程入門
這篇文章主要介紹了在類Unix系統(tǒng)上開(kāi)始Python3編程入門,講解了最基礎(chǔ)最直觀的利用Print函數(shù)進(jìn)行各種輸出的方法,需要的朋友可以參考下2015-08-08Python發(fā)送網(wǎng)絡(luò)請(qǐng)求(requests)
這篇文章主要介紹了Python發(fā)送網(wǎng)絡(luò)請(qǐng)求(requests),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09關(guān)于命令行執(zhí)行Python腳本的傳參方式
這篇文章主要介紹了關(guān)于命令行執(zhí)行Python腳本的傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Python爬取破解無(wú)線網(wǎng)絡(luò)wifi密碼過(guò)程解析
這篇文章主要介紹了Python爬取破解無(wú)線網(wǎng)絡(luò)密碼過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Python面試之os.system()和os.popen()的區(qū)別詳析
Python調(diào)用Shell,有兩種方法:os.system(cmd)或os.popen(cmd)腳本執(zhí)行過(guò)程中的輸出內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于Python面試之os.system()和os.popen()區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-06-06Python常用模塊之threading和Thread模塊及線程通信
這篇文章主要介紹了Python常用模塊之threading和Thread模塊及線程通信,文章為圍繞主題的相關(guān)內(nèi)容展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友看可以參考一下方法2022-06-06