Unity UGUI 之 Canvas Scaler

1.什么是Canvas Scaler

Canvas Scaler是一个附加到Canvas上的组件,它能够根据不同的屏幕分辨率和设备来自动调整UI元素的大小和缩放比例,以确保UI在不同设备上的一致性和适应性


2.三种缩放模式

  1. Constant Pixel Size(固定像素大小):在这种模式下,UI元素的尺寸将始终以像素为单位进行缩放,不受屏幕分辨率影响。这意味着UI元素在不同分辨率下的大小将保持不变,但在不同设备上可能会有不同的显示效果。

  2. Scale With Screen Size(根据屏幕尺寸缩放):这种模式下,UI元素将根据屏幕的宽高比例进行缩放。可以通过设置Reference Resolution(参考分辨率)来定义一个基准分辨率,然后根据当前屏幕的实际分辨率与基准分辨率的比例来缩放UI元素。

  3. Constant Physical Size(固定物理大小):这种模式下,UI元素的物理尺寸将保持不变,不受屏幕分辨率的影响。可以通过设置Reference Pixels Per Unit(参考像素单位)来定义一个基准像素密度,然后根据当前屏幕的实际像素密度与基准像素密度的比例来缩放UI元素。

重点理解Scale With Screen Size,最常用的模式。

Reference Resolution:参考分辨率就是一个类似于基准参数,你实际出品的游戏的UI会按照一定公式缩放,而参考分辨率就是一个重要参数。

Screnn Match Mode:屏幕匹配模式,主要有三种:

  • ‌**匹配宽高(Match Width or Height)**‌:混合值(如0.5)会同时调整宽高,避免黑边但可能轻微变形。以宽度或高度为基准缩放,保持UI比例不变。

  • ‌**展开(Expand)**‌:强制拉伸或压缩UI以填满整个屏幕,这个模式会确保UI都显示在屏幕上,但可能导致变形(如16:9的UI在4:3屏幕上横向压缩),也可能有黑边。

  • **伸缩(Shrink)**‌:保持UI比例不变,会根据宽高比的变化来放大缩小画布,可能有部分UI被裁剪,也可能会有黑边。

匹配宽高(Match Width or Height)的模式下,Match值为0,则以参考分辨率的宽度作为固定宽度,Match值为1,则以参考分辨率的高度作为固定高度。

参考博客:https://blog.csdn.net/2301_77947509/article/details/140521509

相关推荐
在路上看风景5 小时前
2.Square Grid
unity
程序猿阿伟5 小时前
《突破Unity热更新瓶颈:底层函数调用限制与生态适配秘籍》
unity·游戏引擎
龙智DevSecOps解决方案8 小时前
Perforce《2025游戏技术现状报告》Part 3:不同行业挑战以及Unreal、Godot、自研游戏引擎的应用趋势
游戏引擎·godot·游戏开发·perforce
在路上看风景8 小时前
13. UGUI合批
unity
jtymyxmz20 小时前
《Unity Shader》12.2调整屏幕的亮度、饱和度和对比度
unity·游戏引擎
AllBlue1 天前
unity嵌入安卓界面,如何显示状态
android·unity·游戏引擎
tealcwu1 天前
【Unity技巧】实现在Play时自动保存当前场景
java·unity·游戏引擎
tealcwu1 天前
【Unity基础】实现Scroll View跟随动态内容滚动
java·unity·游戏引擎
野奔在山外的猫1 天前
【文档】VSCode 配置 Unity 环境流程
unity