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面板了
根据自己的习惯自行修改就好