一种unity2d多分辨率屏幕适配方案

一种unity2d多分辨率屏幕适配方案

ID:22931326

大小:540.87 KB

页数:11页

时间:2018-11-02

一种unity2d多分辨率屏幕适配方案_第1页
一种unity2d多分辨率屏幕适配方案_第2页
一种unity2d多分辨率屏幕适配方案_第3页
一种unity2d多分辨率屏幕适配方案_第4页
一种unity2d多分辨率屏幕适配方案_第5页
资源描述:

《一种unity2d多分辨率屏幕适配方案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、[原创]一种Unity2D多分辨率屏幕适配方案此文将阐述-种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使用第三方2D插件,如Uni2D,2Dtoolkit等开发的游戏,NGUI插件不受这个方案影响,可以完美和此方案配合使用。正式开始的分割线先说明一些基木的概念:1.屏幕的宽高比AspectRatio=屏幕宽度/屏幕高度2.Unity2D中摄像机镜头的尺寸决定了我们实际看到游戏内容的多少,在编辑器中我们可以通过调整摄像机Camera的orthograp

2、hicSize属性值来调整摄像机的大小。如下图所示,当摄像机orthographicSize属性等于当前屏幕岛度单位的•半吋,摄像机大小正好与屏幕大小相等。注意这里提到的是屏幕单位苡度的一半,这个数值是经过像素到单位比即PixelsToUnits换算的,Unity2D屮这个比例的默认值是100,即100像素等丁•1单位。如果我们的游戏屏幕冇640像素髙,那么实际换兑成单位髙度则是6.4个单位,当我们摄像机的orthographicSize值是3.2时,摄像机大小刚好与辨藉大小相等。WorldSizeAsp

3、ectRatioXSize(可以通过此选项调整每张图片的像素单位比)看到这ffl你可能会发出疑问,Unity编辑器中只能直接调整摄像机的岛度,那摄像机的宽度是如何确定的呢?答案就是我们最前而提到的屏幕宽岛比。Unity会根裾当前屏幕实际的宽商比和摄像机的orthographicSize值来计算出摄像机的宽度值H摄像机实际宽度=摄像机orthographicSize*2*屏慕宽髙比也即是摄像机实际宽度=摄像机髙度*屏幕宽髙比我举个例子说明一下,iPhone4的屏幕像素为640*960,宽髙比为2:3,假设P

4、ixelsToUnits位为100,那么如果设摄像机髙度size值为4.8,那么摄像机实际宽度按照公式算出6.4,刚好就是屏幕的单位宽度。渐入佳境的分割线好丫,讲了以上的东西我们就知道力何我们的游戏会在不同的坼幕分辨率的设备上有不同的显示丫。不同的屏幕分辨率,相同的摄像机orthographicSize值会产生不同的摄像机尺寸,不同的摄像机尺寸导致实际显示的游戏内容的不同。接下来我再提出M个概念,为了方便后文的说明:1.游戏冇效内容,指游戏屮一定需耍完整显示在屏幕上的容;2.游戏实阪内容,指全部的游戏内容

5、,包括打效内容和主耍足为了适配多分辨率的或其他不重耍的冃的而增加的内容。我们的幵发•-般都会选择在一个固定的设计分辨率上进行,比如常用的iOS竖屏游戏设计分辨率640*960,我们就以这个设计分辨率为例。通常情况下,设计分辨率尺寸就是我们游戏有效内容的尺寸。采用这个分辨率,我们将摄像机的orthographicSize值设为4.8。假设我们不做任何多分辨率的适配处理,使我们游戏的有效内容区域和实际㈨容区域尺寸相同,都为6.4*9.6(己经做过像素到单位的换算,下同),让这个游戏运行在一款iPhone5设备

6、上(即屏幕是640*1136)时,我们來看看会发生什么情况。为了更好的说明,我们先设变量:游戏有效内容尺寸为gameValidContentSize游戏实际内容尺寸为gameContentSize摄像机尺寸为cameraSize实际屏幕尺寸为screensize屏幕宽高比为aspcctRatio接着开始计算:orthographicSize=4.8aspectRatio=640/1136=9/16cameraSize.height=摄像机orthographicSize*2=4.8*2=9.6camera

7、Size.width=cameraSize.height氺aspectRatio=9.6*9/16=5.4根据计算,我们得到实际摄像机的宽度为5.4,而游戏有效内容宽度是6.4,摄像机宽度小于游戏有效内容宽度,即cameraSize.width

8、6的设备上运行的效果,可以看到游戏内容被剪得很明显,右上角的按钮都快没冇了。iPhone4Tall(640x960),MaximizeonPlayStatsCiz如何解决这个问题呢?最H接的想法是,如果我们的游戏在64CT1136屏幕的设备上,摄像机宽度依然保持是6.4,那肯定就不会剪切/。为丫做到这一点,我们必须在运行时來调整camera的orthographicSize值。方法很简单,还題套用上面讲到的公式:aspectR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。