转载http://blog.csdn.net/lyh916/article/details/50865541

参考链接:

http://www.jianshu.com/p/96fd1fbe8409

http://blog.sina.com.cn/s/blog_4148e8630102vji9.html

http://www.xuanyusong.com/archives/3278

关键点:

0.自适应的测试:通过设置多种的屏幕大小进行测试,测试时最好要打开Maximize on Play,在屏幕放大的情况下容易观察自适应情况

1.所谓的自适应,就是:

a.保持相对位置不变。例如UI设计在屏幕的左上角,那么在各种的分辨率下都应该在左上角

b.保持宽高比例不变。由于分辨率有很多种,所以保持宽高等比例缩放是做不到的,要么是宽拉伸缩放的程度大些,要么是高拉伸缩放的程度大些

2.在UGUI中,可以通过设置UI的描点来设置UI的相对位置;可以通过设置Canvas下的Canvas Scaler来设置UI的缩放比例(Canvas下的Canvas是用来处理UI遮挡关系的)

3.Canvas Scaler组件:

a.当UIScaleMode为Constant Pixel Size时,UI在任何分辨率下都不会进行缩放拉伸,只有通过改变Scale Factor才会进行缩拉,因此不推荐使用该模式(而这种模式的优点就是你可以通过写自适应算法来改变Scale Factor的值,代替unity的自适应算法)

b.当UIScaleMode为Scale With Screen Size时,相当于使用unity的自适应算法,此时unity会根据屏幕分辨率自动调节Scale Factor的值。在做自适应时,一般要先选择一种比较主流的分辨率(即比较多的机型都采用这种分辨率)进行UI的设计,例如采用1024x576,在这里就是设置Reference Resolution的值了。

然后就是Screen Match Mode这个东西了:

当值为Match Width Or Height时:当值为0即处于Width那端时,表示屏幕高度对于UI大小完全没有任何影响,只有宽度会对UI大小产生影响。例如设置屏幕为800*600,然后改变为800*300,屏幕高度变小了,但UI并没有进行缩拉;同理当值为1即处于Height那端时,表示屏幕宽度对于UI大小完全没有任何影响,只有高度会对UI大小产生影响

当值为Expand时:举个例子,设计了一个button宽高为200*100,即宽高比为2:1,放在4:3的屏幕内;然后把这个button放在16:9的屏幕内,显然地,此时button是不能进行等比例的缩放的,即无法保持2:1的宽高比了,Expand的意思就是尽可能地使UI拉伸来适应屏幕

当值为Shrink时:同理,就是尽可能地使UI缩放来适应屏幕

4.一般来说,比较不错的设置就是:

Canvas Scaler 选择 Scale With Screen Size

Screen Match Mode 选择 Match Width Or Height,比例设为1,即只和高度进行适配

Unity UGUI屏幕自适应相关推荐

  1. unity android屏幕自适应,Android应用开发之unity打开移动摄像头,并自适应屏幕显示摄像头数据。兼容android和ios...

    本文将带你了解Android应用开发之unity打开移动摄像头,并自适应屏幕显示摄像头数据.兼容android和ios,希望本文对大家学Android有所帮助. 跨平台并自适应显示摄像头数据新建工程并 ...

  2. Unity GUI屏幕自适应

    using UnityEngine; using System.Collections; public class GUIScreenFit : MonoBehaviour { void OnGUI( ...

  3. Unity 制作萌系live2d桌宠:屏幕自适应+交互

    目录 准备工作 使用unity显示live2d人物 全屏+背景透明+点击穿透+置顶 屏幕自适应 交互 本文在之前的博客如何使用unity制作萌萌的live2d桌宠的基础上对项目继续改进,解决了屏幕自适 ...

  4. Unity安卓手机屏幕自适应完美解决方案

    本人正在努力建设自己的公众号,大家可以关注公众号,公众号将免费提供大量教学Unity相关内容,除了从Unity入门到数据结构设计模式外,我还会免费分享我再游戏开发中使用的素材,书籍,插件,希望大家可以 ...

  5. Unity中的UGUI屏幕适配

    本文分享Unity中的UGUI屏幕适配 屏幕适配一直是一个老生常谈的问题, 虽然只是项目一开始的时候会用到, 但是还是有很多东西需要学习和了解, 今天给大家分享下一些个人的学习和总结. 各种坐标 屏幕 ...

  6. Unity使用UIStretch做屏幕自适应遇到clipped panels must have a uniform scale

    clipped panels must have a uniform scale,or clipping won't work properly! Unity如果还在使用UIStretch做屏幕自适应 ...

  7. 【Unity】关于屏幕自适应的思路

    关于NGUI的屏幕自适应,大体思路可以这样做: 比如要实现在屏幕的左侧做一个长条背景: 可以看出这部分图片是和屏幕高度一致的.那么只要得到"制作时的屏幕高度"以及"当前运 ...

  8. 【绝对原创】Unity开发 NGUI如何使游戏屏幕 自适应

    使用NGUI如何使游戏屏幕 自适应 Hello 大家好,我叫阿祥,英文名叫LuckyDog.俺是新来滴,大家多多关照.. 首次写技术博客,我只是将这儿当做自己存储知识笔记的地方和以知识会友的平台,希望 ...

  9. 【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

最新文章

  1. 单一窗口关区备案_【干货】上海国际贸易单一窗口货物申报对接版(信天翁)“两段准入” 操作手册...
  2. html5 canvas(小树姐的牛掰到爆了的作品)
  3. JavaScript基础知识(Date 的方法)
  4. win10命令提示符怎么打开_Win10系统防火墙怎么打开?ARP防火墙启用步骤
  5. 围绕HugeTLB的极致优化
  6. Python可以这样学(第五季:Socket编程)-董付国-专题视频课程
  7. 干货来袭!java核心技术卷一pdf
  8. 日常英语:最近的药店在哪里
  9. 关于linux目录~ / .
  10. android 周月切换日历,vue-week-picker实现支持按周切换的日历
  11. 无线AP人员定位实现调研以及方案编写
  12. Linux系统下利用共享内存模拟迅雷下载
  13. Spark 报错 Failed to delete: C:\Users\lvacz\AppData\Local\Temp\spark-*
  14. C++第一话---->初识C++及命名空间
  15. hexo主题之hexo-theme-yilia-plus
  16. 解决Tomcat修改server.xml和content.xml后自动还原问题
  17. WhatsApp电脑版和WhatsApp网页版区别?
  18. 1007. Maximum Subsequence Sum (25)-PAT甲级真题(最大连续子序列和、动态规划dp)
  19. python开发ps插件_python +ps 三方面库整理
  20. 英语论文格式修改(两栏)

热门文章

  1. linux连接小米随身wifi密码忘记了,小米路由器无线密码(wifi密码)忘记了怎么办?...
  2. OS X平台的Dylib劫持技术(下)
  3. Creo二次开发 Creo4.0 Qt5 动态部署发布
  4. 2021.12.21报错解决:jquery.min.js:5 POST http://localhost:3000/login 400 (Bad Request)
  5. 前端学习笔记,加油!
  6. 现实版“武大郎和潘金莲”的婚姻情感纠葛
  7. 盘点各大互联网公司2017中秋月饼设计,你最喜欢哪一个?
  8. 除了高额房贷,美国购房者仍面临其他“财政危机”
  9. mysql 100个标题_100个超强吸引人的标题
  10. OSChina 初十乱弹 ——你明白好多道理 还是过不好这一生