写在前面

当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰。
要改善这一状况实际上很简单。

造成这样的原因,是Unity在导入图片(或者纹理)时会自动进行压缩,以便减少运行时游戏的内存占用率,提供性能。

将它作为背景时

可以发现,上面的画质不怎么尽如人意,例如左上角的帆船和右上角的皮球,有明显的模糊和锯齿。

观察该图片对应的Inspector面板(注意这里的纹理类型是Sprite),如下所示:

其中对画质有影响的部分,已经用红框圈出。根据官网文档的解释,其含义分别如下:
Filter Mode 当该纹理由于3D变换进行拉伸时,它将如何被过滤插值。共有三种选择:
Point 单点插值,纹理将变得块状化(blocky up close);
Bilinear 双线性插值,纹理将变得模糊(blurry up close);
Trilinear 三线性插值,类似Bilinear,但是纹理还会在不同的mip水平之间(between the different mip levels)进行模糊;

Max Size 导入的纹理的最大尺寸。因为美术人员往往喜欢使用较大的纹理进行创作,所以可以使用这个选项来选择我们游戏中适合的尺寸。

Format 该纹理使用的内部表现格式。这是在大小和质量之间的权衡。共有三种格式:
Compressed 压缩的RGB纹理。这是漫反射贴图最长江的格式。每个像素占4bits(一张256256大小的纹理将占用32KB大小的内存);
16 bit 低质量的真彩(truecolor)显示。每个像素占16bits;
Truecolor 真彩。这是最高的质量。一张256
256大小的贴图占用256KB(是Compressed的8倍,即每个像素占32bits)。
我们可以从Inspector面板的最下方查看当前纹理的大小、格式和内存占用率。如下所示,当前纹理大小为1024320,将占用160KB内存。*

如果我们把Filter Mode改为Point,可以看到画面明显变得锐化了。仔细观察图像中每个物体的边缘,由原来的模糊变为块状化了。但画质依然不好,可以看出有明显的锯齿。

我们将Filter Mode重新置回Bilinear。前面提到原图的大小为2048*640,而默认支持的Max Size是1024,这意味着Unity自动压缩了图片。我们把Max Size改为2048,并点击Apply后,可以看到画质得到了明显改善,锯齿和模糊都有了变化:

而此时的内存占用也提高到了0.6MB,比之前大了很多:

最后,我们尝试把Format调整为Truecolor。得到效果如下:

可以看出来,画质变化不大。但是内存占用却又提高了很多(3.8MB):

至此,我们可以认为适合该纹理的设置为Filter Mode为Bilinear,Max Size为2048,Format为Compressed。

结束语

上述得到的结果是适合例子中的图片。在实际应用中,不同的图片要得到最好的效果设置可能不一样。下面是几点提示:
当Max Size大于图片的实际大小时,仍会使用原图片的大小,所以如果想都使用原图大小,可以直接都设置为4096。
如果游戏中有大量较大的图片的是Truecolor格式,那么会非常影响内存占用率。所以,当选择Compressed和Truecolor效果基本相同时,尽量选择Compressed。
我们可以为不同的平台设置不同的Max Size和Format。例如,在Android平台上,由于性能不如IOS,可以选择较低的画质,而在IOS平台上可以设置为最高画质。

Unity优化 调整画质(贴图)质量相关推荐

  1. Android 天气APP(十二)空气质量、UI优化调整

    上一篇:Android 天气APP(十一)未来七天的天气预报.逐小时预报.UI优化 空气质量数据.UI优化 新版------------------- 一.自定义View 二.修改XML布局 三.添加 ...

  2. IGDATaiwan上Unity 优化讲座III

    IGDATaiwan上Unity 优化讲座III (罗志达) https://www.youtube.com/user/IGDATaiwan 议程: https://2019.tgdf.tw/agen ...

  3. Unity优化方面的一些小总结

    前言: 我做了3年的Unity了,但是却没有深入优化模块的内容,只能怪自己做项目的时候做的内容太杂乱了.去面试的时候被面试官问道优化方面的内容的时候自己一脸懵逼.本来有机会去MK的,让自己错失了. 所 ...

  4. Unity3d面向英特尔® x86 平台的 Unity* 优化指南: 第 3 部分

    目录 编辑器优化 遮挡剔除 LOD:细节级别 阴影 使用一个摄像头 渲染队列排序 光照贴图 针对复杂模型,使用简单的碰撞器代替网格碰撞器 返回至第 2 部分教程: 面向英特尔® x86 平台的 Uni ...

  5. [Unity] 优化您的移动游戏性能2020(中)

    上篇: https://blog.csdn.net/u013716859/article/details/125588600 6. 项目配置 有一些项目设置会影响您的移动性能. 降低或禁用加速度计频率 ...

  6. Unity中的法线贴图、漫反射及高光

    我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性.在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了. 我 ...

  7. 复习Unity优化技巧

    复习Unity优化技巧 一.引言 新的格局 有推荐的吗? 二.优化 第一章.优化图形性能 1.分析: A.GPU通常受填充率或者内存带宽制约. 填充率 渲染管线 B.CPU 通常受到需要渲染的批次数的 ...

  8. Unity3d面向英特尔 x86 平台的 Unity* 优化指南: 第 2 部分

    目录 优化 脚本优化 脚本视锥剔除和协同例程 智能内存管理 缓存频繁使用的对象和组件 使用 Unity 物理系统的最佳实践 禁用完全透明对象 返回至教程第 1 部分: 面向英特尔 x86 平台的 Un ...

  9. Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整

    上一篇:Android 天气APP(十二)空气质量.UI优化调整 天气预报详情,逐小时预报详情 新版------------------- 一.适配器点击监听 二.页面实现 三.天气预报详情弹窗 四. ...

最新文章

  1. 介绍一下android的事件分发机制
  2. Java实现斐波那契数列Fibonacci
  3. java string 前缀匹配_字符串前缀和后缀匹配
  4. ASP.NET MVC SignalR(1):背景
  5. mysql数据库优化面试
  6. python编写简单赌博游戏赏析及注意事项
  7. 全能终端神器 --- MobaXterm 、开启 linux 远程桌面
  8. python中单行注释采用的符号是什么_Python注释符号使用说明(多行注释和单行注释),用法,详解,攻略...
  9. 可怕的北京大学出版社--javascript也叫java
  10. 动态规划——基本思想
  11. Quartz2D简单绘制之矩形椭圆
  12. GBK转unicode码查询表的改进
  13. python selenium 小知识点整理笔记(更新中...)
  14. 1.4.3 Arithmetic Progressions
  15. selinium如何多线程_求教个selenium+grid+testng多线程运行的问题
  16. python的设计模式
  17. 苹果手机调用H5字体转换问题
  18. 2021-07-27_TPM描述
  19. 简单介绍一下web开发中用到的一些技术
  20. 路由器老掉线的原因之一

热门文章

  1. 简述连接因特网的方式和静态IP、PPPOE、DHCP
  2. 【移动计算技术(Android)】期末复习(HITWH)
  3. useradd和adduser 区别
  4. 标准输出和标准错误重定向
  5. 《云原生之 华为云 》公有云华为云 CCE集群操作
  6. TCP三次握手相关面试题
  7. 编程题python请输入星期几的第1个字母,用来判断是星期几,如果第1个字母一样,则继续判断第2个字母,以此类推
  8. 极简短网址-一套简约的短网址源码
  9. VMware 16创建共享文件夹方法
  10. c语言读取txt到一个字符串,c语言读取txt文件内容简单实例