[Unity] 谈Unity3d游戏贴图压缩

查看:943 |回复:6 | 2018-3-6 13:19:25

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 成林 于 2018-5-22 21:57 编辑

43.jpg

谈Unity3d游戏贴图压缩UI贴图
一般游戏都会选一个默认的分辨率来做设计,特别是UI,以下都以1080p(也就是1920*1080)来说。
建议一
  • 在1080p的画布下绘制,严格按照分辨率以及比例来绘制,比如当前绘制的按钮从UE的设计上占屏幕的1/10,那就用192*108的像素,或者接近192*108,这样就能避免最后在手机屏幕上出现texel->pixel的放缩偏差。
  • 如果贴图已经做好了,但是是用的512*512(或者128*128),而实际上在手机屏幕上最后显示是要256*256,则不推荐直接在unity里面直接压大小,最好是在ps里缩小贴图之后再修一下,因为压缩或者拉伸肯定会造成失真的,而且越复杂的贴图失真越严重,这是原始贴图失真,必须美术解决。可以参考这篇文章
    qiuyuan_shaxuan_df2.jpg

  • 图中注意看绿色中有黑色浸入,需要在ps里再适当优化。

建议二
  • UI贴图全部使用默认压缩,以IOS举例子,也就是pvrtc压缩。pvrtc是有损压缩,也就是说这是不可避免的损失。如果最后的画面上出现锯齿或者模糊,则将此贴图换成32bit格式,之所以这么干就是为了避免盲目不压缩导致内存爆表。
  • 粗略说一下PVRTC压缩算法(其实大部分压缩算法都是类似,感谢这篇文章)。其实说白了就是采取block(比如4*4)的方式来提取原贴图中的特征,分别存储在压缩后图片的位中,最后在解压出来还原原图。说了这么多也就是说,贴图的细节越多,形状越复杂都会导致失真的幅度增加,举个栗子来说,就是圆形比方形失真多,杂色比纯色失真多。

于是得到——
建议三
  • 从设计上一定程度的避免圆形、杂色、过度,特别是大图。如果设计不可避免原型,复杂的形状,繁杂的颜色,则这些贴图只能选择不压缩。
  • 这也是是好例子,很明显环状的地方容易失真,这还没有经过PVRTC的压缩。

性价比
  • 游戏永远是性价比,这基本上是所有的优化系列文章里都会提到的。并不是不让用,而是不滥用。所以大图尽量避免A通道,尽量避免大图,精细的贴图直接选择最高品质(比如常驻界面的Icon、头像以及九宫等,因为这很值得)。
RGBA16与PVRTC的取舍
  • PVRTC因为是特征压缩所以在杂色和形状上面产生的失真多,而RGBA16是精度压缩,在颜色平滑渐变中产生的失真多,也就是在一定程度上,如果PVRTC导致失真特别严重,而这张贴图上颜色平滑过度较少,而可以尝试使用RGBA16代替PVRTC。
A通道
  • 应该也说了很多遍,不需要A通道的请不要导出A通道,比如底图,人物等整张贴图没有透明的请全部涂满。

转自“http://ixulin.com/2017/11/03/talk-texture-compress/

2018-3-6 13:19:25  
 赞 赞 0

使用道具 登录

6个回答,把该问题分享到群,邀请大神一起回答。
3#
6
回复 收起回复
2018-11-11 17:03:02   回复
 赞 赞 0

使用道具 登录

4#
感谢楼主的分享~~~~谢谢了~~~~
回复 收起回复
2018-11-11 17:49:47   回复
 赞 赞 0

使用道具 登录

5#

感謝~
回复 收起回复
2018-11-12 09:02:45   回复
 赞 赞 0

使用道具 登录

6#
不错的资源,谢谢分享
回复 收起回复
2018-11-13 14:55:14   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

Unity3D技术手机游戏引擎手游引擎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表