【Unity 3D】UI系统中UGUI各个组件的详细讲解

2025-09-20 06:18:55

世界杯歌

UI设计又称界面设计,是指对软件的人机交互、操作逻辑、界面美观的整体设计,UI就相当于人可以看到的界面,并且可以对UI进行交互。 Unity 3D...

UI设计又称界面设计,是指对软件的人机交互、操作逻辑、界面美观的整体设计,UI就相当于人可以看到的界面,并且可以对UI进行交互。

Unity 3D的UI,分为UGUI和GUI,UGUI主要是图形渲染界面,搭建方便,学习比较容易,GUI主要是代码渲染界面,需要在编写代码时就思考如何完善界面布局,在运行项目时才能看到效果

UGUI常用组件介绍

1:Canvas

所有的UI组件都在画布的子集里,画布相当于所有UI组件的容器,每当创建一个UI物体时,Canvas都会自动创建,所有的UI元素都必须是Canvas的子物体,和Canvas一同创建的还有一个EventSystem,它是一个基于Input的事件系统,可以对键盘 触摸 鼠标自定义输入进行处理

Canvas:控制UI的渲染模式

Render Mode:渲染模式

Screen Space overlay:让UI始终位于界面最前面

Screen Space camera:赋值一个相机 按照相机的距离前后显示UI和物体

World Space:让画布变成一个3D物体 可以进行移动旋转等等

Canvas Scaler:控制UI画布的缩放比例

Constant Pixel Size:固定像素大小 无论屏幕尺寸如何变化,UI都不会变化

Scale With Screen Size:根据屏幕分辨率,自动调节UI比例

Constant Physical Size:固定物理像素大小

Graphic Raycaster:控制是否让UI响应射线点击

Ignore Reversed Graphic:忽略反转的UI UI反转后点击无效

Blocking Objects:阻挡点击物体 当UI前有物体时 点击前面的物体射线会被阻挡

Blocking Mask:阻挡层级 当UI前有设置的层级时 点击前面的物体射线会被阻挡

2:Text

Text组件是UGUI中最常用的组件,它的作用是对文本数据进行处理并显示

Font:显示文字的字体

Line Spacing:行与行之间的垂直距离

Rich Text:富文本格式 勾选后可以显示文本中的标记标签信息

UGUI创建的所有组件都会默认勾选。

3:Image

Image组件是UGUI中比较常用的组件,用来控制和显示图片

Source Image:需要显示的图片的来源

Color:图片的颜色

Material:渲染图像的材质

Raycast Target:能否接收到射线检测

Image Type:图片的排列方式

4:Button

Button是一个按钮组件,在开发中经常使用,通过单击按钮执行某些事件、动作、切换状态等

Interactable:是否启动按钮 取消勾选则按钮失效

Transition:按钮状态过渡的类型

Navigation:导航

On Click:按钮单击事件的列表 设置单击后执行哪些函数

Button组件可以通过On Click手动添加监听事件,也可以通过代码动态添加监听事件

Button按钮监听函数测试代码如下

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Test_16_1 : MonoBehaviour

{

public void OnClickTest()

{

Debug.Log("点击了按钮");

}

}

下面介绍代码动态添加监听事件

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class Test_16_2 : MonoBehaviour

{

Button TestBtn;

void Start()

{

TestBtn = GetComponent