.unitypackage → 带贴图的 GLB · 在浏览器中运行,文件不会离开你的设备
ZH

从 .unitypackage 中提取贴图

无需安装 Unity,在浏览器中将 Unity 资源包中的图片保存为 PNG,并了解哪个文件是 Albedo、法线、金属度或 AO 贴图。

将 .unitypackage 拖放到此处

或

在左侧选择模型或场景——预览和 GLB 按钮会显示在上方

日志


        

已于2026年11月5日对照当前产品核对 · 由 Unity Asset Exporter 发布。

将 .unitypackage 拖入首页的工具中,点击PNG 贴图(ZIP),即可得到一个包含资源包内图片的 ZIP。PNG 和 JPG 文件原样复制,其他受支持的图片格式会转换为 PNG。所有处理都在你的浏览器本地完成,不会上传任何内容,也不需要 Unity 或账号。

获取图片的三种方式

文件树显示从资源包中还原的原始 Unity 路径。要了解资源包如何将文件存放在 GUID 文件夹中,请参阅无需 Unity 打开 .unitypackage。

贴图 ZIP 包含什么

在不支持保存到磁盘 API 的浏览器中,大型贴图包可能会分成多个 ZIP 分卷下载。在支持该 API 的浏览器中,ZIP 可以直接写入磁盘。

PSD、HDR 和 EXR

对于 PSD,PNG 中保存的是合并后的图像,不保留图层。如需图层,请从文件树下载原始 .psd。

HDR 和 EXR 会经过色调映射(Reinhard,gamma 2.2)转为普通的 8 位 PNG。用于快速查看没有问题,但高动态范围信息会丢失。对于天空盒、光照或任何需要真实数值的用途,请保留文件树或原始文件 ZIP 中的原始 .hdr 或 .exr。

如何分辨各类贴图

资源包中的文件名并不总是一目了然,可靠的依据是材质。在文件树中打开 .mat 文件,它是 Unity YAML 文本,列出了每个槽位名称及其引用的贴图。该引用是 GUID 而不是文件名,因此手动对应时需要仔细一些。常见槽位的含义如下:

金属度-光滑度贴图

这是最容易让人困惑的贴图。Unity 存储的是光滑度,即粗糙度的反值:roughness = 1 − smoothness。而且它放在 Alpha 通道中,很多看图软件在这里显示不出有用的内容。

贴图 ZIP 不会改变通道布局。_MetallicGlossMap 会完全保持 Unity 打包时的样子。要在 Blender 的 Principled BSDF(原理化 BSDF)中使用它:

  1. 将图片添加为 Image Texture 节点,并把色彩空间设为 Non-Color。在图片设置中将 Alpha 设为 Channel Packed,以免 Alpha 通道影响颜色通道。
  2. 将该节点的 Color 输出连接到 Separate Color 节点,再把红色通道接到 Metallic。
  3. 取 Image Texture 节点的 Alpha 输出,经过 Invert Color 节点(或计算 1 − 值的 Math 节点)后再连接到 Roughness。

如果把 Alpha 直接接到 Roughness,本应粗糙的区域会变得光亮,反之亦然。HDRP _MaskMap 的 A 通道中的光滑度也需要同样反转。

色彩空间

Albedo 和自发光属于颜色数据(sRGB)。法线、金属度、粗糙度和 AO 贴图属于非颜色数据。在 Blender 中,应将这些图像节点设为 Non-Color。法线贴图如果保留为 sRGB,着色会出错。Blender 中的其他贴图问题,请参阅 Blender 中贴图丢失。

什么时候应改为导出 GLB

如果你要的是带贴图的模型,而不是一个装满图片的文件夹,就不必手动连接节点。本工具生成 GLB 时,会按 GUID 解析 Unity 材质引用,依据包括 FBX .meta 中的 externalObjects、预制体的材质分配、材质名称匹配以及保守的回退规则。它会把上面列出的槽位映射到 glTF 输入,并将受支持的贴图嵌入同一个文件。对于金属度-光滑度贴图,它会把金属度写入蓝色通道,把 1 − smoothness 作为粗糙度写入绿色通道,这正是 glTF 要求的排布。高光-光泽度贴图会近似转换为金属度/粗糙度。常见的 URP、HDRP 及资源作者自定义的槽位名,如 _BaseColorMap、_MaskMap 和 _MetallicSmoothness,也能识别。

将模型加载到预览中,然后使用 下载 GLB——即预览中的内容;如有多个模型,可使用 将所选全部下载为 GLB(ZIP)。单个导出和批量导出的说明见 GLB 指南。

限制

所有输入、输出格式及其限制,请参阅 支持的格式。

常见问题

如何将 .unitypackage 转换为 PNG?
在工具中打开资源包,点击 PNG 贴图(ZIP)。TGA、PSD、DDS、TIF、EXR 和 HDR 等格式会在浏览器中解码并保存为 PNG,PNG 和 JPG 文件则原样复制。
为什么我的粗糙度贴图是反的?
Unity 在金属度贴图的 Alpha 通道中存储的是光滑度,而不是粗糙度。接到 Roughness 之前要先反转(粗糙度 = 1 − 光滑度),或者导出 GLB,由工具为 glTF 重新打包通道。
能不受每周次数限制地获取贴图吗?
可以。在“文件”列表中逐个下载图片始终免费,得到的是原始文件数据。只有批量 ZIP 导出有次数限制,而 Pro 可以解除该限制。
PSD 图层和 HDR 数据会保留吗?
PNG ZIP 中不会保留。PSD 文件导出为合并后的图像,HDR/EXR 会经色调映射转为 8 位 PNG。如果需要图层或完整的动态范围,请从文件树下载原始文件。
能从 Unity 游戏文件中提取贴图吗?
不能。本工具只读取 .unitypackage 压缩包,不读取已发布游戏中的 AssetBundle 或 UnityFS 文件。