【意见征集】1.2 压缩纹理配置方式优化讨论

背景介绍

3D 编辑器在 1.2 版本对纹理压缩的配置使用做了新的改造,将压缩纹理配置提取成为 项目配置 的一部分作为公共的 纹理压缩模板,图片资源区域只需要 勾选是否压缩再选择对应的压缩纹理配置模板 即可。纹理压缩配置支持导入导出,方便在不同项目间进行复用。这个修改主要是方便用户进行压缩纹理配置,避免需要针对每张图片进行多次配置压缩纹理的问题。为了避免针对各个平台琐碎的配置,目前的压缩纹理是以大类作为区分,构建时将会根据平台归属的大类进行纹理压缩配置的读取与使用,当然,由于不同平台对压缩纹理格式的支持不同,最终的输出结果构建还会做一层剔除,这个规则将来会在文档上说明。

由于新的压缩纹理配置数据记录方式和之前不同,更新后编辑器会对原本图片配置的压缩纹理配置做一次升级迁移,为其自动添加压缩纹理配置,这个名称可能不会是你们希望的,但界面上提供了配置名称的修改,也可以在编辑器关闭后全局替换项目内的相关配置名称。

需要注意的是,由于压缩纹理记录的是配置的名称,名称的修改会导致原本再图片 meta 上记录的纹理压缩配置实现,如果仅在编辑器内修改配置名称,原本的纹理上会需要重新配置。

意见征集部分

1. 关于当前压缩纹理配置方式是否有更好的建议或者觉得有什么不合理的地方?
2. 日常在使用压缩纹理配置时还存在哪些痛点,这个修改是否能够有所帮助?
3. 使用平台大类区分压缩纹理还是针对每个平台分别配置?因为将来平台支持会越来越多,挨个平台配置压缩纹理太过繁琐,而使用平台大类来配置则无法所见即所得的知道对应平台打包后真正支持的格式,各有得失。
4. 压缩纹理配置的 key 直接使用名称还是 uuid 这类的?

直接使用名称的好处是所见即所得,配置名可以直接在项目内搜索替换。
如果使用 id 的好处便是即便配置改名,原有图片上的配置依旧是可用的,但想要真正意义的名称修改,会需要先查询到对应配置的 id 才能直接在项目里全局替换。

下面是一些界面使用大致截图:

请问web-mobile和web-desktop怎么分别设置?
一直纠结这个问题

小游戏怎么选压缩方式啊 安卓 iOS都能用

请问,自动图集可以设置压缩纹理么

可以的啊,自动图集的配置面板一样会有和图片一样的压缩纹理配置页面。

有些小游戏是只有安卓版的比如 OPPO vivo 小游戏这种的,只要在 miniGame 大类里分别配置安卓 IOS 对应支持的纹理压缩格式,构建打包时会做平台支持的剔除,比如配置了 pvr 和 etc ,构建 OPPO 小游戏时就会将所有该平台不支持的纹理压缩格式 (pvr etc2) 剔除掉,具体的规则细节会在正式的文档里补充。

目前确实是没有办法分开设置的,你是有什么分开设置的需求吗?desktop 不支持的格式构建都会剔除掉的。

桌面浏览器的各方面性能比mobile要高得多,
所以web-mobile压缩可能是:etc, pvrtc, png-80%质量
而web-desktop可能直接不压缩,或png-90%质量啥的

另外,uuid和key的方式其实不是问题吧?
uuid作为定位用,key作为显示用不可以?

平台越来越多的问题,
考虑下这样的布局:

滚动的时候只滚动压缩配置,不滚动搜索和平台选择列表
平台选择后底下的压缩配置统一切换

了解,事实上我们内部有两种配置方式的争议,分平台大类配置还是针对平台的细化配置,我们会再考虑一下既能支持分平台细配又能方便操作的交互方式。

好的,感谢你的建议,我会尝试一下这种方式的使用效果~

最好用的应该是,主项目配置 压缩纹理的N种选项方案, 然后对不同平台的打包可以选择一个默认配置,N个可选配置。
然后是,项目里的每个资源都可以选择N个可选配置的一种,对单独素材细节调整就直接基于此选择的配置重写。(得支持不同资源的批量选择修改才行

不同平台不同的纹理压缩格式那么,热更新 assetboundle这些也要分平台来处理,能否有统一的纹理压缩格式

1赞