UGUI 基础篇

六大基础组件概述

Canvas对象上依附的:
canvas:画布组件,主要用于渲染UI控件
canvas scaler:画布分辨率自适应组件 主要用于分辨率自适应
graphic raycaster:射线事件交互组件 主要用于控制射线相应相关
rect transform:ui对象位置锚点控制组件 主要用于控制位置和对齐方式
EventSystem对象上依附的:
eventsystem和standalone input module:玩家输入事件响应系统和独立输入模块组件,主要用于监听玩家操作(与graphic raycaster一起用)

1.Canvas的三种渲染方式

Screen Space-Overlay 屏幕空间 覆盖模式 ui始终在前

Pixel Perfect:是否开启无锯齿精确渲染(性能换效果)
SortOrder:排序层编号(用于控制多个Canvas时的渲染先后顺序)
Target Display: 目标设备(在哪个设备上显示)
Additional Shader Channels: 其他着色器通道,决定着色器可以读取哪些数据
在这里插入图片描述

Screen Space-Camera 屏幕空间 摄像机模式 3d物体可以显示在ui之前

RenderCamera:用于渲染3D物品的的摄像机(如果不设置将类似于覆盖模式)
Plane Distance: UI平面在摄像机前方的距离 类似整体z轴的感觉
Sorting layer:所在排序层
Order in Layer:排序层的序号
在这里插入图片描述

World Space 世界空间 3D模式

把ui对象像3D物体一样处理 常用于vr或ar
Event Camera:用于处理ui事件的相机(如果不设置 不能正常注册ui事件)
在这里插入图片描述

2.CanvasScaler 画布缩放控制器 分辨率自适应组件

Constant Pixel Size(恒定像素模式)

无论屏幕大小如何 ui始终保持相同像素大小
Scale Factor:缩放系数 按此缩放系数缩放画布中所有的ui元素
Reference Pixels Per Unit: 单位参考像素 多少像素对应unity的一个单位(默认100像素)
在这里插入图片描述

Scale With Screen Size(缩放模式)

根据屏幕尺寸进行缩放 随着屏幕尺寸放大缩小
UI Scale Mode三种匹配模式:
Match Width or Height 宽高匹配 以宽高某种平均值作为参考缩放画布
match:确定用于计算的宽高匹配
在这里插入图片描述
Shrink 收缩匹配 将canvas size进行宽或高收缩 让他低于参考分辨率
Expand 扩展匹配 将canvas size进行宽或高扩大 让高低于参考分辨率

总结:

游戏开发一般使用:Scaler with Screen Size 缩放模式
存在横竖屏切换选择:Expand和Shrink
定死的横屏或者竖屏:Match Width or Height
竖屏 match=1 竖屏 match=0

Constant Physical Size(恒定物理模式)

无论屏幕大小和分辨率如何 ui元素始终保持相同物理大小
DPI:图像每英寸长度内的像素点数
Physical Unit:物理单位 使用的物理单位种类
Fallback Screen DPI:备用DPI 当找不到设备DPI时 使用此值
Default Sprite DPI:默认图片DPI
一般不使用此模式
在这里插入图片描述

3D模式 当canvas的渲染模式为WorldSpace

Dynamic Pixel Per Unit:UI中动态创建的位图中 单位像素数(类似密度)
Reference Pixels Per Unit: 单位参考像素 多少像素对应unity的一个单位(默认100像素)
在这里插入图片描述

3.Graphic Raycaster 图形射线投射器

用于检测ui输入事件的射线发射器 通过射线检测玩家和ui元素的交互判断是否点击到了ui元素
Ignore Reversed Graphics: 是否忽略反转图形 (x,y反转)
Blocking Objects: 射线被哪些类型的碰撞器阻挡(覆盖渲染模式下无效)
Blocking Mask:射线被哪些层级的碰撞器阻挡 (覆盖渲染模式下无效)
在这里插入图片描述

4.EventSystem 事件系统

管理玩家输入事件并分发给各ui控件 逻辑处理模块
所有的ui事件都通过eventsystem组件中轮询检测并做相应执行
First Selected:首先选择的游戏对象 可以设置游戏一开始的默认选择
Send Navigation Events:是否允许导航事件(键盘选中)
Drag Threshold: 拖拽操作的阈值(移动多少像素算拖拽)
在这里插入图片描述

5.standalone input module 独立输入模块

处理鼠标,键盘,控制器,触屏的输入
输入事件通过EventSystem进行分发 不可缺

水平热键
垂直热键
提交按钮热键名
取消按钮热键名
每秒允许输入数量
每秒输入操作重复率生效前的延迟时间
是否属于强制模块处于激活状态在这里插入图片描述
在这里插入图片描述

6.RectTransform矩形变换

继承于Transfrom 处理ui元素位置大小相关的组件
一般处理步骤:锚点快捷键-> pivot-> pos
pivot:轴(中心)点 取值范围0~1
Anchors(相对父矩锚点)
min是矩形锚点范围x和y的最小值
max是矩形锚点范围x和y的最大值
取值范围0~1
pos(x,y,z)轴心点相对锚点的位置
width/height:矩形的宽高
left/top/right/bottom:矩形边缘相对锚点的位置(锚点分离模式)
rotation:围绕轴心点旋转角度
scale:缩放大小
在这里插入图片描述
在这里插入图片描述

九宫格布局
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值