unity UGUI自适应问题

初入程序深似海呀!在做项目UI时必须经历的一个问题就是UI自适应问题,啥也不懂的时候,难以避免的就是稍微一调整屏幕分辨率,UI就变了,就变了!!!这就很难受。

那么下面来稍微了解一下UI自适应。
官方文档:https://docs.unity3d.com/Manual/script-CanvasScaler.html
在这里插入图片描述

UI Scale Mode:确定如何缩放画布中的UI元素。

  • Constant Pixel Size:使UI元素保持相同的像素大小,而不管屏幕大小。
    + Scale Factor:通过这个因素缩放画布中的所有UI元素。
  • Scale With Screen Size:屏幕越大,UI元素越大。
    + Reference Resolution:UI布局设计的分辨率。如果屏幕分辨率较大,UI将按比例放大;如果屏幕分辨率较小,UI将按比例缩小。
    + Screen Match Mode:长宽比,用于缩放画布区域的模式,当前分辨率与参考分辨率不匹配。
    + Match:确定缩放是使用宽度或高度作为参考,还是两者之间的混合。
  • Constant Physical Size:使UI元素保持相同的物理大小,而不管屏幕大小和分辨率。
    + Physical Unit:指定位置和大小的物理单位。
    + Fallback Screen DPI:假定屏幕上的DPI是未知的。
    + Default Sprite DPI:像素每英寸使用的精灵有一个“像素每单位”设置匹配“参考像素每单位”设置。
    Reference Pixels Per Unit:根据上述不同选项而变化。

在这里插入图片描述
当我们直接在Scene中创建一个Canvas而不做设置就开始UI制作,只有将大部分的UI的自适应设置成绝对定位,才可能避免改变分辨率UI产生不可描述的离奇变化!
在这里插入图片描述
如果将 UI Scale Mode 的属性更改为 Scale With Screen Size,那么效果就不一样了。

官方解释使用具有屏幕大小模式的缩放,可以根据指定参考分辨率的像素指定位置和大小。如果当前屏幕分辨率大于参考分辨率,画布将保持只有参考分辨率的分辨率,但将按比例放大以适应屏幕。如果当前屏幕分辨率小于参考分辨率,画布也会相应地缩小以适应需要。

也就是说做了这个一个小改动,那么你就不用那么苦逼的调整大部分UI的绝对定位了。

UI 的道路还是很长的,后面有问题了再做修改!

言至于此,大佬们不喜勿喷哈!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值