一、制作UI自适应

当前分辨率

更改分辨率

一、原因

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

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

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

二、解决方法

1、锚点

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

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

2、设置画布的UI自适应

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

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

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

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

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

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

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

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

3、注意事项

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

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

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

1、锚点

2、固定宽/高

3、屏幕分辨率

相关推荐
解决小子7 小时前
【游戏作品设计解析】类魂游戏设计解析
游戏·业界资讯·游戏策划·游戏设计
可爱系程序猿9 小时前
Unity 材质预览才弹 d3dcompiler_47.dll?先分清编辑器 SDK、着色器缓存和玩家包
程序人生·3d·unity·电脑·材质
xcLeigh10 小时前
Unity基础:使用Transform控制物体缩放——localScale与lossyScale的区别
unity·游戏引擎·教程
郝学胜-神的一滴13 小时前
游戏引擎原理与实践 01:聊聊游戏引擎的前世今生
开发语言·c++·游戏引擎·产品运营·软件工程·产品经理·untiy
淡海水15 小时前
00-Unity和C#的GC剖析与对比-全篇导览
unity·c#·游戏引擎·gc
k4m7v2pz16 小时前
用中文编程语言写游戏:玄铁语言生命游戏的 macOS 适配实录
游戏·macos·玄铁·生命游戏·中文编程语言·玄铁中文编程
字节暗面1 天前
Unity AssetBundle 热更新资源保护排查笔记
unity·游戏加固·资源加密
魔士于安7 天前
unity 丑陋哥布林 哥布林有humannoid 动画没 带动画
unity·游戏引擎·材质·贴图·模型
JQweryuiop7 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
小贺儿开发7 天前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信