Unity的多分辨适配原理是怎么实现的?

更新时间: 2020-06-01 15:53:56来源: 粤嵌教育浏览量:9446

      Unity开发的游戏中大家对于场景的多分辨率的要求是很高的,不管是人物和还是场景的分辨率都是对于一个unity开发人员来说会是非常高的要求的。所以对于unity开发人员来说掌握好unity的多分辨适配原理是非常中亚的额,下面粤嵌科技的小编就来和大家说下unity的多分辨分配原理是怎么实现的。

  锚点定位


  目前主流的还是以锚点定位为主。锚点定位的方式对于开发来讲比较方便,设计人员定好每个UI要挂在哪个锚点上,就不会去管不同分辨率的显示问题了。每个不同的分辨率都会根据获取的锚点进行UI的显示。不过锚点是有局限性的,设计上需要针对每种分辨率进行显示避规,需要不断的调整锚点的位置,达到不同分辨率都能显示正常,如果没有调整好锚点,那么在不同的分辨率屏幕上就会出现UI异常的情况。锚点定位基本不能做占满横条或竖条的设计,横条和竖条使用锚点就会出现图片显示不全或者屏幕没占满的情况。


  UI配置文件


  做UI配置文件适配就是针对每个比例的分辨率记录每个UI的大小和位置,然后在游戏运行时读取相应分辨率的UI配置文件来还原适配好的UI。这个做法就不需要像锚点定位那样去规避不同分辨率的设计,但是这个方案修改操作比较麻烦,每次调整都需要对每个分辨率的配置进行调整,人工操作的成本比较高。


  以上两种都是比例适配较多,高清(例如NEW IPAD)适配可能就比较麻烦了。如果确实有这样不能拉伸的需求(需要UI非常精致那种),只能做多套UI了,然后用NGUI的retina适配插件做相应适配。不过一般游戏都不需要做到那么精致,直接用960或1024的UI拉伸到2048的程度,虽然有一些毛边,但是还是能够接受的,市面上的NEW IPAD大部分UI都是这样做的。


  修改显示分辨率


  需要注意的是,如果你不希望UI被拉伸,又不想在高清分辨率手机上显示图标过小,可以考虑下修改手机的显示分辨率。在U3D的Screen类下,有个Screen.SetResolution()函数,可以设置相应的渲染分辨率。IOS导出XCODE之前的build setting的other settings下的target device设置也可以修改IOS相应的分辨率。


  修改显示分辨率可以达到你的UI适配效果,假设你觉得这个游戏在高清分辨率的手机跑起来慢的话,修改显示分辨率后,相应的像素渲染便少了很多。从而大大提高游戏的运行帧率。但事实上它还是拉伸了UI,因为分辨率低了,显示屏会出现精度的视网格,所以场景中的3D模型边缘显示锯齿很明显。可以通过在quality setting下的效果开抗锯齿选项来解决问题,但开抗锯齿是挺耗性能的。


  以上就是粤嵌科技的小编给大家讲解的关于unity的多分辨适配原理的实现方式,每一步都是不可以少的。如果说你想要学习unity技术的话,那么粤嵌科技欢迎大家来我们公司进行实地考察,也可以点击我们文章下面的获取试听资格按钮来获取我们的unity课程免费试听资格,在试听中可以更加了解我们粤嵌科技。

免费预约试听课