微信小游戏Atlas优化方案尝试
2026/01
17
11:01
问题提出:
Unity的Atlas一定为NPO2,比较浪费空间,可以使用ASTC6x6的非NPO2,节省面积
方法尝试
散文件引用方式
png.meta中有资产的全局guid,例如340767bb6f19e994d80df6bfab11b0ba
UIImage引用此Sprite时:
m_Sprite: {fileID: 21300000, guid: 340767bb6f19e994d80df6bfab11b0ba, type: 3}
注意:fileID不是指文件ID,是指内部资源ID(SpriteID)
guid才是真正的文件ID
其中21300000为Unity的默认资产,在这里代表为整个图片(默认)
多图的引用方式
png.meta中有资产的全局guid,例如340767bb6f19e994d80df6bfab11b0ba
以及子图切割信息
- serializedVersion: 2
name: v1_fuhaifanjiang_btn_gry
spriteID: eb7fb90c6ee167148a086af2f285a5d4
internalID: 194391527
其中spriteID是不用的,要用internalID
UIImage引用此Sprite时:
m_Sprite: {fileID: 194391527, guid: 340767bb6f19e994d80df6bfab11b0ba, type: 3}
如何重定向
1、所有的散文件用TexturerPacker打包成合图
并为散文件生成一个全局的internalID
2、删除散文件
3、进行Prefab替换:
将散文件的
{fileID: 21300000, guid: xxxx, type: 3}
替换为
{fileID: internalID, guid: yyyy, type: 3}
CopyRights: The Post by BY-NC-SA For Authorization,Original If Not Noted,Reprint Please Indicate From 老刘@开发笔记
Post Link: 微信小游戏Atlas优化方案尝试
Post Link: 微信小游戏Atlas优化方案尝试