Unity3d Ugui 1 Canvas

25 篇文章 1 订阅

画布(Canvas)是容纳所有 UI 元素的区域。画布是一种带有画布组件的游戏对象,所有 UI 元素都必须是此类画布的子项。

创建新的 UI 元素时,如果场景中还没有画布,则会自动创建画布。UI 元素将创建为此画布的子项。

消息系统:如果当前场景中没有EventSystem组件,新建UI元素时会同时创建出来一个带EvenetSystem组件的物体,用来协助消息系统。EvenetSystem是一个基于Input的事件系统,可以对键盘、触摸、鼠标、自定义输入进行处理。

绘制元素的顺序

画布中的 UI 元素按照它们在 Hierarchy 中显示的顺序绘制。首先绘制第一个子项,然后绘制第二个子项,依此类推。如果两个 UI 元素重叠,则后一个元素将显示在前一个元素之上。

要更改元素的显示顺序,只需在 Hierarchy 中拖动元素进行重新排序。也可以通过在变换组件上使用以下方法从脚本控制顺序:SetAsFirstSibling、SetAsLastSibling 和 SetSiblingIndex。

Screen Space Overlay

让UI始终位于界面最上面部分。此渲染模式将 UI 元素放置于在场景之上渲染的屏幕上。如果调整屏幕大小或更改分辨率,则画布将自动更改大小来适应此情况。

  1. Pixel Perfect(仅限 Screen Space 模式):完美像素,边缘更加清晰(显示内容的像素和平面像素对应,没有拉伸和压缩),会降低流畅度,使元素看起来更清晰并防止模糊
  2. Sort Order: 渲染顺序,多个Canvas时可以调整其显示顺序,绘制的时候从小到大依次绘制,越大越靠近相机,用于不同界面的层级控制。
  3. Target Display:目标显示器,Unity多开时选择显示器用
  4. Additional Shader Channels:附加着色通道,决定Shader可以读取哪些相关数据,比如 法线、 切线、颜色、等数据。

Screen Space - Camera

赋值一个相机,按照和相机的距离前后显示物体和UI。此渲染模式类似于 Screen Space - Overlay,但在此模式下,画布放置在指定摄像机前面的给定距离处。UI 元素由此摄像机渲染,这意味着摄像机设置会影响 UI 的外观。如果摄像机设置为正交视图,则 UI 元素将以透视图渲染,透视失真量可由摄像机视野控制。如果调整屏幕大小、更改分辨率或摄像机视锥体发生改变,则画布也将自动更改大小来适应此情况。

  1.  Render Camera:用哪个相机来渲染
  2. Plane Distance:当Camera的Projection为Orthograhic(正交投影)时,此值得改变仅仅会改变Canvas的Pos Z

  3. Sorting Layer:管理多个Canvas,将它们组织为不同层级来形成覆盖关系,越大越靠前。

  4. Order in Layer:对于同一Sorting layer之下的几个Canvas,越大越靠前、

显示的前后关系:

  1. 首先看RenderMode 如果Screen Space Overlay会在最前面。
  2. 如果两个都是Screen Space - Camera,首先看Sorting Layer,这个越大越靠前。
  3. Sorting Layer相同的,比较Order in Layer越大越靠前。

World Space

在此渲染模式下,画布的行为与场景中的所有其他对象相同。画布大小可用矩形变换进行手动设置,而 UI 元素将基于 3D 位置在场景中的其他对象前面或后面渲染。此模式对于要成为世界一部分的 UI 非常有用。

对应操作视频讲解:https://www.bilibili.com/video/BV1D44y127qS?from=search&seid=16920894502183582417

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值