1.ugui纹理格式分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.ugui纹理格式分析相关的知识,希望对你有一定的参考价值。
参考技术A TEC1内存大小: 1024 X 1024 X 0.5= 0.5M;不带透明通道优先使用ETC2内存大小:1024 X 1024 X 1= 1M;带透明通道使用
ETC1、ETC2 长宽没要求,但必须被4整除,ETC2只支持OpenGL ES 3.0以上的Android手机(大概2013年以后的手机都支持)
PVRTC内存大小:1024 X 1024 X 0.5= 0.5M 压缩的效果是比较差的,尤其是有透明通道的UI几乎是无法接受的。
ASTC 4*4内存大小:1024 X 1024 X 1= 1M 不带透明通道可以使用ASTC 5X5(表示每个压缩块的大小是5 X 5=25),带透明通道可以使用 ASTC 4X4(表示每个压缩块的大小是4 X 4=16)
PVRTC压缩格式要求图片的宽高必须相等并且是2的整数次幂,ASTC 长宽没要求,但必须被4整除,还得A8以上的设备
RGBA32 内存大小 1024 X 1024 X 4 = 4M ,RGBA16 内存大小 1024 X 1024 X 2= 2M,质量无法达到要求可以提升使用以上2种
针对Android平台Unity还实现了一套Crunched(紧缩)压缩方式,比如RGBA Crunched ETC2,先ETC2先压缩,然后在Crunched压缩,运行时在额外解压缩,所以大小更下,加载更快。
IOS自动设置压缩格式无法灵活满足需求,需要勾选Override for Ios,手动设置。附加编辑器脚本,方便快速修改
```
Using UnityEditor;
public class TextureImport : AssetPostprocessor
void OnPreprocessTexture()
if (assetPath.Contains("Assets"))
TextureImporter textureImporter = AssetImporter.GetAtPath(assetPath) as TextureImporter;
TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings();
settings.overridden = true;
settings.name = "iPhone";
settings.format = TextureImporterFormat.ASTC_RGBA_4x4;
textureImporter.SetPlatformTextureSettings(settings);
```
以上是关于1.ugui纹理格式分析的主要内容,如果未能解决你的问题,请参考以下文章