Houdini 19.5 關(guān)于AssetGallery的變動(dòng)
sidefx在開(kāi)發(fā)這個(gè)東西,幾個(gè)月沒(méi)用,發(fā)現(xiàn)19.5突然把這個(gè)東西的相關(guān)函數(shù)改了,記錄一下

19.0用的是qt模塊里AssetGallery函數(shù)操作這個(gè)資源面板的,官方也給了這個(gè)類(lèi)的用法

19.5沒(méi)有這個(gè)函數(shù)了,取而代之的是hou.AssetGalleryDataSource,增加了很多信息選項(xiàng),但是官方?jīng)]給什么用法說(shuō)明


官方倒是給了一個(gè)這個(gè)節(jié)點(diǎn)來(lái)方便用戶(hù)批量添加usd資源

但是按照說(shuō)明,它只能尋找資源文件夾下的縮略圖,否則就會(huì)自己渲一張作為縮略圖

沒(méi)有好用的資源管理插件之前(大部分這輩子不會(huì)有),我還是想把縮略圖統(tǒng)一放到一個(gè)文件夾,用其它軟件的時(shí)候也方便對(duì)照搜索,所以還是得研究一下自定義存放資源的方法

獲取layout asset gallery面板的數(shù)據(jù)改成了hou.ui模塊下的這三個(gè)函數(shù),獲取當(dāng)前asset gallery面板調(diào)用的數(shù)據(jù)庫(kù)就用sharedLayoutDataSource

這個(gè)sourceIdentifier就是AssetGalleryDataSource構(gòu)造函數(shù)中的主參數(shù),用來(lái)指定要操作的數(shù)據(jù)庫(kù)文件

相比舊版,新版的AssetGallery多了很多細(xì)節(jié)設(shè)置比如添加刪除顏色標(biāo)簽、收藏等,具體可以到官方文檔里詳細(xì)查看
https://www.sidefx.com/docs/houdini/hom/hou/AssetGalleryDataSource.html


添加物體要用的就是這個(gè)addItem方法,lable就是原來(lái)的name,file_path是usd路徑,thumbnail現(xiàn)在可以直接讀取二進(jìn)制圖片了,不用借助QT圖片,其它參數(shù)暫時(shí)不需要

添加函數(shù)封裝如下
這里我用pathlib讀取二進(jìn)制圖片,用傳統(tǒng)方式也可以的,logger用來(lái)調(diào)試,不用在意
接下來(lái)流程和以前沒(méi)什么區(qū)別了,使用top把kitbash資源批量導(dǎo)出成USD,批量生成縮略圖,然后用python腳本批量添加到layout asset gallery
要注意現(xiàn)在添加完物體需要手動(dòng)刷新一下Layout Asset Gallery面板才能顯示出來(lái),調(diào)用一下hou.ui.reloadSharedLayoutDataSource()函數(shù)即可
以這個(gè)Kitbash3D的建筑資產(chǎn)為例
這是我的文件夾結(jié)構(gòu)和我自定義的腳本,縮略圖的文件名和外面的usd資源文件夾名稱(chēng)一一對(duì)應(yīng)


然后就可以批量添加到Layout Asset Gallery面板了

根據(jù)自己的習(xí)慣自行修改就好
