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

相关推荐
心疼你的一切4 小时前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask
呆呆敲代码的小Y6 小时前
【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果
游戏·unity·游戏引擎·u3d·免费游戏·翻书插件
AC梦19 小时前
unity中如何将UI上的字高清显示
ui·unity
小贺儿开发1 天前
Unity3D 智慧城市管理平台
数据库·人工智能·unity·智慧城市·数据可视化
June bug2 天前
【领域知识】休闲游戏一次发版全流程:Google Play + Apple App Store
unity
星夜泊客2 天前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
dzj20212 天前
PointerEnter、PointerExit、PointerDown、PointerUp——鼠标点击物体,则开始旋转,鼠标离开或者松开物体,则停止旋转
unity·pointerdown·pointerup
心前阳光2 天前
Unity 模拟父子关系
android·unity·游戏引擎
在路上看风景2 天前
26. Mipmap
unity
咸鱼永不翻身2 天前
Unity视频资源压缩详解
unity·游戏引擎·音视频