一、制作UI自适应

当前分辨率

更改分辨率

一、原因

一款游戏的UI,可能会根据玩家的分辨率和屏幕尺寸,产生不同的变化

例如:某一个Image位移到了摄像机外面

因此需要通过锚点和屏幕自适应来制作完美的效果

二、解决方法

1、锚点

作用是:根据当前的分辨率找到一个对应的点位置,例如:锚点为左上角,那么分辨率更改后锚点会找到当前分辨率的左上角。

不足:如果只根据点的位置判读,那么会出现某一个点移除了摄像机的渲染范围;另一种情况是:高分辨率,但UI会变大或者变小。

2、设置画布的UI自适应

原理是通过unity的设置,写入一个XY的分辨率大小。然后根据这个分辨率自动调整

缺点:如果宽高与改变后的宽高不相同,那么就好用;

如果宽高中的一个值相同,另一个不相同,那么就会出现问题

解决方法是:设置里面的Match模式,改变宽高的权重

那么,就会以二者中的一个作为标准更改

根据自己项目类型,选择哪一种标准

最优方法:锚点和宽高一起使用。

注:锚点在设置时,父级物体必须为全屏覆盖

3、注意事项

这个项目的UI是固定在左右两边的,因此要把高度固定住。

如果只设置了锚点,固定了宽度,在固定分辨率下可以自适应,但:自由分辨率没办法自适应。

因此UI自适应要考虑三点:

1、锚点

2、固定宽/高

3、屏幕分辨率

相关推荐
地狱为王2 小时前
在Unity中实现DTLN-AEC处理音频文件的功能
unity·aec·降噪
颯沓如流星2 小时前
SLG游戏中沙盘元素(通常指资源点、野怪、宝箱等可交互对象)的刷新设计
游戏
m0_552200824 小时前
《UE5_C++多人TPS完整教程》学习笔记49 ——《P50 应用瞄准偏移(Applying Aim Offset)》
c++·游戏·ue5
m0_552200824 小时前
《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
c++·游戏·ue5
SmalBox7 小时前
【URP】Shader绘制棋盘格对比内置管线
unity·渲染
红红大虾8 小时前
前台小姐姐10分钟就能掌握的Defold游戏引擎需要的lua入门知识
游戏
wanhengidc9 小时前
使用云手机能否给企业降本增效
运维·网络·科技·游戏·智能手机
ue星空1 天前
月2期学习笔记
学习·游戏·ue5
wanhengidc1 天前
云手机运行流畅,秒开不卡顿
运维·网络·科技·游戏·智能手机
songx_991 天前
leetcode9(跳跃游戏)
数据结构·算法·游戏