纹理压缩从4096到512而不会降低质量

问题描述 投票:0回答:1

我在4k图像上烘焙了纹理,然后使用Gimp将其缩小到512,但Unity 3D的质量很差。图像格式为png。在4k图像上烘焙纹理并在手机游戏中缩小到512是一个好主意吗?对于手机游戏开发,我可以做些什么来保持小尺寸(512或以下)烘焙质地的优质?

compression png textures game-engine
1个回答
3
投票

通常,如果使用较小的纹理,可能会牺牲一些纹理质量。这是有道理的:使用更少的数据,必须丢失一些东西,这通常是精细的细节和锐利的边缘。但是,有一些策略可以充分利用纹理数据:

  • 确保您的模型的UV尽可能高效地布局。细节很重要的部分 - 比如脸部 - 应该比细节不重要的部分给予更多的UV空间 - 比如低频服装或模特的底面。最小化未使用的纹理空间。
  • 在可行的情况下,您可以使用重叠UV来重复使用UV空间的相似部分。如果您的模型完全对称,则可以将两半映射到相同的空间。或者,如果您的模型是具有相同边的板条箱,则可以将每个边都映射到相同的UV方块。
  • 看看你是否可以将纹理分解为多个纹理,这些纹理对缩小尺寸不太敏感,然后将它们分层。例如,景观纹理可以分解为低频颜色纹理和高频噪声纹理。在这种情况下,低频纹理可以在不损失质量的情况下缩放得更小,而高频纹理可以用裁剪的平铺纹理替换,或者在着色器中程序生成。
  • 尝试不同的大小调整算法。大多数图像编辑器都可以选择使用双三次或双线性方法调整大小。 Bicubic在保留边缘方面做得更好,而双线性有时可以更好地匹配某些内容/着色器。您也可以通过小心使用模糊或锐化滤镜来改善调整大小的纹理。
  • 如果游戏所针对的硬件支持它,则应使用硬件压缩格式(如ETC2或ASTC)进行评估。例如,ETC2格式可以将24位RGB纹理数据压缩为六倍,同时仍具有相同的图像尺寸。压缩是有损的,因此一些图像信息丢失并且存在一些伪像,但是对于某些内容,它看起来比重新缩放到类似数据大小的原始纹理更好。根据内容,调整大小和硬件纹理压缩的某些组合可能会使您最接近所需的质量/尺寸权衡。 Unity手册声称它在导出时自动选择一个好的默认纹理格式,但你可以尝试其他的in the export options
  • 通常,使用较小纹理的动机是消耗较少的视频内存并提高性能。但是,如果动机只是为了减少游戏的下载大小,您可以尝试其他图像格式。例如,JPG允许您选择图像质量值以获得更小的文件大小。但它很少用于游戏,因为它占用的视频内存与类似大小的PNG一样多,可能有工件,并且不支持alpha。
© www.soinside.com 2019 - 2024. All rights reserved.