UltKit

DDS转PNG转换器

DDS文件是为显卡打包的贴图,并不是给人直接看的。把它转换为PNG,就能得到一张普通图片,可以用任意编辑器打开、在网页上查看,或作为Mod的素材底图。

图片格式转换

或将JPG, JPEG, JPE … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传.dds贴图文件

    每批最多 20 个文件,每个不超过 95 MB,足以处理带完整 mip 链的 8K 块压缩纹理。

  2. 2

    色彩空间保持“保留原始”

    法线贴图、粗糙度贴图等纹理存储的是数据而非颜色。在高级设置中,色彩空间保持“保持原样”,这样这些数值就不会被改变。

  3. 3

    点击“转换为 PNG”

    每张纹理都会以完整分辨率转换为无损 PNG,并保留透明度。

将 DDS 转换为 PNG 会解码 GPU 压缩,保留全尺寸图像及其 Alpha,并丢弃只有游戏引擎才需要的较小 mip 副本。

DDS文件是什么,为什么编辑器难以打开

微软在 1999 年随 DirectX 7 推出了 DirectDraw Surface,用来按显卡所需的形式存放纹理。它的像素采用块压缩:图像被切成 4 × 4 的小块,每个小块由两种参考颜色加上每个像素的一个小索引来描述。GPU 可以单独解码任意一个小块,而不必解开整个文件,所以从《上古卷轴 5:天际》到现代引擎的游戏,至今仍在使用 DDS 纹理。

DDS 文件通常还带有 mip 链,即一系列副本,每一级的宽和高都是上一级的一半,用于物体距离较远时。完整的 mip 链会使文件大小增加约三分之一。有些 DDS 文件包含六个面的立方体贴图,或由多张纹理组成的数组;而 PNG 只能保存一张图像。

常见的DDS压缩格式:BC1到BC7

每像素位数是固定的,因此文件大小只取决于尺寸和格式。
格式旧称每像素位数Alpha典型用途
BC1DXT14无或 1 位不透明颜色、镂空树叶
BC2DXT384 位显式当前游戏中少见
BC3DXT58平滑渐变带柔和透明的颜色
BC4ATI14仅单通道粗糙度、高度和遮罩
BC5ATI2 / 3Dc8仅双通道切线空间法线贴图
BC7无8可选,高质量现代颜色纹理,Direct3D 11

DDS

DirectDraw Surface

DDS 是微软随 1999 年的 DirectX 7 推出的纹理格式。它以 DXT/BCn 等 GPU 可直接使用的块压缩方式存储图像,并包含 mipmap 和立方体贴图,显卡无需解码即可使用。块压缩属于有损压缩,渐变区域可能出现瑕疵,不过也存在未压缩的 DDS。它常见于 PC 游戏和游戏 MOD,但浏览器和大多数常用图片查看器都不支持。

压缩方式
有损或无损
透明度
支持
动画
不支持
发布年份
1999 · Microsoft
DDS 转换器

PNG

便携式网络图形(PNG)

PNG 是 PNG 开发组于 1996 年发布的无损位图格式,后来由 W3C 和 ISO 标准化。它精确保留每个像素,支持完整的 Alpha 透明度,处理文字、锐利边缘和纯色块时不会产生伪影。这种精确度使它非常适合截图、徽标、图标和界面图形。代价是体积:保存为 PNG 的照片往往比同一张照片的 JPEG 或 WebP 大好几倍。所有浏览器、操作系统和编辑器都能打开 PNG 文件。

压缩方式
无损
透明度
支持
动画
不支持
发布年份
1996 · PNG Development Group
PNG 转换器

Mod 制作者和美术人员把 DDS 转为 PNG,是为了在常规图像软件中查看、编辑或记录游戏纹理;反方向的 PNG 转 DDS 则把完成的美术资源打包回引擎可加载的 GPU 格式。

块压缩的瑕疵在转换后依然存在

PNG无法还原DDS压缩造成的损失

渐变中的色带和边缘的块状感来自 4 × 4 的小块,已经固化在纹理中。PNG 会原样再现它们,这有助于评估纹理,但也意味着转换得到的 DDS 永远不如美术的源文件干净。

对于编辑来说,这通常没有问题。重绘贴图 mod、改色和界面微调,本来就经常以游戏自带的 DDS 为起点;请在 PNG 上以完整分辨率操作,再导出回 DDS,让它生成新的 mip 级别。把 PNG 作为母版,只做重新导出,这样可以避免在之后的修改上叠加第二轮块压缩。

大多数纹理转成 PNG 后会比 DDS 更大,因为 PNG 压缩是无损的,而 BC 格式不是。如果只需要分享预览,DDS 转 JPG 得到的文件小得多;至于其他游戏格式,许多引擎使用的较早的 Targa 纹理可以用 TGA 转 PNG 处理。

DDS转PNG常见问题

为什么DDS贴图在游戏里正常,在图片编辑器里却打不开?

DDS 以 GPU 块压缩格式存储像素,显卡可以用硬件直接解码。许多编辑器从未加入对应的解码器:Photoshop 需要 NVIDIA 或 Intel 的插件,而 Paint.NET 和 GIMP 可以读取大多数 DDS 文件。转换为 PNG 后就不再依赖这些插件。

DDS转PNG时,Mipmap会怎样处理?

PNG 只能保存一张图像,因此只保留最大的那一级。较小的副本在纹理重新打包成 DDS 时本来就会重新生成,所以不会损失任何有价值的内容。

为什么转换后的法线贴图看起来是红绿色的?

法线贴图编码的是表面方向,而不是颜色。以 BC5 压缩的贴图只保留两个通道,所以 PNG 中只显示红色和绿色,第三个值由游戏的着色器重新计算。较早的 RGB 法线贴图则呈浅蓝色和紫色。两种情况都是正常的。

DDS转PNG能去掉块状压缩痕迹吗?

不能。块状瑕疵本来就是已存储纹理的一部分,PNG 只是原样复制解码后的像素。如果需要干净的素材,请寻找原始美术文件;如果只是编辑,就在 PNG 上操作,并接受现有的模糊感。

编辑完PNG后还能放回游戏里吗?

可以。保存编辑结果后,用 PNG 转 DDS 转换即可。请确认游戏需要哪种块格式和 mip 设置;mod 中的纹理格式不对,可能会发灰或无法加载。

DDS里的透明部分在PNG中会保留吗?

会。BC1、BC2、BC3 和 BC7 纹理中的 Alpha 会写入 PNG 的 Alpha 通道,因此树叶、贴花和界面元素都能保留镂空形状。