CanvasScaler的三种适配模式——缩放模式(Scale with Screen Size)
一、含义
根据屏幕尺寸进行缩放,随着屏幕尺寸进行放大缩小
二、参数介绍

第一个参数一般是美术人员根据游戏主要面向的手机市场,比如安卓市场,用市场上最常用的分辨率作为制作UI图片的标准。这里填的数就是美术人员确认的尺寸,之后的屏幕自适应就通过这个参数进行计算。
Windows系统一般是1920*1080
注意:一般是通过宽高比来进行计算的。Game视图中的比值就是宽高比。使用宽高比就可以模拟不同设备的显示情况。

第二个参数是屏幕匹配模式,主要有三种:


*********************************************************************
第一种:Expand:


解释:将Canvas Size进行扩大,就是指将canvas的Transform的宽和高进行扩大
缩放系数是指Scale的值。
屏幕宽和屏幕高是指屏幕分辨率的宽高(屏幕分辨率是Game面板上的宽和高)
举例:

经过对比可以发现:通过Expand的方式,最终的画布尺寸是1920*1440,与参考分辨率1920*1080相比,确实实现了宽或高的拓展。
最终效果显示:
这种模式会让所有的UI细节都显示在屏幕上,但如果将屏幕拉至过宽或者过高就会分别在两侧或者上下出现黑边。
总结:这个Expand模式,目的就是会把参考分辨率扩大,使得完全展示出所有UI,缺点是:在一些过宽或过高的情况下会无法填充满。
*************************************************************************
第二种:Shrink收缩匹配

和扩展模式相反,会出现裁剪。
举例:


可以发现出现了裁剪。
总结:Shrink就尽可能的让整个图片铺满,但可能出现裁剪
**********************************************************
第三种:宽高匹配(Match Width or Height)

计算公式:

举例:

对于只有横竖屏的游戏,选择这种模式就有优势,可以调整参数。

对于竖屏游戏,只要保持宽度不变即Match=0,那么无论如何改变高度,都不会改变Scale,这样就不会改变UI的大小(Transform的Scale不变那么UI大小就不变),只是在极端情况下,比如屏幕过短或者屏幕过高的情况下会出现被裁剪或出现黑边的情况。
对于横屏游戏,只要保持高度不变即Match=1,那么无论如何改变宽度,都不会改变Scale,这样就不会改变UI的大小(Transform的Scale不变那么UI大小就不变),只是在极端情况下,比如屏幕过短或者屏幕过长的情况下会出现被裁剪或出现黑边的情况。
***************************************************************************
总结:

CanvasScaler的三种适配模式——缩放模式(Scale with Screen Size)的更多相关文章
- Tomcat Connector的三种不同的运行模式
Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...
- LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。
一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...
- Unity3d UGUI 界面适配 实例解析 三种适配方式
之前做游戏都是用公司自己的引擎,对于界面的适配分Android和IOS两种系统处理. 对于IOS设备,由于数量有限,只要做到 960x640 1024x769 1136x640 (当时还没有ipho ...
- C2C,B2C,F2C三种电商运营模式的比较
第三方模式(C2C) 销售商模式(B2C) 生产商模式(F2C) 概念及简介 第三方平台提供商模式是电子商务的最原始也是最自然的形式.这种模式一般都是由信息技术开发商负责建立平台,利用平台扩展电子 ...
- Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...
- Oracle Dataguard三种保护模式概述(转)
Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.max protection这三种模式. 以下是来自Oracle文档的摘要信 ...
- LVS负载均衡的三种模式和八种算法总结
三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...
- asp.net 的三种开发模式
一, Web Pages 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种. 其他两种编程模式是 Web Forms 和 MVC(Model View Controller 模型 ...
- 实战VMware的三种网络模式
来源于:http://www.aneasystone.com/archives/2015/04/three-network-modes-of-vmware-in-action.html 一.实验目的 ...
- 在家赚钱,威客网站的使用方法 CSDN项目频道、SXSOFT、任务中国、猪八戒四个网站的线上交易 三种交易模式(1)悬赏模式(2)招标模式(3)直接交易模式
在家赚钱,威客网站的使用方法 很显然,<让猪八戒飞一会儿>作者对威客这一行业不熟悉,<让猪八戒飞一会儿>文章中错误有一些,不一一指出.我在CSDN项目频道.SXSOFT.任务中 ...
随机推荐
- 哈希表相关题目-python
栈&队列&哈希表&堆-python https://blog.csdn.net/qq_19446965/article/details/102982047 1.O(1)时间插 ...
- vue把后端传的数字 转成中文显示在页面
- 无法加载文件 D:\lunwen\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本。visual code页面vue ui启动失败
报如下错误 解决方法: 1.以管理员身份运行 Windows PowerShell(管理员)点击win键 搜索powershell 点击以管理员身份运行 如下图所示 2.输入 set-Executio ...
- 异步按照同步顺序执行的function
function step1 (callback) { console.log(111111) callback.call() } function step2 (callback ...
- MongoDB和sql语句的对照
左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...
- LVS+keepalived实现负载均衡&高可用(原来以及部署方法)
一.ARP技术概念介绍 为什么讲ARP技术,因为平常工作中有接触.还有就是LVS的dr模式是用到arp的技术和数据. 1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolutio ...
- docker容器监控系统
Cadvisor+InfluxDB+Grafana Cadvisor Cadvisor是检测单节点资源信息的工具,提供了一个http接口的查询界面,可以和其他工具整合使用,Cadvisor既可以采集宿 ...
- mac常用命令和Git创建tag命令
一.mac命令 p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; font: 12px "H ...
- OutLook从excel导入联系人
1.将已有的excel打开-->另存为-->csv格式 2.用记事本打开 .CSV 文件,选择"文件"-"另存为",修改为 ANSI编码后,然后导 ...
- ESP8266开发(物联网)
使用开发板制作wifi干扰器https://www.jianshu.com/p/f064ca36ee92