设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
只需一步,快速开始
首页
BBS
剑灵怀旧服
Unity
美术资源
UE
全套源码
其他内容
奖励任务
分享
Share
每日任务中心
搜索
搜索
怀旧插件
怀旧脚本数据
怀旧攻略
公益服开服通知
AI工具分享
Unity插件
Unity问题答疑
Unity学习教程
Unity AI算法
Unity源码
其他美术文件
MAY文件
3D Max
FBX模型
UE技术讨论
UE学习视频
UE源码
网站源代码
手机游戏源代码
PC游戏
游戏捏脸
其他插件
OFFER摸吧
魔兽地图
单机游戏
本版
帖子
用户
爱开源网
»
首页
›
前端中台
›
Unity
›
Unity针对高低端机型的优化
返回列表
发新帖
[Unity学习教程]
Unity针对高低端机型的优化
[复制链接]
1305
|
0
|
2023-8-23 11:45:03
|
显示全部楼层
|
阅读模式
来自
中国北京
1.为什么要区分高低端机型
我们在制作游戏项目时,画质和流畅度都好坏常重要的。市面上的游戏装备百花齐放,各大厂商推出不同型号、不同性能的装备来满意大众的需求。
一款游戏的画质和流畅度是决定游戏能否脱销的关键,而画质和流畅度又须要靠装备来支持,不同性能的装备会导致游戏产生不同的效果,这是最让人头疼的。辛苦开辟的游戏不能在某些装备上顺畅地运行起来,出现画质糟糕、画面过慢、画面卡顿,甚至瓦解等问题,影响了游戏的可玩性,也影响了游戏在市场上的远景。
为了让市场上不同机型的装备都能流畅地运行游戏,我们须要区别对待,比如,在高端机型中利用画质好的画面,而在低端机型中利用差一点的画质。由于低端机型内存低,CPU性能差,装备中部件之间的共同并没那么好,以是,假如让其利用高端机型的画质,运行就会不流畅。
2. 如何处理高低端机型的画诘责题
高低端机型的区别对待,我们可以从以下几个方面入手。
(1)UI贴图质量区别对待
针对不同的机型,分别利用不同的两套UI贴图,此中一套是针对高端机的,无任何压缩,无缩小;另一套是针对低端机的,对UI贴图进行了压缩,且缩小了UI贴图的巨细。后面我们会详细解说如安在游戏中利用NGUI和UGUI无缝地切换高低质量的UI画面。
(2)模子和特效利用资源区别对待
针对不同的机型,分别利用不同的特效和模子,将资源分为1、2、3、4、5这五个品级,针对不同的装备利用不同的品级。
特效在项目中最常见、也利用得最频仍,高质量的特效能直接导致低端机卡顿,因此,在低端机中要更换低质量的特效,甚至在非关键部位可不利用特效。低面数模子则可以减轻渲染时GPU的负担。
(3)阴影的利用情况区别对待
针对不同的机型,分别利用不同质量的阴影,大概不利用阴影。
场景中的模子物体越多,材质球数目就越多,实时阴影的盘算量与渲染量也就越多。在低端机上保持顺畅是第一位的,假如能不利用阴影那是最好的,直接省去了阴影的盘算。假如一定要利用,那我们也有办法减低阴影盘算和渲染的消耗。
下面是针对高低端机型对阴影处理的几种方法。
方法1:利用Unity3D提供的阴影渲染设置接口,通过QualitySettings.shadowResolution设置渲染质量,QualitySettings.shadows设置有无和模式,QualitySettings.shadowProjection设置投射质量,QualitySettings.shadowDistance设置阴影表现间隔,QualitySettings.shadowCascades设置接受灯光的数目等。
在高端机上利用高质量阴影渲染设置,在中端机上利用中端阴影渲染设置,在低端机上则利用低端阴影渲染设置,甚至可以关闭阴影渲染设置。
方法2:关闭传统的阴影渲染设置,以简单的底部圆形玄色阴影面片取代。
用一些简单的阴影面片更换阴影,用内存更换CPU。这样就省去了盘算阴影的CPU消耗,还能瞥见在底部存在阴影。
方法3:静态阴影烘焙。场景内的物体大多是不会动的,我们可以接纳烘焙的方式来镌汰一些实时的阴影算力。
(4)团体贴图渲染质量区别对待
针对不同的机型,分别利用不同的贴图渲染质量。
Unity3D中可对贴图渲染质量进行设置,QualitySettings.masterTextureLimit的API默认是0,就是不对贴图渲染进行限定,假如设置为1,就是渲染1/2巨细的画质,相当于压缩全部要渲染的贴图巨细至原先的1/2巨细,假如设置为2,就是渲染1/4画质,以此类推。
对全部贴图进行渲染限定是一个大杀器,能直接让CPU和GPU的消耗下降,但画质也遭到了扑灭性的打击,我们须要它在低端机上发挥作用,但也要审慎利用。
3. 怎么用步伐区分高低端机型
下面是区分高低端机型的几个方法。
1)Apple机型。究竟iOS的型号是有限的,因此可以把此中一些型号的机子归类为高端,另一些型号的机子归类为中端,另有一些型号的机子归类为低端。Unity3D中的API有可以用的接口,比方,UnityEngine.iOS.Device.generation==UnityEngine.iOS.DeviceGeneration.iPhone6等,以此类推,就能区分Apple机型了。
2)Android等其他机型。由于机子型号太多,我们可以用CPU型号、内存巨细、系统版本号、屏幕分辨率巨细、匀称帧率等判定是高端机照旧低端机。
比方,3GB内存或以上的为高端机,1GB或以下的是低端机,其他为中端机。也可以根据系统的版本号来判定,Android 9.0以上的为高端机,Android 6.0以下的都是低端机,其他为中端机,又大概分辨率大的为高端机等。不过,通过一些简单的规则将高低端机型区分开来会有很大问题,比方,有些盗窟机内存很大,CPU却很烂,安卓版本很高,但内存却很小,以是我们盼望有一个综合思量硬件的系数,可以为每个硬件给出一个评分,末了将CPU型号、内存巨细、系统版本号、屏幕分辨率巨细、GPU型号这几个硬件的评分综合起来,得出一个总分,用这个分数来判定是高端机、中端机抑或是低端机,这样会比力公道一些。
除了上述区分方法,还可以通过匀称帧率来判定高低端机型。
在游戏中参加统计匀称帧率的步伐,将机型型号、CPU型号和匀称帧率发送给服务器端,由服务器记录各机型型号的匀称帧率,再统计出一份报表给客户端,客户端根据这份统计报表来决定哪些机型型号是高端装备,哪些机型型号是低端装备。得到数据后,再通过设置不同级别的画质来优化高低端装备的游戏流畅度。
区分高低端机型时,我们可以将这三种方法一起利用,由于Android中有一些是有固定名称大概编号的机型,我们可以很方便地确定它的类型,有些没有确定型号,就须要通过了解装备的硬件情况来确定机型了,那些完全不能确定机型的,就只能在统计中得到答案了。
4. UI贴图质量的区别对待
在针对不同机型优化时,UI贴图质量的区别对待是一个比力重要的伎俩,下面将对此方法进行详细先容。
在开辟游戏时,免不了要针对不同机型做不同的处理,让游戏在高画质和低画质之间切换,在判定装备的情况后,可以实时切换游戏品格,让游戏更加流畅。
NGUI和UGUI的切换方式有所不同,NGUI基于图集Atlas,而UGUI是基于Image Unity3D4.6.1后的Sprite 2D的。UI画质切换在NGUI和UGUI里都是基于两套图和两套Prefab实现的。它们的共同特点是,全部原生态的高画质(HD)Prefab都利用脚本工具天生相应的标准画质(SD)Prefab。
可利用步伐把高清UI和标清UI做成两个不同的Prefab,两个UI的功能是类似的,只是对应的图集质量不同罢了。然后在高端机型中运行高清UI,在中低端机型中运行标清UI,这使得不同的机型都能流畅地运行游戏,而且它们拥有类似的功能。
这个天生高低画质Prefab的步伐的运行的步调是,先把全部UI用到的图集、材质球都复制一份到固定文件夹下,再复制一份Prefab存放在文件夹下面,并让Prefab里与图集有关的变量都指向标清材质球大概标清图集,也可以是标清单张图。
下面来看看实时切换高清和标清UI时的详细步调。
将一套UI图复制成两套图。一套高清,一套标清,高清Prefab指向高清图,标清Prefab指向低清图。
这里NGUI和UGUI中利用的方法不同。NGUI须要制作两个Atlas Prefab,再通过修改内核将Atlas实时更换掉,也可以复制并制作另一个SD UI Prefab,只改变Atlas中指向标清画质的部分。UGUI轻微复杂一点,但原理差不多,虽然它不能实时改变图集来切换高清画质和标清画质,但也可以通过制作一个SD Prefab来到达高清和标清切换的目标。步调是,起首复制全部图片到SD文件夹,并加上前缀SD,这样好辨认,然后复制一个类似的UI Prefab,将其定名为SD UI Prefab,再把复制过来的SD UI Prefab里的图都换成SD里的图。这样,高清和标清UI Prefab都有了类似的逻辑,只是指向的图不同而已。
步伐是选择SD照旧HD,只须要关注Prefab的名字即可。Prefab名字在高清和标清之间,只是前缀不一样,高清的前缀为HD大概没有前缀,而标清的文件名前缀同一设置为了SD,以是加载时很容易通过前缀名区分开来。
NGUI和UGUI制作SD Prefab的流程可以通过编写一个脚本步伐一键搞定,就不消再手动一个个复制,一个个修改了。
在开辟过程中,我们只要维护好HD UI Prefab就可以了,在打包前利用脚本一键构建SD UIPrefab能节流不少时间,提高服从。
这样一来,在制作过程中,我们不消再关心SD的事情,完全可以只把留意力和精力会合在做好高清的UI图上。关于标清SD的问题,脚本步伐已经帮我们全部搞定。
5.后续
一连关注,后续会增长《区分装备高中低配》的代码实现。
来源:
https://blog.csdn.net/qq_34035956/article/details/127485638
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
东冬冻
18
主题
0
回帖
54
积分
注册会员
注册会员, 积分 54, 距离下一级还需 296 积分
注册会员, 积分 54, 距离下一级还需 296 积分
积分
54
加好友
发消息
回复楼主
返回列表
Unity
Web开发
易语语言
Cocos Creator
UE
其他
图文推荐
非绿色-黑鳍自动换角色组队吃药自动没疲劳刷金
2024-09-21
绿色-剑灵怀旧完整主线(10月更新)有韩服
2024-09-12
非绿色-定制AI全自动黑鳍V1.2
2024-09-14
剑灵三系精修端 星术咒3鬼3 T2 饰品属性外观
2023-08-16
Unity 超级马里奥
2023-08-22
热门排行
1
非绿色-黑鳍自动换角色组队吃药自动没疲劳
2
非绿色-定制AI全自动黑鳍V1.2
3
绿色-剑灵怀旧完整主线(10月更新)有韩服
4
剑灵三系精修端 星术咒3鬼3 T2 饰品属性外
5
Unity 超级马里奥
6
AI绘画stable-diffusion-webui指定GPU运行
7
非绿色-武神塔合集
8
非绿色-使用教程攻略
9
非绿色 3号自动切线 黑骑 钓鱼 蓝蛙
10
绿色-黑鳍脚本合集