关于Canvas Scaler的使用

很多人都知道,Unity在移动设备上的自适应依靠的是组件本身的Anchors和Canvas上的CanvasScaler

但是很多人却不知道应该怎么正确的去设置CanvasScaler的各项属性,这里我简单的说一下,希望大家谨记!

默认的设置:

CanvasScaler的正确用法 - 风冻冰痕 - 1

然后在移动设备上应该选择Scale With Screen Size:

CanvasScaler的正确用法 - 风冻冰痕 - 2

重点说一下Reference Resolution和Match的设置:

Reference Resolution的尺寸由你拼UI时的尺寸决定,跟实际移动设备上的尺寸没有关系,引用我在群上一个很经典的栗子:

你在瘦身前首先得告诉医生你是胳膊粗还是腿粗 然后医生才能决定帮你瘦胳膊还是瘦腿。。。

然后Screen Match Mode设置为Match Width Or Height,

所以说,这里的尺寸只是为了告诉Unity你原始的UI尺寸,也就是你拼UI时的尺寸,然后Unity根据实际在移动设备上的尺寸来决定是帮你拉大还是缩小

而Math的设置呢,你只要记住横版游戏以高度缩放,竖版游戏按宽度缩放,所以得出以下结论:

假如我拼UI时的尺寸为960*640的横版游戏,那么我的设置就是:

CanvasScaler的正确用法 - 风冻冰痕 - 3

有童鞋提到过Screen Match Mode可以使用Expand,但是经过测试发现,貌似在某些移动设备上会出现InputField响应区域偏离的Bug,

原因不明,所以建议使用Match Width Or Height。

### 回答1: Unity中的Canvas Scaler是用于调整UI元素在不同分辨率下的大小。它可以自动缩放UI元素以适应屏幕大小,以确保UI在不同分辨率下的显示效果一致。 Canvas Scaler有三种模式:Constant Pixel Size、Scale With Screen Size 和 Constant Physical Size。 - Constant Pixel Size模式下,UI元素的大小不会随着屏幕大小的变化而变化,因此在不同分辨率下可能会出现拉伸或挤压的情况。 - Scale With Screen Size模式下,UI元素的大小会根据屏幕大小进行缩放,以保持相对位置和比例不变。 - Constant Physical Size模式下,UI元素的大小会根据物理尺寸进行缩放,例如在移动设备上,UI元素在不同分辨率下的大小相同,但在不同的物理尺寸设备上可能会有所不同。 在使用Canvas Scaler时,需要注意设置参考分辨率和参考像素密度,以确保UI元素在不同分辨率下的显示效果一致。 ### 回答2: Unity中的Canvas Scaler是一个组件,用于调整Canvas的大小和分辨率,以适应不同的屏幕分辨率和设备比例。 Canvas Scaler有三种模式:Constant Pixel Size(固定像素大小)、Scale With Screen Size(与屏幕大小缩放)和 Constant Physical Size(固定物理大小)。 在Constant Pixel Size模式下,Canvas的大小会保持不变,不管屏幕的分辨率如何,都会使用相同的像素单位。这意味着在不同分辨率的设备上,Canvas看起来的大小可能会不一样,但UI元素的像素数量不会改变。 在Scale With Screen Size模式下,Canvas会根据屏幕的大小进行缩放。可以设置一个参考分辨率,并设置屏幕的分辨率和比例。Canvas元素的大小和位置会相对于参考分辨率进行缩放和调整,以便在不同分辨率的设备上看起来一致。 在Constant Physical Size模式下,Canvas的大小会根据物理单位进行调整,例如英寸或厘米。Canvas会根据屏幕的物理尺寸以及设备的像素密度来调整大小,以确保UI元素在不同设备上以相似的物理尺寸呈现。 通过使用Canvas Scaler,可以轻松地创建适应不同屏幕和设备的UI。根据实际需求选择不同的模式,并设置相应的参数,以确保UI在各种分辨率和设备上都能有良好的表现效果。 ### 回答3: UnityCanvas Scaler是一个非常方便的工具,可以帮助我们在不同的屏幕分辨率下保持UI的一致性和适应性。 首先,Canvas Scaler可以根据屏幕分辨率调整UI元素的大小和位置,以便在不同设备上都能够正确显示。它提供了几种不同的屏幕匹配模式,例如 Constant Physical Size(物理尺寸固定)、Scale With Screen Size(跟随屏幕尺寸缩放)和 Constant Pixel Size(像素尺寸固定),我们可以根据需求选择适合的模式。 其次,Canvas Scaler还可以帮助我们自动调整UI元素的分辨率适应性。在游戏中,不同的屏幕分辨率可能会导致UI元素变形或者显示不全,使用Canvas Scaler可以根据实际情况自动调整,以便在不同的设备上都能够正确呈现。 此外,Canvas Scaler还提供了一些其他的参数和选项,例如Reference Resolution(参考分辨率),这是我们设计UI时所使用的分辨率;Match Width Or Height(宽度或高度匹配),这可以根据屏幕的宽高比例自动调整UI元素;和 Screen Match Mode(屏幕匹配模式),这可以选择是以宽度为基准还是以高度为基准进行UI的缩放。 总之,Canvas Scaler是Unity中一个非常有用的工具,可以帮助我们保持UI的一致性和适应性,使得我们的游戏在不同设备上都能够正确呈现,提升用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值