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.任务中 ...
随机推荐
- fabric学习笔记3
fabric学习笔记3 20201303张奕博 2023.1.11 Hyperledger Fabric架构设计 分布式帐本 区块链核心概念是分布式帐本,就像下面的图1所示,同样的帐本(全量的交易数据 ...
- linux发展史及软件配置
linux岗位需求 # 1.岗位需求 自动化运维,容器运维,DBA,IDC运维(不建议) ps:linux岗位会的越多给的越多 linux工作本质 linux简要发展史 # 1.发展 1991年,芬兰 ...
- maven本地安装jar包
mvn install:install-file -Dfile=cs-pay-client-2.0.0.jar -DgroupId=com.test.pay -DartifactId=gh-epay- ...
- SSM框架 拦截器 出现“发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{"http://www.springframework.org/schema/mvc":mapping}' 之一开头”错误
导致错误位置与代码: spring-mvc.xml文件中的拦截器配置代码,代码如下: <mvc:interceptors> <mvc:interceptor> <mvc: ...
- Coursera Programming Languages, Part C 华盛顿大学 Week 1
来进入这一系列课程的最后一 Part 啦! \(P1\) 我们介绍了 \(ML\),一种 static typing 的 functional language \(P2\) 我们介绍了 \(Rack ...
- Kubernetes--创建Ingress资源
创建Ingress资源 Ingress资源是基于HTTP虚拟主机或URL的转发规则,它在资源配置清单的spec字段中嵌套了rules.backend和tls等字段进行定义.下面的示例中定义了一个Ing ...
- 五一训练包E-5
题目链接:https://vjudge.net/contest/436484#problem/E 题目的大致意思就是给俩数,分别是小数组的大小N和数目K,给的数组是递增的,方便后续的判断,将大数组分成 ...
- curl下载远程图片到服务器
<?php //curl下载远程图片到服务器 方法 function download($url, $path = 'images/'){ $ch = curl_init(); $names = ...
- pycharm的安装与使用
官网下载最新版本,然后用激活码,激活,注意是专业版. 方法找到后更新在这里. 进入软件之后创建新的文件夹,可以自定义,建议自定义在系统盘以外, 1.新建文件略过 2.ctrl + 鼠标中键, 调节字体 ...
- vue导出文件
/**导出 */ async toExcel() { // let result = await this.axios({ // method: 'get', // url: `issdc-manag ...