admin管理员组

文章数量:1537340

需求:为了减少游戏包体大小,有一大批DDS贴图要转为PNG, 几千张DDS贴图共几十个G, 原始PSD文件量高达2T。

 

原本流程是PSD直接进Maya,当输出到引擎时会转PSD为DDS或PNG, 由于引擎版本更新实际上DDS都是遗留的旧资源了。

 

一张2k的DDS贴图大约在16M左右, 可能都包含多级Minimap的原因,导致每张贴图都超大,而且不管是Albedo还是Metallica还是Roughness都一样大。

 

简单用PS另存了几张PNG对比,发现一个模型4张图就相差了40M左右,确实必须全部转格式!

 

现在的问题是存在几种转格式的方案,不确定几种转的方式最后的效果如何,画面上是不是存在差异。

 

第1种当然是遵循原本Maya导出流程,问题是我难道还要拿Maya源文件来完整走一遍导出?不但PSD档大得吓人,开Maya文件再全部导出一遍有点不现实,即使写脚本全自动化操作也要好多天才处理得完,一般机器也根本没那么大硬盘空间来存源文件。

 

仔细看了下Maya导出的源代码,发现它用的Nvidia那套工具在转。这样的话Maya文件是不用开了,可以单独分离转PSD到PNG功能来处理,然后还是有同样的问题,源PSD实在太大,就算分布到多台机器上处理,花的时间恐怕也不会少。

 

第2种方式是比较直接的从DDS直接转,只是有点担心效果。通过对比带Alpha与不带Alpha的二套模型所用的贴图进行转换对比,最终得到最优解: 

本文标签: 批处理photoshop