Event Handler
在HDA中,要創(chuàng)建Python腳本,需要先選擇一個事件處理器(EventHandle),他表示你要在什么時候執(zhí)行你現(xiàn)在所創(chuàng)建的腳本命令
On Created (在節(jié)點(diǎn)創(chuàng)建時,執(zhí)行腳本)
如選擇此項(xiàng)編輯Python腳本,Python將會在節(jié)點(diǎn)創(chuàng)建時執(zhí)行Python中的命令
Python Model (Python模式)
這一項(xiàng)會使創(chuàng)建的腳本在使用過程中根據(jù)用戶設(shè)置執(zhí)行
可以使用這一項(xiàng)給節(jié)點(diǎn)設(shè)置參數(shù)提示等功能
On Delete(在節(jié)點(diǎn)創(chuàng)建時執(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)的父對象 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)的父對象創(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才可以求這個節(jié)點(diǎn)上的geometry屬性) print len(geo.points()) #打印geo的點(diǎn)數(shù)
設(shè)置這兩個按鈕(cache_geo、report_geo)執(zhí)行時調(diào)用不同的方法,執(zhí)行不同的操作
參數(shù)調(diào)用PythonScripts
hou.pwd().hdaModule().CacheGeo()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
