Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[学习笔记]unity3d-UGUI

[学习笔记]unity3d-UGUI

作者头像
六月丶
发布于 2022-12-26 09:50:27
发布于 2022-12-26 09:50:27
3K0
举报
文章被收录于专栏:六月-游戏开发六月-游戏开发

简介

  • Unity 图形用户界面(unity Graphical User Interface)
  • Unity4.6版本之后引入的界面显示系统
  • Unity公司自己研发的一套界面显示系统

UGUI和OnGUI、NGUI的区别

  1. uGUI的Canavas有世界坐标和屏幕坐标
  2. uGUI的Image可以使用material
  3. UGUI通过Mask来裁剪,而NGUI通过Panel的Clip
  4. NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层。
  5. UGUI不需要绑定Colliders,UI可以自动拦截事件
  6. UGUI的Anchor是相对于父对象,没有提供高级选项
  7. UGUI没有Atlas一说,使用Sprite Packer
  8. UGUI的Navigation在Scene中能可视化
  9. UGUI的事件需要实现时间系统的接口,但写起来也算简单
  10. NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源
  11. UGUI出现了锚点的概念,更方便屏幕自适应
  12. NGUI支持图文混排,UGUI暂未发现支持此功能
  13. UGUI没有UIWrap来循环scrollview内容
  14. UGUI暂时没有Tween组件

基础控件

Canavas(画布)

简介

画布,绘制UI元素的载体,所有元素必须在Canavas之下。

属性
  • Render Mode(渲染方式)
    • Screen Space-Overlay覆盖模式:UI元素将绘制在其他元素之前,且绘制过程独立于场景元素和摄像机设置,画布尺寸由屏幕大小和分辨率决定。
      • Pixel Perfect 完美像素:若勾选,则会锐化屏幕显示效果。
      • Sort Order 渲染顺序:在多个Canvas中,值越大越渲染到最上层。
    • Screen Space-Camera摄像机模式:提供UICamera,Cancas对象被绘制在一个与摄像机固定距离的平面上,且绘制效果受摄像机参数的影响。
      • Render Camera 渲染摄像机。
      • Plane Distance 平面与摄像机的距离。
      • Sorting Layer 排序层:通过Edit--Project Settings--Tags and Layers调整Canvas渲染顺序。
    • World Space 世界空间坐标模式:画布渲染于世界空间,与场景中其他3D物体性质相同。
  • UI Scale Mode(UI缩放模式)
    • Constant Pixel Size:像素大小始终不变,即一个100100的图片在任何分辨率下都占用100100的像素。(一般PC上会使用这种方式,因为PC端分辨率差异并不大。)
    • Scale With Screen Size:不关心图片的实际像素大小,而只关心Width及Height值,这个值如果是1000,那么100高度的图片在任何分辨率下都只占用屏幕1/10的尺寸(一般移动端会使用这种方式,因为移动端分辨率差异较大)。
    • Constant Phy Size:根据物理单位来进行缩放。Rect Transform(矩形变换) 简介 派出自Transform,在UGUI控件上替代原有变换组件,表示一个可容纳UI元素的矩形。 属性
  • Pos:控件轴心点相对于自身锚点的位置。
  • Anchor锚点:UI元素的四个顶点与锚点的间距保持不变。锚点总是相对于父级,不能超越父物体范围。 表示点 -> PosX PosY Width Hight 表示拉伸 -> Left Right Top Bottom
  • Pivot 轴心点:移动,旋转与缩放都围绕轴心点发生变化,0,0为左下顶点,1,1为右上顶点Text(文本)
  • 属性
  • Font:字体
  • Font Style:样式
  • Font Size:大小
  • Line Spacing:行间距
  • Rich Text:是否使用富文本样式
  • Paragraph:段落
  • Alignment:对齐方式
  • Horizontal/Vertical Overflow:水平/垂直溢出
  • Best Fit:大小自适应范围在Min Size与Max Size之间
  • Color:颜色
  • Material:材质
  • 富文本语法
  • \粗体\
  • \斜体\
  • 字号
  • 颜色

Image(图片)

  • 属性
  • Image Type 贴图类型:
  • Simple 简单
  • Preserve Aspect :保持贴图原始比例
  • Set Native Size :将贴图设置为原始比例
  • Sliced 切割
  • Fill Center :填充中部区域,如果取消中部区域为透明
  • Tiled 平铺
  • 保持图片原始尺寸,从左下角重复多次填充空白
  • Filled 填充
  • 可以呈现出从空白到完整填充的过程

Raw Image(原始图片)

  • 简介
  • Raw Image显示的图片可以是任意类型,而不仅仅是精灵图片。
  • 属性
  • 使图片的一部分显示在Raw Image组件里。X和Y属性指定图片左下角的位置,W和H属性指定图片右上角的位置。
  • 应用 使用Raw Image 制作小地图
  1. 制作一个小地图
  2. 将相机放置在地图的正上方,可以设置Culling Mask(遮挡剔除)
  3. 创建一张Render Texture,将Target Texture属性指向这张纹理
  4. 创建UI面板,创建Raw Image,将Raw Image下的Texture属性指向小地图纹理即可
  5. 如果要制作圆形的小地图,可以为Raw Image添加Image为父物体,为Image添加Mask(遮罩),然后为Image选择图片就可以实现

Button(按钮)

  • 属性
  • Interactable 是否启用交互
  • Transition 过渡方式
  • Color Tint 颜色过渡
  • Normal 正常 Highlighted 高亮 Pressed 点击
  • Disabled 禁用 Multiplier 颜色倍数
  • Fade Duration 变化时间
  • Sprite Swap 精灵切换过渡
  • Animation 动画过渡
  • Navigation 导航
  • Horizontal 水平导航
  • Vertical 垂直导航
  • Automatic 自动导航
  • Explicit 显示导航
  • Visualize 可视化-显示导航路径
  • 制作按钮
  • 使用Image或Text制作Button按钮Toggle(开关)
  • 属性
  • Is On 复选框的选中状态
  • Toggle Transition 状态改变时,是否启用过渡效果
  • Graphic 切换的背景图片
  • Group 单选组Slider(滑动条)
  • 属性
  • Fill Rect 填充矩形区域
  • Handle Rect 手柄矩形区域
  • Direction 手柄方向
  • Min/Max Value 最小/最大值
  • Whole Numbers 整数数值
  • Value 数值Scrollbar(滚动条)
  • 属性
  • Size 手柄大小
  • Number of Steps 从开始滑动到末尾的步骤Dropdown(下拉框)
  • 属性
  • Template 模板
  • Caption Text 标题文本
  • Caption Image 标题图片
  • Item Text 下拉列表中的文本
  • Item Image 下拉列表中的图片
  • Value 下拉列表选项对应的值
  • Options 下拉列表中的文字和图片

InputField(输入框)

  • 属性
  • Character Limit 字符数量限制
  • Content Type 内容类型
  • Standard 标准 Autocorrected 自动验证
  • Integer Number 数字 Decimal Number 小数
  • Alphanumeric 字母数字 Name 姓名
  • Email Address 邮件地址 Password 密码
  • Pin 仅输入整数,用*隐藏字符
  • Custom 自定义 Plane(面板)
  • 简介 就是一张透明度为100的ImageScroll View(滑动视图)
  • 属性
  • ViewPort Content 用来存放内容
  • ScrollBar Horizontal 水平的滚轮
  • ScrollBar Vertical 垂直的滚轮
  • Visiblity 层级显示
  • Spacing 间隔
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 01 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️
答:Awake —> OnEnable —> Start —> FixedUpdate —>Update —> LateUpdate—> OnGUl —> OnDisable —> OnDestroy
呆呆敲代码的小Y
2023/07/24
2.8K0
【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️
UGUI系列-Dropdown控件研究(Unity3D)
Dropdown下拉列表,控件还是很强大的,做UI的时候用的比较多,现在就将Dropdown使用中的一些经验总结起来,分享给大家了
恬静的小魔龙
2022/08/07
1.6K0
UGUI系列-Dropdown控件研究(Unity3D)
Unity3D :关于UGUI的网格重建、动静分离[通俗易懂]
无论是网上的攻略还是以前的经验来说,都说UGUI需要进行动静分离。也就是说同一个界面下的UI,可活动的元素放在一个Canvas下,不可活动的元素放在另一个Canvas下。虽然两个Canvas打断了合批,但是却减少了网格的重建时间,总体上是有优化的。
全栈程序员站长
2022/08/25
2.7K0
Unity3D-关于项目的屏幕适配(看我就够了)
屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点:
孙寅
2020/06/02
28.4K0
Unity3D之UGUI基础--画布的三种模式
全称:屏幕空间-覆盖模式(Screen Space-Overlay),Canvas创建出来后,默认就是该模式,该模式和摄像机无关,即使场景内没有摄像机,UI游戏物体照样渲染
呆呆敲代码的小Y
2021/08/12
1.6K0
Unity3D学习笔记(四)分别使用IMGUI和UGUI实现血条的预制设计
思路:用HorizontalScrollbar(水平滚动条)的宽度作为血条的显示值。 直接上代码:
梦飞
2022/06/23
1.1K0
【Unity3d游戏开发】UGUI插件入门之游戏菜单
  ugui是unity4.6开始加入的一个新的ui系统,非常强大,下面我们将通过一系列博客的方式一起来学习一下ugui的使用。本篇博客会介绍如何使用ugui制作一个游戏菜单,并且了解如何让物体与ugui的控件交互,效果图如下:
马三小伙儿
2018/09/12
1.7K0
【Unity3d游戏开发】UGUI插件入门之游戏菜单
Unity3d:UGUI源码,Rebuild优化
Unity中渲染的物体都是由网格(Mesh)构成的,而网格的绘制单元是图元(点、线、三角面) 绘制信息都存储在Vertexhelper类中,除了顶点外,还包括法线、UV、颜色、切线。
立羽
2023/08/24
7880
如何快速优化手游性能问题?从UGUI优化说起
作者Feefi,加入腾讯多年,目前主要从事Unity项目UI开发及优化相关工作,曾获得国际软件设计大赛“成都创业金钥匙”奖。
WeTest质量开放平台团队
2018/10/29
1.5K0
UnityNGUI的使用
通过委托事件在NGUI中给Texture添加点击事件 使用UIEventListener的静态方法Get()进行事件的绑定
祝你万事顺利
2019/05/28
2.1K0
Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件
Canvas组件代表UI被放置和渲染的虚拟空间。全部的UI元素必须是带有Canvas组件的Gameobject的子物体。当我们创建一个UI元素从菜单的时候,如果场景中没有canvas,将自动创建一个canvas
祝你万事顺利
2019/07/18
2.6K0
Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件
【Unity3d游戏开发】浅谈UGUI中的Canvas以及三种画布渲染模式
  Canvas画布是承载所有UI元素的区域。Canvas实际上是一个游戏对象上绑定了Canvas组件。所有的UI元素都必须是Canvas的自对象。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。
马三小伙儿
2018/09/12
2K0
【Unity3d游戏开发】浅谈UGUI中的Canvas以及三种画布渲染模式
【Unity面试篇】Unity 面试题总结甄选 |Unity性能优化 | ❤️持续更新❤️
Unity中,CPU准备好需要绘制的元素,对底层图形程序接口进行调用的过程,每次引擎准备数据并通知GPU的过程称为一次Draw Call。DrawCall越高对显卡的消耗就越大。 降低DrawCall的方法:
呆呆敲代码的小Y
2023/07/24
2.3K0
【Unity面试篇】Unity 面试题总结甄选 |Unity性能优化 | ❤️持续更新❤️
Unity3D 角色Face的显示
一般Game的左上角都有一个玩家基本信息显示栏,包括玩家的图像。这种图像,一般有两种方式,其一:将玩家的图片集中制作成一个图集,利用NGUI/UGUI的sprite加入相应玩家的图片。当然,也可利用Texture。这种方式比较简单,这里不做详细说明。其二,即是利用Render Texture 实时地从Camera中获得图像渲染。现在讲解第二种。
py3study
2020/01/15
6090
零基础入门 8: Canvas和EventSystem
UGUI是新版Unity自带的原生UI系统,组件也在不断的增加扩展,基本的贴图,文本,按钮等还是可以用的。接下来的几篇内容会以UGUI展开分享。
韩东吉
2018/10/19
1.6K0
零基础入门 8: Canvas和EventSystem
Unity通用渲染管线(URP)系列(十四)——多相机(Camera Blending & Rendering Layers)
这是有关创建自定义脚本渲染管道的系列教程的第14部分。这次,我们重新考虑了使用多个摄像机的渲染,现在添加了post FX。
放牛的星星
2021/01/11
9.1K0
Unity通用渲染管线(URP)系列(十四)——多相机(Camera Blending & Rendering Layers)
【Unity面试篇】Unity 面试题总结甄选 |Unity进阶篇 | ❤️持续更新❤️
Rigidbody具有完全真实物理的特性,⽽CharacterController可以说是受限的 Rigidbody,具有⼀定的物理效果但不是完全真实的。
呆呆敲代码的小Y
2023/07/24
2.7K0
【Unity面试篇】Unity 面试题总结甄选 |Unity进阶篇 | ❤️持续更新❤️
【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件
马三最近换到了一家新的公司撸码,新的公司 UI 部分采用的是 NGUI 插件,而之前的公司用的一直是 Unity 自带的 UGUI,因此马三利用业余时间学习了一下 NGUI 插件的使用,并把知识点记录成博客与大家分享。
马三小伙儿
2018/09/12
1.7K0
【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件
【Unity游戏开发】SpriteAtlas与AssetBundle最佳食用方案
在Unity步入2019.4以后,新版的SpriteAtlas日趋完善,已经完全可以在商业项目中使用了。但是纵观网络平台上,许多关于SpriteAtlas的文章还停留在2018的初版时期,其中许多解释在现在看来都是过时的,甚至近期UWA问答上的一篇Q&A也是错误的结论,传送门。(笔者文章写于2020.9月)如果还按照CSDN或者UWA上的这种错误的教程来使用SpriteAtlas的话,一来有可能造成图集和资源的冗余,二来会导致享受不到新版图集带来的开发便利从而影响了效率。因此进行SpriteAtlas和AssetBundle的正确配合使用调研实在必行。
马三小伙儿
2020/12/29
9K5
【Unity游戏开发】SpriteAtlas与AssetBundle最佳食用方案
Unity基础(24)-UGUI
组件属性 Source Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择Texture Type为Sprite(2D and UI))。 Color(颜色):图片叠加的颜色。 Material(材质):图片叠加的材质,可以用来实现一些特殊效果,如凹凸感觉 Raycast Target(射线投射目标):是否作为射线投射目标,关闭之后忽略UGUI的射线检测。 Set Native Size:点击此按钮则 Image 组件的长宽自动与原图片长宽一致 Image Type(图片显示类型): Simple(基本的):图片整张全显示,不裁切,不叠加,根据边框大小会有拉伸。 Preserve Aspect(锁定比例):针对Simple模式,勾选之后,无论图片的外形放大还是缩小,都会一直保持初始的长宽比例。
孙寅
2020/06/02
4.5K0
推荐阅读
相关推荐
【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档