UltKit

PNG转DDS转换器

把你绘制或编辑好的PNG转换成游戏或Mod加载器能读取的DDS贴图。请先确认游戏要求的尺寸和压缩格式,本页对两者都有说明。

图片格式转换

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

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

输出

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

使用方法

  1. 1

    上传PNG贴图

    最多可添加 20 个 PNG 文件,每个不超过 95 MB。请使用边长为 2 的幂(如 1024 或 2048 px)的正方形或 2:1 图片。

  2. 2

    输出格式保持为DDS

    转换为已设为 DDS。除非需要更小的贴图,否则请让调整输出图片尺寸保持为保持原始尺寸。

  3. 3

    点击“转换为 DDS”

    下载 .dds 文件,按 MOD 使用的贴图路径重命名,再复制到游戏的 data 文件夹中。

DDS(DirectDraw Surface)是微软于 1999 年随 DirectX 7 推出的贴图容器格式。游戏之所以使用它,是因为 GPU 可以直接使用其块压缩的像素,而不必像处理 PNG 那样先解码。

PNG转DDS:用于游戏Mod和引擎

PNG 是为存储而压缩的:显卡绘制前必须先将其完全解开。块压缩的 DDS 在显存中仍保持压缩状态,由 GPU 即时解码 4 × 4 像素的小块。贴图占用的内存只有未压缩图像的四分之一甚至更少,加载时也只是直接复制。这就是《上古卷轴5:天际》和《辐射4》等 Bethesda 游戏,以及许多飞行和赛车模拟游戏都以 .dds 发布贴图的原因。

对 MOD 来说,流程通常很简单:把编辑好的漫反射、法线或遮罩贴图导出为 PNG,转换成 DDS,再放进与被替换贴图相同的文件夹路径。在本页的所有内容中,尺寸正确比什么都重要。

能正常加载的贴图尺寸:2的幂

1:1

512 × 512 px

小型道具、UI 图标

512 × 512

1:1

1024 × 1024 px

常见物体贴图

1024 × 1024

2:1

2048 × 1024 px

宽幅贴图,2:1

2048 × 1024

1:1

4096 × 4096 px

高分辨率 MOD 包

4096 × 4096,显存占用大

DXT1、DXT5与BC7:游戏需要哪种压缩

每像素 4 位

BC1 (DXT1)

S3 于 1998 年提出的方案,是最常见格式中体积最小的。

  • 仅颜色,或 1 位镂空 Alpha
  • 大小只有 DXT5 的一半
  • 所有 DirectX 游戏都能读取
适用于: 不透明漫反射贴图、较老的游戏
每像素 8 位

BC3 (DXT5)

在 DXT1 颜色之外增加独立、平滑的 Alpha 通道。

  • 完整的 8 位透明度
  • 较老引擎中 Alpha 的标准格式
  • 颜色质量与 DXT1 相同
适用于: 植被、头发、玻璃、遮罩
每像素 8 位

BC7

随 Direct3D 11 推出,色彩瑕疵少得多。

  • 三者中质量最好
  • 需要 DirectX 11 时代的引擎
  • 编码速度较慢
适用于: 天际特别版、辐射4 和现代 MOD

PNG

便携式网络图形(PNG)

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

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

DDS

DirectDraw Surface

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

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

MOD 作者和游戏开发者把 PNG 转成 DDS,是因为引擎会把块压缩的 DDS 贴图直接载入显存;而把 DDS 转成 PNG,则是为了打开游戏贴图进行编辑。

安装贴图前的Mipmap及其他检查

Mipmap 是贴图的缩小副本,每级是上一级的一半大小,并存放在同一个 DDS 中,这样远处的物体可以使用 64 px 的版本,而不会在 2048 px 下闪烁。完整的层级链会使文件大小增加约三分之一。大多数游戏都需要它们,只有少数 UI 贴图不应带有。

边长为 2 的幂时,每一级 mip 都能整除减半,而块压缩要求两条边都是 4 的倍数。如果你的 PNG 是 1000 × 1000,请先用调整图片尺寸扩大画布或缩放到 1024 × 1024,或用图片裁剪裁成正方形。请把原始 PNG 作为母版保留;DDS 块压缩是有损的,反复从旧 DDS 转换会叠加瑕疵。如果 MOD 还需要 TGA 源文件,可以用 PNG 转 TGA。

PNG转DDS常见问题

Unity必须用DDS贴图吗,还是可以直接导入PNG?

直接导入 PNG 即可。Unity 可以直接读取 PNG,并在构建时按目标平台自行压缩所有贴图,所以先转成 DDS 只会多一次不必要的有损压缩。DDS 主要用于直接从磁盘读取贴图文件的引擎和 MOD。

《上古卷轴5:天际 特别版》使用哪种DDS格式?

特别版(Special Edition)除了较旧的 DXT1 和 DXT5,也支持 BC7,所以 MOD 作者才会为它把许多贴图重新打包成 BC7。2011 年的原版《上古卷轴5:天际》不支持 BC7,该版本的贴图只能使用 DXT1 或 DXT5。

在本页能选择BC7或Mipmap级数吗?

不能。转换器没有压缩或 mipmap 设置,输出的是使用其默认参数的 DDS。如果 MOD 教程指定了确切格式,请用微软的 texconv 工具或 Paint.NET 完成最终导出,两者都可以选择块压缩格式和 mip 层级。

PNG的透明背景会保留到DDS里吗?

会保留。DDS 把透明度作为贴图的一部分存储,所以 Alpha 通道不会丢失。游戏是否使用它取决于材质:植被和头发会用 Alpha 做镂空,而许多引擎会把其他贴图槽中的 Alpha 当作光泽度或高度遮罩。

为什么新贴图在游戏里显示为紫色或黑色?

紫色通常表示游戏在预期路径下找不到或无法读取该文件,请先检查文件名和文件夹。黑色或花屏的表面多半是因为引擎不接受该压缩格式或尺寸;尺寸不是 4 的倍数是常见原因。

如何编辑Mod里的DDS贴图?

先用 DDS 转 PNG 转成 PNG,用任意图片编辑器修改,再回到这里转回 DDS。请保持与原图相同的尺寸,这样模型的 UV 布局才能对齐。