Unity3D手机平台分辨率自动匹配教程
1. 下载NGUI
2. 导入NGUI package到Unity。

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

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

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

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

5. 你会发现这个新的Camera看不到你创建的物体,需要设置摄像头为可视摄像头。点击Camera,在右侧的Inspector面板会看到Camera的属性,设置以下两个属性:
Culling Mask:选Everything(这个非常重要,这样才能看到你的物体)。
Clear Flags: 选Skybox。

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

7. 好了,检查下Game视图,看看是不是生效了呢:)下面放几张有代表性的图。
注意:以后添加的所有对象都应该在UI Root下,这样才能跟着背景图片等比例缩放!
分辨率:1280*800(16:10),上下填充黑边。

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

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

Unity3D手机平台分辨率自动匹配教程的更多相关文章
- 移动端页面按手机屏幕分辨率自动缩放的js
<script> var phoneWidth = parseInt(window.screen.width); var phoneHeight = parseInt(window.scr ...
- Unity3D Android手机屏幕分辨率问题
Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android ...
- 自己动手开发手机APP控制西门子200smart 教程(原创干货)
自己动手开发手机APP控制西门子200smart 教程(原创干货) 自己动手开发手机APP控制西门子200smart 教程(原创干货) 2020-02-09 19:06:45 自己动手开发手机AP ...
- (转)火溶CEO王伟峰:Unity3D手机网游开发
今天看到这篇文章,感觉很不错,尤其是那句“Unity3D的坑我觉得最严重的坑就是没有懂3D的程序员,把Unity当成Office用”. 转自http://blog.csdn.net/wwwang891 ...
- NeuChar 平台使用及开发教程(五):使用 NeuChar 的关键字回复服务
在上一篇<NeuChar 平台使用及开发教程(四):使用 NeuChar 的素材服务>中,我们已经完成了素材的添加,下面,让我们来设置一个关键字回复,并同步到应设置好Neural Endi ...
- Unity3D手机游戏开发
<Unity3D手机游戏开发> 基本信息 作者: 金玺曾 出版社:清华大学出版社 ISBN:9787302325550 上架时间:2013-8-7 出版日期:2013 年8月 开本:16开 ...
- 根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码
1.媒体查询方法在 css 里面这样写 -------------------- @media screen and (min-width: 320px) and (max-width: 480px) ...
- android手机和ios手机的分辨率
Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3 VGA 640*480 (Video Graphics Array) QVGA 320*240 (Quarter VGA ...
- Unity手机平台播放影片
播放视频方法 截止到目前的Unity4.2版本,要在手机平台上播放影片,有两种方法: 使用Unity自带的Move Texture http://docs.unity3d.com/Documentat ...
随机推荐
- .NET url 的编码与解码
举例: aaa.aspx?tag=.net%bc%bc%ca%f5 aaa.aspx?tag=.net%e6%8a%80%e6%9c%af看起来好像是不一样,其实他们都是对".net技术&q ...
- kafka传数据到Flink存储到mysql之Flink使用SQL语句聚合数据流(设置时间窗口,EventTime)
网上没什么资料,就分享下:) 简单模式:kafka传数据到Flink存储到mysql 可以参考网站: 利用Flink stream从kafka中写数据到mysql maven依赖情况: <pro ...
- posix多线程--条件变量
条件变量是用来通知共享数据状态信息的. 1.条件变量初始化两种方式:(1)静态初始化pthread_cond_t cond = PTHREAD_COND_INITIALIZER;代码示例如下: #in ...
- vue自动化单元测试
// 引用vue和需要测试的组件 import Vue from 'vue' import HelloWorld from '@/components/HelloWorld' // 创建测试套件,一个 ...
- appium安卓自动化的 常用driver方法封装
appium安卓自动化的 常用driver方法封装 做安卓自动化的时候,很多方法写起来会造成代码冗余,把这部分封装起来 ,添加到androidUI工具类里,随时可调用 都放在这个类下面: @Compo ...
- GNU风格 ARM汇编语法2
.GNU汇编程序中的标号symbol(或label) 标号只能由a-z,A-Z,-,".",_等(由点.字母.数字.下划线等组成,除局部标号外,不能以数字开头)字符组成. Symb ...
- 【转】VMware虚拟机中CentOS设置固定IP
因为需要配置固定IP,在网上找了很久终于找到一个可行的例子,自己配置成功了. 1.首先获取你的GATEWAY 方便后面在cento系统配置里使用选取菜单栏:Edit->Virtual Netwo ...
- C# 简单Tcp通信demo
Client 代码 private void btnSend_Click(object sender, EventArgs e) { TcpClient tcpClient = new TcpClie ...
- 一款基于javascript的3D玻璃破碎特效
之前为大家介绍了一款 html5 canvas实现图片玻璃碎片特效.今天要给大家带来一款基于javascript的3D玻璃破碎特效.效果图如下: 在线预览 源码下载 html代码: <div ...
- JSDoc 3 生成javascript API文档
一.javascript注释规范 我们在编写javascript文件的时候,一般会添加一些注释.例如一些文件.类.方法和属性都应该用合适的标记和类型进行注释.这里不但方便我们的阅读,也能养成一个好的习 ...