一、Canvas简介

Canvas画布是承载所有UI元素的区域。Canvas实际上是一个游戏对象上绑定了Canvas组件。所有的UI元素都必须是Canvas的自对象。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。

二、Canvas画布参数与应用

1.创建画布

当你创建任何一个UI元素的时候,都会自动创建画布。也可以主动创建一张画布:点击GameObject->UI->Canvas即可在Hierarchy面板创建一张画布。

2.画布参数

下面介绍一下Canvas画布的参数:

第一个参数RenderMode的渲染模式有三种:Screen Space-Overlay、Screen Space-Camera以及World Space。

1.Screen Space-Overlay模式

Screen Space-Overlay(屏幕控件-覆盖模式)的画布会填满整个屏幕空间,并将画布下面的所有的UI元素置于屏幕的最上层,或者说画布的画面永远“覆盖”其他普通的3D画面,如果屏幕尺寸被改变,画布将自动改变尺寸来匹配屏幕。

Screen Space-Overlay模式的画布有Pixel Perfect和Sort Layer两个参数:

(1)Pixel Perfect:只有RenderMode为Screen类型时才有的选项。使UI元素像素对应,效果就是边缘清晰不模糊。

(2)Sort Layer: Sort Layer是UGUI专用的设置,用来指示画布的深度。

2.Screen Space-Camera模式

Screen Space-Camera(屏幕空间-摄影机模式)和Screen Space-Overlay模式类似,画布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来 绘制在一个与摄影机固定距离的平面上。所有的UI元素都由该摄影机渲染,因此摄影机的设置会影响到UI画面。在此模式下,UI元素是由perspective也就是视角设定的,视角广度由Filed of View设置。

它比Screen Space-Overlay模式的画布多了下面几个参数:

(1)Render Camera:渲染摄像机

(2)Plane Distance:画布距离摄像机的距离

(3)Sorting Layer: Sorting Layer是UGUI专用的设置,用来指示画布的深度。可以通过点击该栏的选项,在下拉菜单中点击“Add Sorting Layer”按钮进入标签和层的设置界面,或者点击导航菜单->edit->Project Settings->Tags and Layers进入该页面。

可以点击“+”添加Layer,或者点击“-”删除Layer。画布所使用的Sorting Layer越排在下面,显示的优先级也就越高。

(4)Order in Layer:在相同的Sort Layer下的画布显示先后顺序。数字越高,显示的优先级也就越高。

3.World Space

World Space即世界控件模式。在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。画布的尺寸可以通过RectTransform设置,所有的UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时,   可以使用这个模式。

它有一个单独的参数Event Camera,用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。

我们通过下面的表格可以对比一下三种渲染模式的区别:

渲染模式 画布对应屏幕 摄像机 像素对应 适合类型
Screen Space-Overlay 不需要 可选 2D UI
Screen Space-Camera 需要 可选 2D UI
World Space 需要 不可选 3D UI
一、Canvas简介      Canvas画布是承载所有UI元素的区域。Canvas实际上是一个游戏对象上绑定了Canvas组件。所有的UI元素都必须是Canvas的自对象。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。二、Canvas画布参数与应用1.创建画布  当你创建任何一个UI元素的时候,都会自动创建画布。也可以主动创建一张画布:点击GameO...
Unity 3D u GUI 事件系统简述及使用方法总结.pdf Unity 3D u GUI 事件系统简述及使用方法总结.pdf Unity 3D u GUI 事件系统简述及使用方法总结.pdf Unity 3D u GUI 事件系统简述及使用方法总结.pdf Unity 3D u GUI 事件系统简述及使用方法总结.pdf Unity 3D u GUI 事件系统简述及使用方法总结.pdf
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新 Unity 开发技巧,觉得有用记得一键三连哦。 很早就想分享这个系列的文章,但是总是没有机会,最近就将这个系列整理一下,大家一起学习交流。 首先,介绍一个U GUI ,N GUI 是U GUI 的前身, Unity 开发团队将N GUI 的开发团队收到自己开发团队下,并且由此开发了U GUI 。 U GUI 系统是从 Unity 4.6版本后才开.
一、 Canvas 简介 Canvas 画布 是承载所有UI元素的区域。 Canvas 实际上是一个游戏对象上绑定了 Canvas 组件。所有的UI元素都必须是 Canvas 的自对象。如果场景 没有 画布 ,那么我们创建任何一个UI元素,都会自动创建 画布 ,并且将新元素置于其下。 二、 Canvas 画布 参数与应用 1.创建 画布 当你创建任何一个UI元素的时候,都会自动创建 画布 。也可以主动创建一张 画布 :点击G...
什么是 Canvas 使用U GUI 来进行UI开发,离不开 Canvas 组件,所有的 UI 元素,要么自己包含 Canvas 组件,要么是 Canvas 组件所在 GameObject 的子节点。 2. Canvas 组件的参数 RenderMode,有三个选项:Screen Space - Overlay、Screen Space - Camera、World Space。 Screen Spa...
// 参考:https://forum. unity .com/threads/how-do-you-get-the-parent- canvas .311240/ // 法1:得到一个 canvas ,不确定在嵌套 cavnas 情况是什么反应 GetComponentInParent< Canvas >() // 法2:得到顶层 canvas Canvas topmost Canvas = transform.root.GetComponentInChildren< Canvas >(); 2.它主要负责 渲染 自己所有的子对象 3.场景上允许有多个 Canvas ,一般情况有一个即可 如果UI控件对象不是 Canvas 对象,那么控件将不能被 渲染 Canvas 控件上带有 渲染 方式 1.2: Canvas 渲染 方式 1.Screen Space - Overlay:屏幕空间,覆盖 模式 ,UI始终在前 1.1 Pixel Perfect:是否开启无锯齿精确 渲染 (性能换效
前文:https://blog.csdn.net/Jaihk662/article/details/87865239(U GUI 插件介绍) Canvas 组件有 三种 不同的 渲染 模式 : Screen Space - Overlay Screen Space - Camera World Space 这 三种 渲染 模式 分别用于不同的 渲染 需求, Canvas 组件上其余的属性都根据不同的 渲染 模式 发生...
unity U GUI 源码:https://github.com/ Unity -Technologies/u GUI .git 官方API:https://docs. unity 3d.com/cn/2018.4/ScriptReference/ Canvas .html Canvas 在这里只能讲一些思路,具体实现还是得看项目 运用相对应的处理方式去处理 Cavas的Render Mode是Overlay 模式 时,永远覆盖在其他物体之上,不受摄像机depth影响 Cavas的Render Mode都是Screen Spa
1,当有多个 canvas 并且 渲染 模式 都为Overlay。         这种情况下, 渲染 顺序是由 canvas 组件下的Sort Order决定的,值越大的越后 渲染 。 2,当有多个 canvas 并且 渲染 模式 都为Camera。         这种情况下, 渲染 顺序首先由Rendener Camera的Depth值决定,值越大越后 渲染 。         如果Depth值相同,那么由canva
一、Overlay 模式 全称:屏幕空间-覆盖 模式 (Screen Space-Overlay), Canvas 创建出来后,默认就是该 模式 ,该 模式 和摄像机无关,即使场景内没有摄像机,UI游戏物体照样 渲染 屏幕空间:电脑或者手机显示屏的2D空间,只有x轴和y轴 覆盖 模式 :UI元素永远在3D元素的前面 几个相关属性: