目录

01.Canvas对象和EventSystem对象

02.Canvas组件

03.RectTransform组件

04.Image组件

05.Button组件

06.Text组件

07.ScrollRect组件、Mask组件


01.Canvas对象和EventSystem对象

Canvas对象

所有游戏节目里的UI元素(纹理、图像、按钮、滑动条等)都必须位于Canvas对象下成为其子物体,Canvas又叫做画布

一个场景里可以存在多个Canvas,也可以将其他的Canvas对象作为当前Canvas对象的子节点。

在场景里面创建一个Canvas时,会自动生成一个EventSystem对象。

Canvas的RectTransform组件的属性不可直接修改,系统会根据画面的大小自动设置

EventSystem对象

EventSystem对象可将系统中发生的键盘、游戏摇杆、触摸屏等传入的信息传递给Canvas包含的UI元素。

除了上面两个组件外,Event System也包含TouchInputModule组件等

02.Canvas组件

Canvas组件可以将游戏所需要的各种UI元素放置到画面上,并进行渲染。根据渲染模式的不同,UI元素的画面配置方式也不同。

Screen Space - Overlay

默认值,UI元素都位于最顶层,可以根据画面分辨率的设置自动调节位置。

Screen Space - Camera

与前一个类似,但可以设置渲染UI的相机。这样就可以制作有透视感的UI界面等效果。

但是要注意修改UI相机的设置,避免与场景内主相机冲突。

World Space

可以向场景内其他游戏物体直接添加UI对象,如制作HUD。此时Canvas不再受RectTransform组件的影响,而受相应游戏物体位置的影响。

03.RectTransform组件

UI元素必须拥有的一个组件,类似于其他游戏物体的Transform组件

RectTransform组件包含锚点(Anchors)、枢纽(Pivot)、大小(W、H)、位置(PosX、PosY、PosZ)、旋转、比例等信息。

用一个Panel来举例说明

Panel中心的圆形(黄圈里的)为其正中心,是布局、排列UI元素时参考的基准位置,这个圆圈也是旋转轴心。

拖拽Panel的四个角(绿圈里的)可以调节Panel的大小,点击鼠标并按Alt拖拽可以同时调整4边的大小,按住Shift拖拽可以按当前Panel的比例进行大小调节

在Panel的周围有四个白色的小三角(红圈里的)是以Panel的父对象为基准的定位点(锚点)。UI对象的定位点都是以其父对象为基准的。

Anchor Preset(预设值)

Anchor Preset可将各UI元素的排列与大小等设置定义为预设。

按键盘上的Shift键和Alt键会出现不同的选项:

不按任何键:默认锚点预设

按Alt键:将当前选定UI移动到选择的预设位置进行排列

按Shift键:只改变锚点和UI元素的中心点位置不移动UI

按Alt+Shift键:将UI元素的中心移动到与锚点相同的位置

注意:在移动锚点或是中心点时要将模式切换至如下,否则会无法移动

AnchoredPosition属性

RectTransform属性顶端的PosX、PosY、PosZ是以相应的锚点为基准显示当前UI元素的位置。

Width、Height显示相应UI元素的宽、高

当改变UI元素的锚点设置后这几个属性值的名字会有所变化

Anchor属性

通过Anchor属性可设置调整UI元素的大小和对其方式。Min(X,Y)和Max(X,Y)是锚点的位置,取值均为0.0f ~ 1.0f

其他属性

04.Image组件

Image组件可以为画面添加纹理,但必须在Unity中将纹理转换为Sprite格式

Image组件的属性

Image的4种显示方式

Simple

用于固定图像长宽比例,主要适用于装饰画面的图片

固定原图像长宽比例的选项

Sliced

即使调整图像的大小,其边框外围部分的图像也不会变形,只有中间切片的图像才会随着调整的大小而缩放。

适用此选项要注意先将图片在Sprite Editor中进行设置。

Fill Center属性:勾选:显示原图像九宫格切片的中间图像

不勾选:只显示轮廓

Tiled

让图片不断重复铺满整个画面,不受Image大小影响

Filed

可以使图片沿特定方向逐渐显示直至填满,可以用来制作血量条和技能冷却的UI

RawImage组件

与Image相似,但主要是用于设置UI界面的静态背景。

05.Button组件

主要属性

Transition属性

为Button的状态变换设置外观上的变化。

Button状态:默认、获取焦点、按下、禁用

变化方式:颜色、图片、动画

注意:选择动画方式后点击AutoGenerateAnimation按钮,Unity会自动为Button生成一个动画控制器

Navigation属性

当UI界面里有多个Button时,Navigation用于设置如何通过键盘按钮移动当前焦点。

Explicit:显示指定,可以直接指定焦点要移动到的下一个Button

途中黄色的线条表示焦点移动的路径。

如果不想通过移动焦点选定某个按钮,可以设置Button的Visualize属性(相当于开关)

ButtonEvent

点击事件的触发,Unity可以为一个Button设置多个点击事件。

06.Text组件

基本属性

Text Effects

通过Outline组件可以为文字添加阴影等效果。

07.ScrollRect组件、Mask组件

ScrollRect组件区域内的UI元素可以滚动,需要进行滚动的UI元素作为ScrollRect所在对象的子物体存在

主要属性

Mask组件

Mask组件相当于一个遮罩,可以将ScrollRect显示以外的地方隐藏

Mask组件通常是与Image组件一同使用时才有效果

Unity_UI学习(UGUI)相关推荐

  1. [源码学习]--UGUI

    学习参考 从bitbucket上获取uGUI 2019.1源码 UGUI内核大探究 事件系统 UnityEngine.UI/EventSystem/EventSystem.cs private Lis ...

  2. Unity3D学习——UGUI对话气泡实现

    这次我们的作业,是做一个基于UGUI实现的对话气泡. 作业的选择比较多,我是看了师兄写的博客程序东的博客,发现对话气泡这类UI比较实用,在我自己玩的游戏中也用到比较多,所以这次想特别学习一下. 然后是 ...

  3. (二十一)unity4.6学习Ugui中文文档-------交互-Supported Events amp; Raycasters

    大家好,我是孙广东. 转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unitymanu ...

  4. Unity的UGUI用TexturePacker全自动打图集,包括九宫格切图信息

    Unity的UGUI用TexturePacker全自动打图集,包括九宫格切图信息 前言 环境准备 实现过程 注意 总结 版权声明 前言 最近在学习UGUI的打图集,之前一直在用SpritePacker ...

  5. Unity3D游戏开发案例学习——Tanks!(基本完结)

    [2020.1.12] 概述 本案例来自unity官方中级游戏教程Tanks(单机双人坦克大战) 项目同时用于Unity机器学习内容的学习,预定计划为训练可规避障碍物,欲图消灭玩家的坦克ai 第一部分 ...

  6. 【Unity3D入门教程】游戏开发利器UGUI的基本使用方法

    前言 UGUI是Unity官方推出的新一代交互系统,与传统的GUI相比,它具有使用灵活.界面美观.支持个性化定制的特点.本文将会进行UGUI使用的简单介绍,与大家一起敲开UGUI开发的大门. 说到底, ...

  7. 【Unity基础】ugui的基础知识篇

    文章目录 前言 一.常用用可视化控件 1.Image 2.RawImage I.和Image的区别 3.Text组件 4.画布是怎么渲染出可视化UI的? II.这里整理一下渲染相关的关系图,如下: 5 ...

  8. UI入门——血条制作

    文章目录 实验内容 IMGUI制作简单血条 UGUI设计血条预制 动态效果展示 两种制作的优缺点 IMGUI优缺点分析 UGUI优缺点分析 预制使用方法 更新 解决血条暴露行踪问题 实验内容 实现简单 ...

  9. Unity3D 学习笔记4 —— UGUI+uLua游戏框架

    Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...

最新文章

  1. Linux环境搭建Hadoop伪分布模式
  2. zigbee vs 433
  3. hihocoder#1041 : 国庆出游(DFS)
  4. 内推|底层翻身的机会来了,快来看一看!
  5. 你永远都不知道你老公可以多幼稚......
  6. 流式大数据计算实践(4)----HBase安装
  7. GNU Emacs的终极扩展管理工具 — el-get
  8. 实用Redis操作类
  9. 「leetcode」93.复原IP地址【回溯算法】详解!
  10. 2014小米校园招聘笔试(10.13北京)
  11. 思科网络安全解决方案
  12. 经验模态分解股票波动matlab,LMD经验模态分解matlab程序——原味的
  13. 安卓12使用VNET免ROOT抓包微信小程序
  14. 方面级情感分析(一)
  15. 科研伦理与学术规范期末考试1题库
  16. emlog某涛娱乐资源网源码 自带200多条数据打包
  17. P6111 [USACO18JAN]MooTube S
  18. CPU基础知识1------Intel CPU 地址空间
  19. 食油大学C++程序设计题解
  20. 后GPT 3.0时代,主流大模型技术精要详解,走向AGI之路的大门已开

热门文章

  1. 电脑快捷键大全(1)
  2. 【book】跟开涛学搭建高可用高并发系统
  3. MATLAB安装后出现“License Manager Error -8?”,替换文档时报错解决方法
  4. Arduino使用 MAX30102心率传感器
  5. excel中提取月份_在Excel中自动添加月份表
  6. 免费好物API分享大全
  7. 二进制与十进制的相互转换(详解)
  8. Qt for Android开发环境搭建(QtCreator6.0.1+Qt5.15.2/Qt6.2.2+win10)
  9. 根据 Windows 激活错误代码解决问题
  10. bcrypt.dll怎么修复?bcrypt.dll修复工具下载