Unity学习笔记——认识UI

Unity学习笔记——认识UI

内置UI组件

Unity中的主要的UI体系是基于UGUI(Unity UI)体系、基于画布的,而在UE5中主要的UI体系是UMG(Unreal Motion Graphic UI Designer),底层基于slate框架。

功能/概念 Unity (UGUI) UE5 (UMG) 区别与作用对比
画布 / 根容器 Canvas Widget Blueprint (UI 控件蓝图) Unity: UI 的绘制根节点,决定 UI 是屏幕空间渲染还是世界空间渲染。
UE5: 在 UI 控件蓝图中,通常以 Canvas Panel 作为顶层根容器,用于确定控件的位置和层级。
事件接收器 Event System Player Controller / Input Mode Unity: 处理点击、拖拽等输入的独立组件机制。
UE5: 通过玩家控制器(Player Controller)设置 UI Input Mode(如 Set Input Mode UI Only)来管理交互。

下述基础UI元素组件:

UI 元素对象 主要作用与核心功能 常用组件/属性 典型应用场景
Text / TextMeshPro (TMP) 显示文本信息。TMP 为官方推荐的高清矢量文本组件,支持富文本。 Text, Font, Font Size, Alignment 游戏名、对话框、提示文字、数值显示
Image 渲染 2D 图像(Sprite),支持普通、切片(九宫格)、填充等模式。 Source Image, Image Type (Sliced/Filled) 背景图、技能图标、血条/冷却进度条
Raw Image 直接渲染非 Sprite 的原始纹理(Texture)。 Texture, UV Rect 渲染纹理(小地图)、小视频、3D 角色预览
Button 接收玩家点击操作,可配置不同状态(普通、高亮、按下、禁用)的颜色或图片。 Transition, OnClick() 主菜单按钮、确定/取消、技能释放按键
Input Field / TMP_InputField 允许玩家点击并输入单行或多行文本。 Text Component, Character Limit, Content Type 登录框、玩家命名、聊天输入框
Toggle 具有勾选/未勾选两种状态的单选或开关控件。 Is On, Toggle Transition, Group 开启/关闭音效、开关抗锯齿
Toggle Group 管理一组 Toggle,实现同一时间内只能选中一项的“单选框”逻辑。 Allow Switch Off 选项卡(Tab)切换、性别选择
Slider 可拖动改变数值的滑动条,包含背景、填充区和拖动块(Handle)。 Min Value, Max Value, Value, OnValueChanged() 音量调节、画质等级调节、亮度设定
Scrollbar 滚动条,用于控制列表或区域的平移(可与 Scroll Rect 组合使用)。 Value, Size, Direction 滚动列表右侧的拖动条
Scroll Rect (Scroll View) 滚动区域容器,配合 Mask 可以限制并滚动超出显示范围的子对象。 Content, Movement Type, Viewport 背包物品列表、成就列表、长文本公告
Dropdown / TMP_Dropdown 下拉选择菜单,点击后展开可供选择的列表项。 Options, Value, Caption Text 分辨率选择、语言选择、画质预设
Panel 基础容器板,本质是一个带有半透明默认背景图的 Image,用于分组管理 UI。 Image 弹窗背景、主界面布局面板
Mask / RectMask2D 遮罩组件,用于裁剪超出自身 RectTransform 范围的子 UI 内容。 Show Mask Graphic 隐藏滚动框外内容、圆形头像裁剪

画布canvas

创建UI对象时,会自动创建canvas画布,所有的UI对象需要放在画布里,Unity会自动进行布局计算,用2d模式观察UI。

属性参数:

  • Rect transform:替代其他game object的transform组件。

  • Pivot:transform的中心点,是此UI缩放旋转的中心,可以自己设置,可以在UI外,不一定是UI图形的中心点,比如血条UI以最左侧为pivot。它的xy值是相对UI长和宽的比例,左下角为(0,0)右上角为(1,1)。

  • Anchor:锚点,辅助UI布局,固定UI到锚点上下左右边的距离,其他部分按比例拉伸。


Canvas——Render mode,渲染模式

渲染模式 (Render Mode) 核心渲染原理 是否依赖 Camera 与场景 3D 物体的遮挡关系 尺寸与位置决定因素 典型应用场景
Screen Space - Overlay
(屏幕空间 - 覆盖模式)
UI 直接渲染在整个屏幕的最上层,像贴在屏幕玻璃上一样,永远覆盖其他画面,Pos_Z不会影响渲染顺序。 否
(即使没有渲染相机也能显示)
无法遮挡
(UI 永远挡在所有 3D 模型和粒子特效前面)
自动拉伸适应当前屏幕分辨率(铺满屏幕) • 游戏主界面 (HUD)
• 左上角头像/血条
• 设置菜单 / 暂停弹窗
• 固定按键与得分显示
Screen Space - Camera
(屏幕空间 - 摄像机模式)
UI 被放置在指定相机(需要选定相机)前方的固定距离平面上(Plane Distance),随相机移动和变形。 是
(必须指定 Render Camera)
可以相互遮挡
(取决于 3D 物体与相机、UI 之间的距离)
(但UI之间不会因为pos_z影响遮挡)
自动适应指定相机的视角与屏幕分辨率 • 带 3D 模型的 UI(如装备栏里的 3D 角色展示)
• 卡牌游戏中可旋转的 3D 卡牌
• 需要受镜头后处理(如景深、模糊)影响的 UI
World Space
(世界空间模式)
Canvas 变为场景中的一个普通 3D 物体,拥有完整的 Transform,可自由放置在 3D 空间中。 否
(渲染机制与普通 3D 模型一致)
完全相互遮挡
(遵循标准的 3D 空间深度和物理遮挡)
由本身的 RectTransform(Pos, Rot, Scale)手动调节 • 角色/怪物头顶的血条与名字
• 游戏场景内的电脑屏幕、路牌提示
• 科幻风格的全息投影 UI
• VR / AR 游戏中的所有交互界面

Canvas scaler——UI Scale Mode,缩放模式

一般参考分辨率设置为1920*1080;Screen match mode选择match width or height,Match滑块完全偏向height,开发时适配16:9。

缩放模式 (Scale Mode) 核心运作原理 UI 尺寸表现 关键配置参数 典型应用场景
Constant Pixel Size
(恒定像素大小)
无论屏幕分辨率如何变化,UI 元素始终保持固定的物理像素点大小(1 比 1 渲染)。 高分辨率下 UI 变小,低分辨率下 UI 变大。 Scale Factor(缩放因子)
Reference Pixels Per Unit
• 仅针对固定分辨率(如桌面端固定窗口模式)
• 极少数不需要做多分辨率适配的特定界面
Scale With Screen Size
(随屏幕尺寸缩放)
根据设定的参考分辨率(Reference Resolution),按比例动态放大或缩小整个 Canvas。 在不同分辨率设备上,UI 占屏幕的相对比例基本保持一致。 Reference Resolution(参考分辨率)
Screen Match Mode(匹配模式)
Match (Width - Height 权重)
• 绝大多数 2D / 3D 手游的首选模式
• 需要跨手机、平板、PC 等多尺寸屏幕的项目
Constant Physical Size
(恒定物理尺寸)
无论屏幕分辨率或 DPI 怎么变,UI 元素在真实世界中的物理尺寸(厘米/英寸)保持不变。 在屏幕尺寸相同的设备上,UI 拿尺子量出来是一样大的。 Physical Unit(单位:Centimeters/Inches等)
Fallback DPI / Default DPI
• 需要严谨物理尺寸的移动端应用/工具
• 必须保证玩家手指触控区域物理大小一致的设备(如VR设备)
Icon
致谢名单
本作品由 Yvonne 于 2026-09-20 00:00:00 发布
作品地址:Unity学习笔记——认识UI
除特别声明外,本站作品均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自 Yvonne!Greetings to you!
Logo
上一篇《重生逆袭》第一天小结下一篇UE5 & Unity 核心基类及其继承体系简介
Icon抱歉呢客官,目前还没有接入服务器和数据库,暂时不可以评论喵QAQ