一、制作UI自适应

当前分辨率

更改分辨率

一、原因

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

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

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

二、解决方法

1、锚点

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

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

2、设置画布的UI自适应

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

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

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

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

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

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

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

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

3、注意事项

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

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

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

1、锚点

2、固定宽/高

3、屏幕分辨率

相关推荐
一步一个foot-print16 小时前
【Unity】Light Probe 替代点光源给环境动态物体加光照
unity·游戏引擎
@LYZY18 小时前
Unity 中隐藏文件规则
unity·游戏引擎·游戏程序·vr
霜绛20 小时前
C#知识补充(二)——命名空间、泛型、委托和事件
开发语言·学习·unity·c#
上海云盾安全满满20 小时前
APP应用怎么选择游戏盾
网络·游戏
棉猴20 小时前
《pygame中Sprite类实现多帧动画》注-通过多张序列帧显示动画2-2
开发语言·python·游戏·游戏程序·pygame
Sator11 天前
使用Unity ASE插件设置数值不会生效的问题
unity·游戏引擎
AA陈超1 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-08 点击移动
c++·游戏·ue5·游戏引擎·虚幻
csd7981 天前
从原理到实操:ddraw.dll是什么?为何游戏启动时频繁提示“找不到ddraw.dll”?解决思路全解析
游戏·dll修复工具·dll修复·dll丢失·dll缺失
程序猿追1 天前
轻量级云原生体验:在OpenEuler 25.09上快速部署单节点K3s
人工智能·科技·机器学习·unity·游戏引擎
B0URNE1 天前
【Unity基础详解】(7)Unity核心:动画系统
unity·游戏引擎