当前分辨率
更改分辨率
一、原因
一款游戏的UI,可能会根据玩家的分辨率和屏幕尺寸,产生不同的变化
例如:某一个Image位移到了摄像机外面
因此需要通过锚点和屏幕自适应来制作完美的效果
二、解决方法
1、锚点
作用是:根据当前的分辨率找到一个对应的点位置,例如:锚点为左上角,那么分辨率更改后锚点会找到当前分辨率的左上角。
不足:如果只根据点的位置判读,那么会出现某一个点移除了摄像机的渲染范围;另一种情况是:高分辨率,但UI会变大或者变小。
2、设置画布的UI自适应
原理是通过unity的设置,写入一个XY的分辨率大小。然后根据这个分辨率自动调整
缺点:如果宽高与改变后的宽高不相同,那么就好用;
如果宽高中的一个值相同,另一个不相同,那么就会出现问题
解决方法是:设置里面的Match模式,改变宽高的权重
那么,就会以二者中的一个作为标准更改
根据自己项目类型,选择哪一种标准
最优方法:锚点和宽高一起使用。
注:锚点在设置时,父级物体必须为全屏覆盖
3、注意事项
这个项目的UI是固定在左右两边的,因此要把高度固定住。
如果只设置了锚点,固定了宽度,在固定分辨率下可以自适应,但:自由分辨率没办法自适应。
因此UI自适应要考虑三点:
1、锚点
2、固定宽/高
3、屏幕分辨率