Unity2d默认的相机适配方法是将相机的宽高比按照手机屏幕宽高比例进行调整,保持相机高度不变并通过相机高度与屏幕实际高度比例对游戏内容进行缩放。所以不同分辨率屏幕的手机所显示的游戏内容在两边要么有裁剪,要么有黑边。实际上就是一种等高度的适配方法。
网上看到一篇文章提供了一种进行屏幕适配的方式,原文章地址为 http://www.cnblogs.com/flyFreeZn/p/4073655.html。这篇文章提供的方式是一种宽度适配,即根据手机屏幕分辨率,调整camera的正交投影下的Size属性(Projection属性设置为Orthographic,Size属性就会出现),使相机的宽度与屏幕相等,而宽高比保持与手机屏幕一致,从而达到等宽适配的目的。
camera的正交投影下的Size属性,即相机实际高度值的一半,单位不是像素而是untiy引擎的单位Unit。
举个例子:unity2d默认情况下像素Pixels与引擎单位Unit对应比例为100(当创建Canvas的同时Canvas Scaler里有Reference Pixels Per Unit显示了该值),相机默认的Orthographic下Size为5,即实际相机的高度为5 * 2 * 100 = 1000像素。