UGUI
-
RectTransform: (RectTransform是transform的子类)
-
UI位置:是在锚点为原点的二维坐标,决定了UI在屏幕的显示位置,最基础的属性UI大小:UI在屏幕中的长和宽
-
锚点(Anchors):的位置决定了物体的对齐方式,对齐某个点或者某个边。
-
Pivot:UI对图片的对应点,中心点
-
缩放:修改UI的缩放大小。旋转:UI的旋转角度
-
Unity 提供的快速对齐方案,可以选择对应的位置快速设置锚点, 按住 ALT 件可以直接设置 , 锚点可以适配屏幕的某一部分
Unity组件入门篇总目录----------点击导航
Canvas:(画布)
-
Render Mode: Screen Space -Overlay
-
Render Mode: Screen Space -Camera
-
Render Mode: world Space
-
Canvas Scaler:
-
UI scale mode :Constant Pixel Size
当遇到不适配的情况
GetConponent<CanvasScaler>().scalerFactor =
(比例)
-
UI scale mode :scale with screen size
-
screen match mode:
-
match width Screen Size:根据屏幕的高和宽匹配。
-
Expand:不会让屏幕尺寸小于标准尺寸,会往外扩展
-
Shrink :画布大小不会高于屏幕分辨率,会压缩
UI scale mode :Constant Physical Size
-
DPI:一平方英尺的屏幕点数
-
Fallback screen DPI:当无法找到物理的DPI的时候,就使用后面的默认值
-
Default sprite DPI :默认的 DPI
GraPhic Raycaster(图形射线)
Ignore Revered Graphics
:忽略颠倒的图形,在图形旋转后射线就不响应,反之则响应
Blocking Objects
:阻挡的对象类型(判断依据是2D还是3D 的碰撞体,和本来的物体无关)
-
-
-
None :任何物体都不会阻挡
-
Two D: 仅 2D 物体阻挡
-
Three D :仅 3D 物体阻挡
-
All :所有物体都会阻挡
-
-
Blocking Mask
: 对应的那些层可以阻挡UI的射线。
Canvas Group:(画布组)
Blocks Raycasts:所管理的射线是否可以进行射线检测。
Ignore Parent Group
:忽略父物体的管理
UI渲染层级的基本概念:(挺重要的,可以帮助理解)
UI
的渲染层级,后渲染的会在先渲染的前面,这就是
UI
的层级排列顺序,谁后渲染就会显示在屏幕前面。决定
UI
层级有四个种因素
1
,摄像机:
摄像机的位置决定了UI的显示,当看不到的UI的位置,UI就不会显示,不同的摄像机,可能显示的UI也不同,在相机中有Depth的参数,这个参数决定了显示的顺序,就是UI的渲染顺序。
2
,
Sorting Layer
是自定义的渲染层级,会根据你自定义的渲染层进行排序,决定UI组件的先后顺序。
3
,
Order in Layer
当物体在同一个层级的时候,如何决定物体的渲染顺序,就用到的order in Layer它的参数大小就决定的UI的渲染顺序
4
,自然顺序
UI的排列顺序和Hlerarchy的排队有关的,在上面的UI组件会先渲染,会在最开始出现在屏幕的最后面,在后面的UI组件会后渲染,显示在屏幕的前面,在不调整层的情况下会这样显示。
Image:(图片)
Raycast Target
:
决定了当前
UI
是否会进行射线检测,决定触发事件,能否按键响应。
注意点:
导入的必须是精灵(
sprite
)格式。
Image Type
:(图片类型)
-
Simple : 基础默认的图片,无特殊处理
-
Sliced: 九宫格分割的图片( fill center 填充中心)
-
Tiled : 平铺
-
Filled: 填充
-
Fill Method 决定了填充的模式, Fill Orgin 决定的填充的原点。
-
Fill Amount 填充的百分比。 Clockwise :顺时针方向
-
Preserve Aspect :保留方面
UV
坐标的概念:(
Raw image
)
Raw Image
不同于
UIImage
,它是直接添加
Texture
图片,不需要转化成
sprite
类型。
UV
类似于建模中的贴图,决定了贴图的偏移和平铺
Text(文本组件)
Rich Text
:富文本
在一个文本中有不同类型的字体格式,类似于
<b>text</b>
的格式
<i>
斜体
</i>
<size=50>
大小
</size>
<color=red>
颜色
</color>
<color=#ff000000>
颜色
</color>
Unity遮罩(Mask组件)
作用可以遮挡子物体的显示,当子物体超过父物体的大小的时候就会隐藏超出范围的显示,事项遮罩的功能。(mask组件会增加性能消耗,)
尽量使用Rect Mask 2D实现的效果和Mask类似,但是不会增加性能消耗。
Selectable(交互组件的基类)
Color Tint
-
color multiplier 彩色乘法器
-
fade duration 衰减持续时间
Sprite Swap
Animation(UI动画)
可以用
DOtween
插件实现。
Button组件
使用方法:
将物体拖入
None(Object)
中,就可以在右边的位置选择函数方法,然后点击按钮就可以调用方法。
Toggle(复选框)
Toggle Group
(复选框组)
Toggle Group
的作用是把多个
Toggle
组成一个组,然后选择的时候就可以单选其中得到一个,其它的就会取消
,
这个组件的使用方法是拖入需要管理的
Toggle
的
Groupde
的属性中然后就可以一起管理多个组件。
Slider(滑动条)
Whole Numbers
:
这个参数的勾选在移动滑动条的时候一定会是整数,就近取整实现一步一步的滑动,滑动条的主要是控制
value
的值,控制着滑动条的填充。
Scrollbar(滚动条)
Number Of Steps
:
这个参数的值决定了这个滑动条几步可以滑动完,移动的时候可以自适应位置。
ScrollView(滚动框)
Movement Type(
移动模式
)
:
-
Unrestiricted:无限制的,可以随意拖动。
-
Elastic:有弹性的
-
Clamped:无弹性的,在限定的氛围内移动
-
Visibillty(可见性)
-
Permanent:常驻,就是这个滑动条一直都在。
-
Auto Hide:自动隐藏
-
Auto Hide And Expand Viewport:自动隐藏并且填充。
Dropdown(下拉框)
模板:
Template
模板的就像预制体可以以它复制其它的部分
Alpha Fade Speed
:
-
阿尔法衰减通道,作用是在选择下拉菜单的时候菜单的显示隐藏的渐变时间。
Options
:
-
选项,是下拉框的选项,在这里添加,删除或赋值下拉框的选项。
Input field:输入框
输入框在日常项目的制作中常常使用,熟练的使用每一个参数可以提高项目的制作效率,输入类型限制了输入的参数,可以修改输入类型满足不同的需求
Content Type(内容类型):
-
Standard: 标准的可以输入任意字符
-
Autocorrected: 可以自动更正用户的输入
-
Integer Number: 只允许输入整数
-
Decimal Number: 小数,允许输入数字和小数点后一位
-
Alphanumeric: 允许字母和数字,不允许输入符号
-
Name: 名字,自动将每个单词的首字母大写
-
Email Address: 电子邮件地址,允许输入包含 @ 的字母数字字符串
-
Password: 可以输入任何字符,会用‘ * ’隐藏
-
Pin: 仅为整数,会用‘ * ’隐藏
-
Custom: 自定义类型,输入类型,默认键盘类型,字符验证
-
Single Line : 输入的内容是一条直线不会换行
-
Multi Line Submit : 输入的内容可以换行,按回车结束
-
Multi Line Newline : 输入的内容可以换行,按回车换行
Horizontal Layout group(横向对齐)
-
Spacing : 元素之间的间距
-
Reverse arrangement : 反转排序
-
Control child size: 控制子物体的大小,勾线后就不可以修改子物体的大小,由父物体统一控制
-
Use child size : 考虑子物体大小对物体的排序的影响
-
Child force expand : 是否填充满,会根据大小平均分配
Vertical Layout group(纵向对齐)
参数同横向排列。
注意点
control child size
和
child force expand
必须成对出现,不然会出现
UI
消失的情况,(自动
UI
的长或者宽变成
0
,在
UI
上就显示不出来)
Grid layout Group(网格排序)
Constraint
:自定义排列
-
Flexible : 没有限制的,自动排序
-
Fixes column count : 横向设定有多少列
-
Fixes row count : 纵向设定有多少行
网格排序在功能上可以替代横向和纵向排序,在实际的项目制作中网格排序也应用的很常见。
Layout Element (布局元素)
-
Flexible Height : 给在一个网格排序的组下,按照比例进行高度缩放,比例是参数的大小
-
Flexible Width : 给在一个网格排序的组下,按照比例进行宽度缩放,比例是参数的大小
注意事项:在勾线最小高度或者宽度的时候,勾线
child force expand
会出现在显示原本的
UI
在最小高度的情况下再平分。
Aspect ratio fitter(横竖比值)
-
Width controls Height: 宽高适配,根据宽度设置高度,高度不可修改
-
Height Controls Width: 宽高适配,根据高度设置宽度,宽度不可修改
-
Fit In Parent: 图像不会超过父物体,限制在父物体内。
-
Emvelope Parent: 根据宽高比完全覆盖父物体。
Content size fitter(内容尺寸适配)
-
Unconstrained : 不做任何适配
-
Min size : 根据最小值大小适配
-
Perferred size : 根据初始值大小适配
小技巧:可以应用在文本输入框中,会自动适配文本大小,将显示不出来的文字显示出来,实现对应的需求。
作者的一点废话:
Unity UGUI要想熟练使用,还是得经常的去做各种练习,熟能生巧嘛,现在记不到各种参数也没关系,记住常用的就行,有些生僻的参数确实在实际的项目中也不一定用的到,想不起来就回来查查嘛,之后有新的更新,我会更新这篇文章(先把坑埋这里,后面来填),觉得有用的话就点个赞吧( ´・∀・`)
日志:
2024/4/19 19:28 //基础文章初版上传
2024年5月13日 21:53//添加unity入门篇总目录