Unity3D手机平台分辨率自动匹配教程

1. 下载NGUI

2. 导入NGUI package到Unity。

custom-package

这时候菜单上会出现NGUI的菜单栏:

NGUIcaidan

3. 将默认的Main Camera删掉,通过菜单栏NGUI->Create新建一个2D UI对象。

unity3d-2dui

此时创建了一个UI Root以及子对象Camera(这就是为什么要删除默认的摄像头),这个摄像头自带了NGUI的UICamera脚本,这个脚本的作用是来响应各种事件的。

unity3d-uiroot-camera

4. 设置UI Root属性,点击UI Root,此时在右侧的Inspector面板可以看到其相关属性,这里很关键!选择Scaling Style为ConstrainedOnMobiles,这个是专门为手机分辨率设计的选项,此时下面有两个属性,勾选Content Width和Content Height,并设置你最期望的屏幕分辨率,一般会是你背景图片的分辨率,这样UI Root下的子元素就会根据手机的分辨率等比例缩放!注意下图的官方说明。

unity-uiroot-scalingstyle

5. 你会发现这个新的Camera看不到你创建的物体,需要设置摄像头为可视摄像头。点击Camera,在右侧的Inspector面板会看到Camera的属性,设置以下两个属性:

Culling Mask:选Everything(这个非常重要,这样才能看到你的物体)。

Clear Flags: 选Skybox

unity-camera-cullingmask

6. 通过NGUI创建一个Texture对象当作背景图片,这一步非常重要!之前博主在这边卡了好长时间。只有在UI Root下并且是NGUI的对象才能应用到UI Root的Scaling Style功能!(当然,应该还有博主没摸清的地方。)

unity-texture-gbSetting

7. 好了,检查下Game视图,看看是不是生效了呢:)下面放几张有代表性的图。

注意:以后添加的所有对象都应该在UI Root下,这样才能跟着背景图片等比例缩放!

分辨率:1280*800(16:10),上下填充黑边。

unity-1280-800-16-10

分辨率:1920*1080(16:9),完美填充,无黑边!

unity-1080p

分辨率:800*400(2:1),左右填充黑边。

unity-400p

 

posted @ 2017-05-16 19:38  AaronBlogs  阅读(4557)  评论(0编辑  收藏  举报