Unity 实现UI自适应

在做UI功能的时候都要注意对屏幕的自适应 应为不同的手机设备都拥有不同的分辨率

所以自适应的分辨率是必不可少的

先看看Unity 自带的自适应功能

1.是Canvas

2.Canvas自带的Canvas Scaler组件

3.选择具体如图所示

4.是宽和高已上门分辨率为基础

5.下面的Match是已上门为基础 (建议  如果是横屏已高为主  竖屏相反   方形建议在中间看个人需求)

但是在这样设置完后会发现很多的UI的子集部分或者很多UI还是原本大小这样就需要用代码来自适应

代码如下

也可以封装方法来使用

    private void Awake()
    {
        float p1 = (float)Screen.width / 1028f;
        float p2 = (float)Screen.height / 600f;
        float p = p1 < p2 ? p1 : p2;
        transform.localScale = Vector3.one * p;
    }

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,为了实现UI自适应分辨率,我们可以使用Canvas Scaler组件来进行设置。Canvas Scaler提供了几种不同的渲染模式,其中包括Constant Pixel Size、Scale With Screen Size和Constant Physical Size。其中,Scale With Screen Size是最常用的一种模式。 在Scale With Screen Size模式下,我们可以使用Match Width Or Height属性来控制UI的缩放。当Match属性设置为0时,屏幕的宽度对UI的大小没有影响,只有高度会对UI的大小产生影响。假设UI的宽度是Reference Resolution宽度的x倍,则UI整体缩放为Reference Resolution设置参数的x倍。同样地,当Match属性设置为1时,高度对UI的大小没有影响,只有宽度会对UI的大小产生影响。当Match属性设置为0.5时,宽度和高度对UI的大小都会产生影响,但是宽度的影响会比高度更大。一般来说,我们会将Match属性设置为0.5,以实现较好的自适应效果。 另外,还有一种渲染模式是Constant Pixel Size,它会保持UI的像素大小不变。这种模式适用于需要在不同分辨率下保持UI的像素一致的情况,比如在电脑和手机上显示相同大小的UI。 综上所述,Unity中的UI自适应分辨率可以通过Canvas Scaler的设置来实现,其中Scale With Screen Size模式是最常用的一种。 #### 引用[.reference_title] - *1* *2* *3* [Unity基础篇:使UI跟随屏幕分辨率变化自适应。](https://blog.csdn.net/qq_15020543/article/details/82595179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值