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

做这一组教程的目的有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浏览窗口大小自行观察自适应情况

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值