Unity数字孪生开发笔记——UGUI控件篇

这篇博客详细介绍了Unity的UGUI系统,包括Canvas、Rect Transform、Image、Text、Button等常见控件的属性与功能,以及事件注册、ITween动画库的使用。此外,还探讨了自动布局组控件和Draw Calls的优化方法,旨在提升UI性能。
摘要由CSDN通过智能技术生成

一、常见OnGUI控件

在这里插入图片描述

二、UGUI

在这里插入图片描述

1、简介

  • Unity图形用户界面 Unity Graphical User InterFace 是Unity4.6以上版本新加入的界面显示系统
  • 与OnGUI对比
    ----全新的布局系统
          ~~~~~      Rect Transform       ~~~~~      Layout Group
    ----强大的事件机制
          ~~~~~      鼠标指针类 拖拽类 点选类 输入类
    ----最佳的执行效能
          ~~~~~      减少了GPU负担
  • 与NGUI对比
    ----由NGUI创始人参与开发
    ----自适应系统更完善
    ----更方便的深度处理
    ----淡化了Atlas(图集),直接使用Sprite Packer
    ----UGUI没有Tween组件
    ----开发效率暂时低于NGUI

2、控件

1>Canvas画布

在这里插入图片描述

  • 简介
    ----画布,绘制UI元素的载体,所有UI元素必须在Canvas之下。UI元素的绘制顺序依赖于层次面板中的顺序
    1、创建UI对象:在Hierarchy面板右键–>UI,在UI界面中选择的对象都是UGUI对象。在操作这些对象时,建议按如下所示:
    在这里插入图片描述
        ~~~     此时,左键是移动物体,右键是移动场景,点顶点可进行方法缩小,而改变的宽度和高度对象对应于Inspector的像素。
    在这里插入图片描述

  • 属性
    ----Render Mode 渲染模式
    1、Screen Space-Overlay 覆盖模式:UI元素将会在其他元素之前,而且绘制过程独立于场景元素和摄像机设置,画布尺寸由屏幕大小和分辨率决定,屏幕坐标系与世界坐标系等价
        ~~~     Pixel Perfect 完美像素:若勾选,则会锐化屏幕显示效果
        ~~~     Sort Order 渲染顺序:在多个Canvas中,值越大越渲染到最上层
    2、Screen Space-Camera 摄像机模式:需要提供一个UICamera(如果不提供,将等价于覆盖模式),Canvas对象被绘制在一个与摄像机固定距离的平面上,且绘制效果受摄像机参数的影响
        ~~~     Rander Camera 渲染摄像机
        ~~~     Plane Distance 平面与摄像机的距离
        ~~~     Sorting Layer 排序层:通过Edit–》Project Settings–》Tags and Layers–》Sorting Layers 调整Canvas渲染顺序
    3、World Space 世界空间模式:画布渲染于世界空间,与场景中其他3D物体性质相同

  • 适用性:
    ---- UI覆盖物体,使用Overlay
    ---- 物体覆盖UI,使用Camera
    ---- UI与物体性质相同,使用World Space

  • UI摄像机与主摄像机的配合使用:当想使用3D物体盖住UI对象时,通常会采用摄像机模式,渲染相机采用主摄像机,但这样会使得屏幕的渲染量过大,消耗性能增加,但可以通过以下步骤进行改善
    1、创建新的UI摄像机,并将其拖入Rander Camera
    在这里插入图片描述
    2、将UI摄像机的Clear Flags改为 Depth Only,Culling Mask设置为仅UI,为了避免出现多个摄像机的覆盖问题,将UI摄像机的Depth 改为大于Main Camera的值(比如主相机设为-1,UI相机设为0)
    在这里插入图片描述
    3、将主相机的Culling Mask 中的UI项取消勾选,变为Mixed
    在这里插入图片描述
    4、将想要覆盖住UI的物体的Layer层改为UI层
    在这里插入图片描述
    5、保险起见,还可以将UI相机放在世界的某个角落(可忽略)
    在这里插入图片描述
    6、经过以上步骤,就可以实现将3D物体挡在UI界面前,而且性能消耗都比直接拖动Main Camera好
    在这里插入图片描述

2>Rect Transform 矩阵变换

在这里插入图片描述

  • 简介
    派生自Transform,在UGUI控件上替代原有变换组件,标识一个可容纳UI元素的矩阵
  • 属性
    ----Pos :控件轴心点相对于自身锚点的位置
    ----Anchor 锚点:UI元素的4各顶点与锚点的间距保持不变,锚点总是相对于父级,不能超越父物体范围;
          ~~~~~       表示点 -->PosX   ~   PosY   ~   Width   ~   Hight
          ~~~~~       表示拉伸 --> Left   ~   Right   ~   Top   ~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪 ~smart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值