sidefx在开发这个东西,几个月没用,发现19.5突然把这个东西的相关函数改了,记录一下


(相关资料图)

19.0用的是qt模块里AssetGallery函数操作这个资源面板的,官方也给了这个类的用法

19.5没有这个函数了,取而代之的是hou.AssetGalleryDataSource,增加了很多信息选项,但是官方没给什么用法说明

官方倒是给了一个这个节点来方便用户批量添加usd资源

但是按照说明,它只能寻找资源文件夹下的缩略图,否则就会自己渲一张作为缩略图

没有好用的资源管理插件之前(大部分这辈子不会有),我还是想把缩略图统一放到一个文件夹,用其它软件的时候也方便对照搜索,所以还是得研究一下自定义存放资源的方法

获取layout asset gallery面板的数据改成了hou.ui模块下的这三个函数,获取当前asset gallery面板调用的数据库就用sharedLayoutDataSource

这个sourceIdentifier就是AssetGalleryDataSource构造函数中的主参数,用来指定要操作的数据库文件

相比旧版,新版的AssetGallery多了很多细节设置比如添加删除颜色标签、收藏等,具体可以到官方文档里详细查看

https://www.sidefx.com/docs/houdini/hom/hou/AssetGalleryDataSource.html

添加物体要用的就是这个addItem方法,lable就是原来的name,file_path是usd路径,thumbnail现在可以直接读取二进制图片了,不用借助QT图片,其它参数暂时不需要

添加函数封装如下

这里我用pathlib读取二进制图片,用传统方式也可以的,logger用来调试,不用在意

接下来流程和以前没什么区别了,使用top把kitbash资源批量导出成USD,批量生成缩略图,然后用python脚本批量添加到layout asset gallery

要注意现在添加完物体需要手动刷新一下Layout Asset Gallery面板才能显示出来,调用一下hou.ui.reloadSharedLayoutDataSource()函数即可

以这个Kitbash3D的建筑资产为例

这是我的文件夹结构和我自定义的脚本,缩略图的文件名和外面的usd资源文件夹名称一一对应

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

根据自己的习惯自行修改就好

推荐内容