当前位置:网站首页>unity3d画布/UI自适应屏幕的方式
unity3d画布/UI自适应屏幕的方式
2022-08-09 15:00:00 【qq_21315789】
unity3d自带的功能能在不用写代码的情况下使ui适配不同的分辨率。
画布的Canvas Scaler选项中的UI Scale Mode有3个选项:恒定像素、随屏幕尺寸缩放、恒定物理大小。这里我推荐用第二项随屏幕尺寸缩放。这样在大小不同的分辨率中ui可以自动变大变小。

选择第二项之后需要填入我们使用的标准分辨率。填我们制作时主要考虑的分辨率即可。之后制作时也是先在这个分辨率下制作和观察效果,之后再切换其它分辨率看有没有问题。
下面的Screen Match Mode选项有三个选项:匹配宽和高、扩展、收缩。分别解释:

匹配宽和高:会根据权重随宽高进行调整。 下方会出现一个滑竿用于调整权重。一般直接取中间即可。

扩展:当屏幕比例不是标准比例时,扩展画布长宽之一以达到比例。能使ui完整显示出来。但也可能在屏幕边缘出现无内容的区域。我感觉比起上一项,这个选项更利于保持ui间的位置不变。

收缩:当屏幕比例不是标准比例时,收缩长宽之一以达到比例。有可能使ui部分处在屏幕外。

这里再补充一个游戏中新建ui缩放异常坑的说明:在游戏中根据预制体新建ui时,给新建物体设置父物体要使用
.SetParent(物体transform,false)
而不能直接用.SetParent(物体transform.transform)。
因为设置画布自适应屏幕后,在其它分辨率下画布的scale会变化(变小/变大),如果直接用.SetParent(物体transform),新建ui的scale也会发生相应变化(变大/变小)。从而让该ui图片显得很大/很小。
也可以重新设置scale为1来避免缩放异常:.transform.localScale = Vector3.one;
边栏推荐
猜你喜欢

ASCII码表

将类指针强制转换为void*指针进行传参的使用方法

CRM定制开发需要多少钱 CRM系统定制开发价格

堆(heap)系列_0x08:NT堆调试支持_立刻发现调试支持(DPH)

Face recognition sample code analysis (1) - program parameter analysis

Vim实用技巧_3.可视模式和命令模式

蒙特卡罗 Monte Carlo 模拟

Monte Carlo simulation
![[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)](/img/ca/6c8939fd752cc8928c2ffce0b090ed.png)
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)

【Postgraduate Work Weekly】(The third week)
随机推荐
DOS命令
The practical skills Vim _5. Move quickly between files and documents
杭州富阳科目三新规3号线考试攻略
堆(heap)系列_0x04:堆的内部结构(_HEAP=_HEAP_SEGMENT+_HEAP_ENTRY)
【翻译】制作DEB/debian包
聚集索引和非聚集索引
Vim实用技巧_8.替换(substitute)和global命令
GO 使用 Protobuf实用指南
堆(heap)系列_0x08:NT堆调试支持_立刻发现调试支持(DPH)
图像质量指标:峰值信噪比PSNR和结构相似性SSIM
杭州富阳科目三考试
AlexNet pytorch实现
Vim实用技巧_0.vim - introduction
Vim实用技巧_2.普通模式和插入模式
堆(heap)系列_0x09:堆破坏示例(非法访问+未初始化+堆句柄不匹配)
软件安全内存区域详解
机器学习的基本术语
蓝桥杯嵌入式备赛
#define DEBUG(format, ...) 以及 #、##、__VA_ARGS__和##__VA_ARGS__的作用
Time series analysis