unity3d多分辨率自适应

写在最前:

   网络上有很多写自适应的文章,但大多比较繁琐冗余,今天我自己总结了一下,可以分成两块。

一、视口的自适应

   视口的自适应主要是为了解决Camera的近大远小问题。比如一款2D游戏,为了使游戏场景根据手机的屏幕尺寸而成比例的缩放,我们就需要调节视口,控制游戏区域的正常显示。

   这里我所用的方法可以总结为一个公式:  实际视口 = 初始视口 * 初始高宽比 / 实际高宽比。

   初始视口为你一开始调节妥当的视口大小;初始高宽比 = 屏幕宽度 / 屏幕高度(是你决定使用的最佳分辨率的手机高宽比); 实际高宽比 = 实际屏幕宽度 / 实际屏幕高度(实际分辨率的高宽比)


unity3d多分辨率自适应_第1张图片

   把上面的脚本绑在Main Camera上即可。

二、UI的自适应

   游戏场景中UI是必不可少的,因此很自然的要谈及UI的自适应。其实,UI的自适应问题,unity提供的Canvas Scaler 组件已经帮我们解决好了。

   我们只需要把此组件如图调整好即可

unity3d多分辨率自适应_第2张图片

  值得一提的是: Reference Resolution 你决定的最佳分辨率大小(x是宽,y是高);Match =0 时 为竖屏,Match = 1时为横屏。

  注意:需要把UI的锚点都调节到UI物体四角实心蓝点上。

你可能感兴趣的:(unity3d)