WebP 导出 + Switch swizzled 纹理 — AssetStudioMod 独有能力
WebP 导出
为什么 WebP
WebP 是 Google 推出的图像格式,相比 PNG:
- 无损模式体积小 25% – 35%;
- 有损模式体积小 60% – 70%;
- 支持 alpha 通道;
- Unity 2018+ 原生支持 WebP 作为纹理格式。
对于批量导出大量立绘、UI 图的场景,选 WebP 能节省大量磁盘空间。
怎么开 WebP
AssetStudioMod 独有。在 Options → Export options → Image Format 下拉里选 WebP。
CLI 方式:
AssetStudioModCLI <path> -t sprite,tex2d --image-format webp -o <output>
WebP 导出支持:Texture2D、Sprite、Texture2DArray。
WebP 的取舍
| 优点 | 缺点 |
|---|---|
| 体积小 | 相比 PNG,有损 WebP 有轻微画质损失 |
| 支持 alpha | 有些老旧看图软件不支持 WebP(但 Chrome、Edge、Windows 10+ 都原生支持) |
| Unity 原生支持 | 导回去 Unity 也能识别 |
Switch swizzled 纹理
问题
Nintendo Switch 平台上 Unity 打包的 Texture2D 是 swizzle 存储的——像素不是按通常的行优先顺序排列,而是用一种 16x16 块的 Z 字形排列(类似 Morton Code)。原版 AssetStudio 解码后直接按常规顺序输出,导出来的贴图是花的(像素位置错乱)。
AssetStudioMod 的解决
AssetStudioMod 从 nesrak1 的 fork 移植了 Switch swizzle 还原逻辑——检测到是 Switch 平台的纹理时,自动做逆 swizzle,导出来就是正常的纹理。
怎么判断是不是 Switch 游戏
- APK / NSP 文件里 Texture2D 的平台标识会指向 Switch;
- 如果你发现导出来的贴图有规律的花(不是随机乱码),比如像素块错位,大概率就是 swizzle 问题。
用法
Switch swizzle 还原是自动的——AssetStudioMod 识别到 Switch 平台纹理时自动处理,不需要手动开开关。
AssetStudioMod 独有图像能力汇总
| 能力 | 原版 | AssetStudioMod |
|---|---|---|
| PNG / TGA / JPEG / BMP 导出 | ✅ | ✅ |
| WebP 导出 | ❌ | ✅ |
| Texture2DArray 支持 | ❌ | ✅ |
| Alpha mask Sprite 导出 | ❌(丢 alpha) | ✅ |
| Switch swizzle 还原 | ❌ | ✅ |