Unity UI学习笔记

LiFasT
LiFasT
Published on 2025-03-25 / 22 Visits
0
0

前言

Unity的UI系统比较多,这篇文章侧重于讲UGUI,以后可能会考虑学习官方主推一下UI Toolkit,但目前来说UGUI依旧是游戏开发的主流。以后编写文章会偏向于业务,理论则会适当减少,通过实际应用场景更好地学习各种控件的原理。

实际案例

UGUI理论

Canvas

Canvas(画布)是所有UI元素的容器,负责渲染UI元素,所有元素必须在Canvas节点下

三种渲染模式

  • Screen Space - Overlay

字面意思,这种模式渲染的UI直接覆盖在屏幕上,不会受到物体的影响

  • Screen Space - Camera

在这种模式下,UI会被渲染在摄像机前面,通过Plane Distance可以调整UI和摄像机的距离(距离不影响显示大小)

在这种模式下,UI会被物体所遮挡,如当物体和摄像机的距离小于Plane Distance

  • World Space

在这种模式下,UI可以像物体一样使用,比如旋转、倾斜等

Canvas Scaler

  • Constant Pixel Size

固定像素尺寸,不会随屏幕大小改变发生变化

  • Scale With Screen Size

随屏幕尺寸改变而改变,可选由宽或者由高决定

  • Constant Physical Size

固定物理尺寸,游戏场景不常用

Graphic Raycaster

可设置UI触发(点击、触摸)是否会被物体所遮挡

Canvas Group

这玩意名称带有一定的误导性,实际上在单Canvas布局场景下,可以给子UI组挂载Canvas Group,然后实现对子UI组的透明度和控制

四个设置

Alpha

透明度

Interactable

可否交互

Block Raycasts

阻挡射线(若该UI底下还有一个UI,勾选可阻挡射线与所遮挡的UI发生交互)

Ignore Parent Groups

忽略父组(若该组的父组件也有个Canvas Group,勾选可以不受父组件影响)


Comment