利用Unity引擎开发出来的手游,为了更好的适应市场上主流手机的内存,有时候不得不牺牲一下游戏的画质。但是对于Unity游戏开发人员来说,如何才能最大程度的保留游戏画质呢?今天千锋讲师分享几种Unity手游图片压缩方案。
Unity手游开发中,我会使用3个级别的压缩程度:高清晰无压缩、中清晰中压缩、低清晰高压缩;4种压缩方法:RGBA32, RGBA16+Dithering,ETC1+Alpha,PVRTC4。一般足够应付大部分的需求了。
RGBA32等同于原图了,优点是清晰、与原图一致,缺点是内存占用十分大;对于一些美术要求最好清晰度的图片,是选择。
要注意一些png格式图片,在硬盘中占用几KB,怎么在Unity中显示却变大?因为Unity显示的是Texture大小,是实际运行时占用内存的大小,而png却是一种压缩显示格式;可以这样理解,png类似于zip格式,是一个压缩文件,只不过在运行时会自动解压解析罢了。
中清晰中压缩 - RGBA16 + DitheringRGBA16 + Dithering。Unity RGBA16,不抖动处理的渐变图片惨不忍睹。既然叫RGBA16,自然就是RGBA32的阉割版。
对于一些采用渐变的图片,从RGBA32转换成RGBA16,能明显的看出颜色的层叠变化。采用Floyd Steinberg抖动处理后,除非放大,否则肉眼基本看不出区别RGBA16的优点,内存占用是RGBA32的1/2;搭配上Dithering抖动,在原尺寸下看清晰度一模一样;
缺点,Unity原生不支持Dithering抖动,需要自己做工具对图片做处理。对于需要放大、拉伸的图片,Dithering抖动的支持不好,会有非常明显的颗粒感。
如果大家有志从事Unity游戏开发,可以来千锋教育Unity游戏开发培训班。千锋Unity游戏开发培训课程深入教学的图形技术,讲解包括OpenGL渲染管线,着色器,高光计算、菲尼尔色散、雾方程式等高阶课程。对于从事过Unity游戏开发的人员也具有相当的学习价值。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱