Unity NGUI UI 在iOS端的锯齿、模糊、颗粒感问题

一般我们在Unity项目中,都是美术给到图片,然后程序直接导入Unity,Android端给图片设置为 RBGA Compressed ETC2 8bit,iOS端给图片设置为 RBGA Compressed PVRTC 4bits,就可以解决大部分的图片问题。但是,在相同的项目下,在iOS端的真机上就会发现UI出现明显的锯齿、模糊和颗粒感等问题,但Android的真机上一点都看不出来,即使是在Android真机和iOS真机的逻辑像素尺寸(关于像素密度、逻辑像素和我们常说的屏幕分辨率之间的关系,请看手机APP UI设计尺寸基础知识相同的情况下。

首先,iOS端的上述情况主要是两个问题:
1. UI 的边缘锯齿和模糊(其实UI如果边缘出现锯齿,UI的内部也会有锯齿,只是在边缘的会比较明显)
2. UI的颗粒感(如果UI中有较大面积的渐变,就会在iOS端的真机上看到UI中的颗粒)

然而解决上面的问题也主要是两个方式:
1. 在Unity中,更改对图片的导入设置(Import Setting)
2. 在UI的制作过程中,按照一定的规范,保证图片的细节足够清晰

UI 的边缘锯齿和模糊

一张测试截图

上图是一张测试UI锯齿和模糊时的截图。如果说大家没有发现锯齿和模糊的问题,那么请看下面的图。

锯齿问题
模糊问题

模糊问题的截图可能体现的不是很明显,不过这不是重点。

这个时候程序的第一反应就是,是不是我Unity中iOS端图片的导入设置有问题。所以去改了Edit->Project settings->Quality,改 Anti Aliasing,改Texture Quality,当然不能说一点效果都没有。只能说,没找到核心问题。

而出现模糊、UI锯齿感问题,第一应该找的是设计人员。出现这个情况是因为,设计人员给的图片,本身细节的精细度不够,所以出现模糊、UI锯齿感的问题。要解决这个问题,就需要设计人员的规范化作图了。下面我们来说具体的一般做法。有几个关键点:

  1. UI必须在规定的尺寸下进行作图。就拿iPhone6的UI来说,我们设计在制作UI的时候,就必须先在Photoshop里面建一个1334*750 72dpi的画布,然后所有的UI都要在这个画布下完成制作和导出。
  2. 在规定尺寸下作图,如果不是这个画布下制作的素材,使用的时候一定要非常小心的使用缩放,尽量做到不缩放。比如说,一个Button素材,拖放到规定尺寸的画布下,在画布中的显示是比需要的尺寸小一些的,然后你把这个素材放大以达到需要的尺寸。那么这个Button导出给项目使用的时候,iOS真机上就会出现模糊和锯齿。
  3. 设计人员必须清晰理解逻辑像素、显示尺寸、分辨率、像素密度、次像素这几个概念。理解了这些概念,就会明白为什么要在规定尺寸下制作图片才能在手机上达到正确的效果,而不会出现UI过细和过糙的结果。这里我给出两个参考文章:
    (1)怎样去掉图标模糊的虚边,也就是次像素
    (2)逻辑像素、显示尺寸、分辨率、像素密度
    当然这里的文章不全,其他请自行百度然后进行理解。

下图是修复后的效果:

左为修复后,右为修复前

UI的颗粒感

在游戏UI中,总是会出现很多的带阴影的UI。阴影区域不大的时候,一般是看不出颗粒感的问题。但是一旦出现大面积的阴影或者渐变,就会发现明显的颗粒感。如下图:

上面的黑条是正常的PVRTC 4bits设置,下面的黑条是测试的 RGBA 16bit 设置的效果

上图的第一个黑条是可以看出明显的颗粒的,如果看不清楚,我给大家放大一下:

颗粒感在真机上会看的非常明显

即使设计人员按照上文的规范,给出了正确的UI图片,颗粒感这个问题也还是会出现,因为这个是Unity对于图片打包压缩的问题。简单的说,就是设置的问题。

下面给大家简单说一下Unity 中常见的图片导入设置:

PVRTC: 不失真压缩率最高的压缩格式。特别的TBDR架构,不渲染被遮挡的部分,有效节省计算资源和带宽。纹理压缩在许多设备上面都支持,支持每个像素2位或者4位的纹理,包含或者不包含alpha通道都可以

ETC2:补全了ETC1(大部分移动GPU都会支持的纹理标准。不支持Alpha通道。)不支持的Alpha通道,支持更高质量的RGBA(RGB+Alpha)压缩。

ASTC: 由于ETC、PVRTC等格式均为有损压缩,因此,当纹理色差范围跨度较大时,均不可避免地造成不同程度的“阶梯”状的色阶问题或其他问题。而ASTC可以解决一些问题。ASTC 在 iOS 的高端机上是被支持的,因此理论上在 Editor 下不会强制把 ASTC 转为 RGBA32,建议尝试设置为 ASTC 后打包,从 Editor.log 中或者直接从包体大小上可以看出是否确实使用了 ASTC。ASTC又被详细的区分为 4x4 block、5x5 block.....12x12 block。但使用 ASTC 的话,虽然打包时比较小,但是在普通机型上会被处理成 RGBA32,导致过大的内存开销。

解决iOS端颗粒感问题的关键,就是改成ASTC格式

下面上图:

最后一个黑条便是改成ASTC的效果

可以说,改成ASTC后,可以很完美的解决颗粒感的问题。

最后,iOS端一般的UI问题,都可以很好的解决了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容