【学习记录】unity的Canvas Scaler组件上UI Scale Mode学习,重点是第二种Scale with Screen Size的设置
UI Scale Mode共有3种模式,分别是Constant Pixel Size,Scale with Screen Size,Constant Phsical Size。
一、Constant Pixel Size:恒定像素大小
顾名思义,不管屏幕分辨率怎么变,UI元素的像素尺寸保持不变,物理尺寸(厘米,英寸)会变,不同分辨率下可能会造成界面较大的差别。

二、Constant Phsical Size:恒定物理大小
与恒定像素相反,UI元素的物理尺寸(厘米,英寸)保持不变,无论屏幕DPI如何。(DPI:每英寸点数),Unity会根据屏幕的DPI自动计算缩放系数。一般用于需要精确物理尺寸的应用
Physical Unit:物理单位,默认为英寸,也可选毫米、厘米等
Fallback Screen DPI:当无法检测到屏幕DPI时的默认值
Default Sprite DPI:用于Sprite资源的默认DPI
三、Scale with Screen Size:根据屏幕大小适配
Reference Resolution:参考分辨率,即以哪个分辨率为基准
Screen Match Mode:匹配模式,有Match Width Or Height(匹配宽或者高),Expand(扩展),shrink(缩小)三种模式。
注明:下面的例子中蓝色背景图是锚点居中,背景上方的白色UI是居上,右下角绿色UI居右下
1.Match Width Or Height:意思是以屏幕的宽或高匹配UI的大小
当滑动条=0,即完全在屏幕的宽度方向匹配UI的大小,不管高了。会造成高度方向上扩展进而被空白填充或者被屏幕裁切掉。(可以看下面例子里的Scene视图更直观,UI宽度始终适配屏幕宽度)

当滑动条=1,即完全在屏幕的高度方向匹配UI的大小,不管宽了。会造成宽度方向扩展进而被空白填充或者被屏幕裁切掉。

当滑动条位于0-1中间,则对应上述两种极端情况的中间,一般可以设置0.5,只要不是设置0或1,宽和高就都有被裁掉的风险

2.Expand:扩展
在效果上相当于Match Width Or Height状态下,滑动条既是0又是1,很妙。宽度和高度不会被裁剪,只会被扩展进而用空白填充。
3.shrink:缩小
跟expand完全相反,只会裁切,不会被扩展填充。

更多推荐
所有评论(0)