assetstudio 中文文档 下载 App

Texture2D 贴图 — 格式转换、通道控制、常见坑

Texture2D 是什么

Texture2D 是 Unity 里最基础的 2D 纹理类型——游戏里看到的 UI 图标、背景图、3D 模型的漫反射贴图、法线贴图等,底层都是 Texture2D。AssetStudio 能解码 Unity 压缩的贴图数据并导出成通用格式。

支持解码的压缩格式

AssetStudio 集成了多种压缩贴图解码器,源码在 Texture2DDecoder 目录下:

压缩格式来源支持的 Unity 平台
ASTCmikunyan移动端(安卓、iOS)主流
ETC2mikunyan移动端
DXT / BC1-5mikunyanPC / 主机
CrunchUnity-TechnologiesUnity 内置的可变比特率格式
LZ4 / LZMA7-Zip SDKAssetBundle 压缩(先解压再解码)

AssetStudioMod 额外处理了 Oodle 压缩(zao/ooz)和 Switch 的 swizzled 纹理。

可导出的格式

格式原版Mod 版特点
PNG✅✅无损、支持 alpha、推荐用于立绘 / UI
TGA✅✅无损、支持 alpha、常见于游戏资源
JPEG✅✅有损、不支持 alpha
BMP✅✅无损、无压缩、体积大
WebP❌✅有损 / 无损都支持、体积小

WebP 是 AssetStudioMod 独有,批量导出贴图时选 WebP 能节省大量磁盘空间。

导出方法

  1. Asset List 里右键 → Filter Type → 只勾 Texture2D;
  2. 可选:搜索框输入关键词(比如 icon、bg)进一步缩小范围;
  3. Ctrl+A 全选 → 右键 → Export Selected Assets;
  4. 弹窗选输出目录 → 等进度条走完。

导出目录按 Export Options 里的分组策略组织(默认按类型分 Texture2D/ 子目录)。

通道排查技巧(Ctrl+R/G/B/A)

预览贴图时用快捷键单独开关 R / G / B / A 通道,快速定位以下问题:

现象排查动作可能原因
全红 / 全蓝 / 全绿关掉另外两个通道单独看通道排列反了(Unity 的 RGBA vs BGRA 差异)
边缘有黑边Ctrl+A 看 alpha 通道压缩算法导致 alpha 边缘污染
图像发灰、对比度低关 A 通道看 RGB贴图有 premultiplied alpha,导出时没有反预乘
全透明 / 导出文件不存在确认选中的是 Texture2D 不是 SpriteSprite 是裁好的小图,对应 Texture2D 是整张大图

常见问题

PNG 黑底 / 发灰

Unity 很多贴图是 预乘 alpha(premultiplied alpha) 存储的。AssetStudio 导出 PNG 时默认不做反预乘,所以透明边缘会显黑边。解决方法:

同名文件冲突

不同 AssetBundle 里可能有同名 Texture2D。Export Options → Filename Options 里把 Collision handling 改成 Unique name,AssetStudio 会自动加后缀(如 icon (1).png)。

压缩格式不支持

极个别厂商用了私有压缩算法,AssetStudio 解码后图片是乱码。这种情况:

  1. 确认 Unity 版本和 AssetStudioMod 支持范围对得上;
  2. 换 AssetStudioMod 最新版(可能刚加了某种解码器);
  3. 还不行 → 说明是私有格式,需要专门逆向。