推荐阅读
- CSDN主页
- GitHub开源地址
- Unity3D插件分享
- 简书地址
- 我的个人博客
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
这篇文章就来讲一下Quality
的设置(Unity版本:2021.3.15f1c1
)。
Quality
主要是用来控制图形质量的设置,这些设置包括抗锯齿、阴影、分辨率等方面:
根据设备的性能调整参数,来达到最佳的游戏体验。
一般来说,质量是以牺牲性能为代价的,所以最好不要追求移动设备或旧硬件的最高质量,因为它会对游戏产生有害的影响。
二、Quality的设置
2-1、Quality的等级
默认有6个等级,也可以根据自己的需求自行配置,针对于低端或者高端机选择不同的等级。
属性 | 介绍 |
---|---|
Add Quality Level | 定义新的质量级别,在Name属性中输入新等级的名称 |
2-2、Rendering设置
属性 | 介绍 |
---|---|
Render Pipeline Asset | 渲染管道的资源文件,可以为空。 |
Pixel Light Count | 设置Unity是渲染的时候支持的最大Light的数量,比如说一个场景中有很多灯光,但是打包后只有几盏灯亮了,就是这个参数影响了。 |
Anti Aliasing | 选择抗锯齿的级别,有2倍、4倍、8倍的采样率水平,随着采样率提高,平滑度和GPU的性能成本也在提高,但是平滑度也更高。 |
Realtime Refection Probes | 启动此选项可以在游戏过程中跟新反射探针。 |
Resolution Scaling Fixed DPI Factor | 分辨率缩放固定DPI因子。如果设备的本机屏幕DPI高于此值,Unity会降低应用程序的分辨率来匹配此设置,计算公式:min(Target DPI * Factor / Screen DPI, 1) |
VSync Count | 垂直同步计数,选择将渲染与垂直空白同步还是根本不同步Unity。可将渲染与显示设备的刷新率同步来避免撕裂瑕疵。可用选项包括Every V Blank每个空白、Don’t Sync不要同步 和 Every Second V Blank每秒空白。 |
2-3、Textures设置
属性 | 介绍 |
---|---|
Texture Quality | 选择Unity在渲染纹理时使用的最大级别。较高的级别具有较低的分辨率,这意味着纹理需要较少的GPU内存和较少的GPU处理时间。这些选项包括Full Res全部, Half Res一半, Quarter Res四分之一和Eighth Res八分之一。无论选择哪个选项,没有纹理贴图的纹理都将以其全分辨率进行渲染。 |
Anisotropic Textures | 设置anisotropic纹理。选项包括有Forced On强制开启、Per Texture每个纹理和Disabled关闭。 |
Texture Streaming | 选择抗锯齿的级别,有2倍、4倍、8倍的采样率水平,随着采样率提高,平滑度和GPU的性能成本也在提高,但是平滑度也更高。 |
勾选Texture Streaming 后:
属性 | 介绍 |
---|---|
Add All Cameras | 激活项目中所有Mipmap流的活动的摄像机 |
Memory Budget | 内存预算,分配给所有加载Mipmap流系统的内容总量,默认512MB |
Renderers Rer Frame | 处理开销Mipmap流系统对于主线程和相关联的工作,默认是每帧处理512个网格渲染器 |
Max Level Reduction | 设置Mipmap流系统达到内存预算后,可以丢弃的mipmaps数量。 |
Max IO Requests | 设置纹理文件的IO请求最大数量,这个值会影响mipmap的响应速度。 |
介绍一下 Mipmap流:
- 就是Unity优化项目的一种手段,让Unity强制只加载渲染当前摄像机位置所需的mip级别,而不是默认加载所有级别,用少量的CPU资源来节省潜在的大量的GPU内存。
- mip级别是具有特定分辨率的纹理版本,mip存在于成为mipmaps的集合中,大贴图包含单一纹理的越来越小且分辨率越来越低的版本,例如,一个纹理贴图可能包含四个版本的纹理,从原始纹理Mip0到Mip 1、Mip2和Mip3:
- 纹理贴图通常用于渲染3D场景中的对象,其中纹理对象与相机的距离会有所不同。较高的mip级别用于距离相机较近的对象,较低的mip级别用于距离较远的对象。
2-4、Particles设置
属性 | 介绍 |
---|---|
Soft Particles | 指示当粒子接近不透明游戏对象的边缘时是否淡化粒子。 |
Particle Raycast Budget | 设置用于模拟粒子系统碰撞的最大射线投射数。 |
2-6、Terrain设置
属性 | 介绍 |
---|---|
Billboards Face Camera Position | 启用此选项可在渲染时强制面向摄像机而不是摄像机平面。这种情况下会产生更好、更逼真的图像,但渲染成本更高。 |
2-5、Shadows设置
属性 | 介绍 |
---|---|
Shadowmask Mode | 设置阴影遮罩的模式 |
Shadows | 设置隐藏的类型,有硬阴影、软阴影、禁用阴影。 |
Shadow Resolution | 设置渲染阴影的分辨率。 |
Shadow Projection | 设置阴影投射方向光的阴影时使用的方法。 |
Shadow Distance | 设置阴影的摄像机显示的最大距离。 |
Shadow Near Plane Offset | 设置阴影的近平面偏移。 |
Shadow Cascades | 设置阴影的级联数量。 |
Cascade splits | 设置阴影的每个级联之间的垂直线来调整级联阴影分割。 |
2-6、Async Asset Upload设置
属性 | 介绍 |
---|---|
Time Slice | 设置缓冲的纹理和网格数据到GPU的CPU花费时间。 |
Buffer Size | 设置将纹理和网格数据上传到GPU的缓冲区大小。 |
Persistent Buffer | 指示上传搭配GPU是否应该保持缓存,即使没有剩余内容可供上传。 |
2-7、Level of Detail设置
属性 | 介绍 |
---|---|
LOD Bias | 设置细节层次LOD的偏移。LOD级别是根据对象的屏幕大小来选择的。当大小介于两个LOD级别之间时,可以偏向于两个可用模型中较不详细或较详细的一个。这被设置为从0到+无穷大的一个分数。当它设置在0和1之间时,它倾向于较少的细节。大于1的设置有利于获得更多细节。例如,将LOD偏差设置为2并使其在50%的距离处变化,LOD实际上仅在25%处变化。 |
Maximum LOD Level | 设置游戏使用的最高LOD。 |
2-8、Meshes设置
属性 | 介绍 |
---|---|
Skin Weights | 皮肤权重,选择在动画过程中可以影响给定顶点的骨骼数量。比如说4Bones就是4个骨骼。 |
三、后记
总结一下就是,Quality设置是一个很重要的画面质量设置的模块。
调整不同的质量的属性,来实现不同的设备下的流畅运行。
比如高端设备可以设置高一些的渲染效果,比较低端的电脑就可以设置低一些的渲染效果,来提高优化。
如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。
你的点赞就是对博主的支持,有问题记得留言:
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦:
专栏 | 方向 | 简介 |
---|---|---|
Unity3D开发小游戏 | 小游戏开发教程 | 分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。 |
Unity3D从入门到进阶 | 入门 | 从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。 |
Unity3D之UGUI | UGUI | Unity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。 |
Unity3D之读取数据 | 文件读取 | 使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。 |
Unity3D之数据集合 | 数据集合 | 数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。 |
Unity3D之VR/AR(虚拟仿真)开发 | 虚拟仿真 | 总结博主工作常见的虚拟仿真需求进行案例讲解。 |
Unity3D之插件 | 插件 | 主要分享在Unity开发中用到的一些插件使用方法,插件介绍等 |
Unity3D之日常开发 | 日常记录 | 主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等 |
Unity3D之日常BUG | 日常记录 | 记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。 |