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

相关推荐
地狱为王7 分钟前
Unity使用DPDFNet实现实时语音增强(降噪)
unity·语音增强·降噪·dpdfnet
平行云PVT1 小时前
国产信创实时云渲染解决方案:如何实现数字孪生与三维应用云化部署?
unity·webrtc·unreal engine·实时云渲染·国产信创·摩尔线程·砺算科技
夏炎黄2 小时前
Terrain地形剪裁
unity
小贺儿开发4 小时前
DeepSeek + Codex + MCP:Unity 游戏开发实测
科技·游戏·unity·ai·程序员·编程·deepseek
新的瑞拉公主4 小时前
Cocos plist 粒子一键导入 Unity:Editor 工具实现与参数映射
unity·游戏开发·cocos2d-x·粒子系统·editor工具
淡海水4 小时前
03-02-架构篇-Boehm GC架构解析
unity·架构·c#·gc·boehm
xcLeigh1 天前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate
流浪打工人2 天前
Unity3d TimeLine中audio track的使用
unity
淡海水2 天前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
WarPigs2 天前
UI路径配置SO>字典json工作流
ui·unity