Unity屏幕适配

屏幕适配:简单来说就是把UI以合适的大小显示在屏幕上合适的位置。

比如我们在手机上运行一个小游戏,打开它的菜单栏,大致样式如下。

如果换个手机,可能会是这个样子。

现在市场上流行一系列手机,比如iPhone X的刘海平,很多安卓手机的滴屏,刘海平,矮刘海平等等。如果是根据车型来适配,那么适配太多车型就比较复杂了。下面要介绍的是根据刘海平、水滴屏等改编。好在unity3d引擎提供了屏幕安全区接口screen safe area2017.2以上版本中;

Screen.safeArea将返回移动平台安全区域的Rect。例如,当iPhone (2436x1125px)为纵向时,Screen.safeArea返回的值为rect (0,132,2172,1125)。如图所示:

屏幕.安全区域描述

以像素为单位返回屏幕的安全区域(只读)。

在某些显示器上,用户可能看不到屏幕的某些区域。这可能是因为显示器的形状不是矩形或者是过扫描造成的(比如电视屏幕)。不要将用户界面元素放在安全区域矩形之外。安全区域的最大大小是屏幕分辨率(以像素为单位),定义为rect (0,0,screen.width,screen.height)。

设计思路设计在顶部和底部的UI界面尽量放在Screen.safeArea返回的Rect安全区域。如果不影响玩家点击互动按钮,可以不放在安全区,根据各个项目设计。为了不影响整体布局,安全区的外侧可以完全填充与背景色相近的图片。如下图所示:

许多Android设备需要在播放器设置中选中在安全区域外渲染,才能在安全区域外渲染。