屏幕自适应分辨率与u3d的像素px单位使用

来源:互联网 发布:汉语国际教育硕士 知乎 编辑:程序博客网 时间:2024/04/29 19:35

做这一组教程的目的有2个。

1、为了分享一些个人心得经验,很多问题一直困扰这我,然而看了很多资料,并没有讲的非常明确的文章。所以写出来让大家少走弯路

2、为了给自己留一个底以后用的时候方便查询

这篇教程主要解决两个问题。我们一个一个来。


如何在u3d里使用像素px单位。大家知道,u3d里的x,y,z默认是米。所以在导入素材的时候,在Inspector面板中要设置1像素等1单位。这样就能使u3d的单位变成像素了



下来是重点了,几乎所有的教程里都没介绍过自适应分辨率的问题,我理解对于3d游戏,除了ui部分,是不需要自适应的,因为无非就是视口显示的内容多少。而ui可以通过ugui实现自适应

那么问题来了,2d游戏,在不同分辨率设备上,如果不做处理,显示的内容差别会很大。所以需要做如下工作来使2d游戏只适应分辨率

以上是主流设备分辨率,这里会有一个概念宽高比1.6就是16/10,就是16比10的分辨率,例如1280*800。

那到底怎么做才能让u3d的2d游戏自适应分辨率呢。


第一,由于相机的位置默认是在正中间,我们以1280*800作为基准分辨率来开发。所以我们移动相机到x640 y400。目的是让左下角的起始点变为x=y=0 方便开发。如上图1部分


第二,也是重点,要设置相机的视口为正交模式,就是平行的视口,这样物体的大小就和z的距离无关了
Orthograohic的Size是重点。这里要设置为高度的一半。由于我们是800高度为基准,这里我们写400就可以了,如上图2部分。

这样做了以后,只要是在16:10分辨率的设备上,视口和元素都会等比例方法缩小,做到自适应分辨率

上图3部分的图片宽度是400,占屏幕小三分之一


经过以上设置游戏就可以在各种分辨率下正常显示了。当然还有一些瑕疵,就是比例不是16:10的情况下,上下或最有会有黑边。但是基本上不影响游戏性。


大家可以拖动game浏览窗口大小自行观察自适应情况





0 0