添加排序层级


在Unity编辑器的右上角选择Layers 按钮,在下拉菜单中点击Edit Layers…选项,将显示当前Unity的Tags, Sorting Layers,和Layers 编辑选项。

Sorting Layers是Unity中对排序的层级的定义块,在面板中越靠后的排序层级越高。Default 是默认的层级,我们添加First 和 Default 两个排序层级为之后的排序测试做准备。

Canvas

  • 简介
    Canvas 组件作为UI对象的承载组件,也就是说UI的对象将经由Canvas才能绘制到我们的屏幕上,任何的UI对象将必须是Canvas组件对象的子节点,当场景中不存在Canvas组件对象,我们创建一个UI,系统将会创建一个Canvas,并且将该对象添加为其的子节点。

  • UI在Canvas上的渲染顺序

在Canvas中,UI对象的渲染顺序将根据在Canvas中父子关系树状渲染,1,2 处于同级关系,因为2在面板中靠后,所以将先渲染 1,1的子节点3,再渲染 2。

  • RenderMode(画布渲染模式)
    前面介绍的是UI对象在画布上的渲染顺序,那么画布在场景中的绘制顺序将由画布的渲染模式决定。

    1. Screen Space - Overlay 模式

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

      那么当场景中有多个覆盖模式的画布,它们怎么确认谁的层级更高呢?
      在覆盖模式下,有一个Sort Order的属性,它是一个Canvas的排序属性,是一个int类型,当他的数值越到,那么Canvas的层级也就越高。

    2. Screen Space - Camera 模式

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

      为什么要有两个填满空间的画布模式呢?
      覆盖模式下是不需要相机的,也就是它的顺序跟我们的世界是无关的,我们没办法控制画布和2D的物体的渲染先后层级,它总是在2D物体的上面。引入相机模式也是为了让我们的画布可以与2D物体去做层级上的调整。

    3. World Space 模式

      世界控件模式,在此模式下,画布被视为与场景中其他普通游戏对象性质相同的游戏物体。
      为什么要引入世界模式
      前两种模式都是覆盖屏幕的,随着分辨率的调整,他们也会不断的调整画布的大小以充满屏幕,而我们可能需要一个固定大小的画布,所以引入了世界控件的模式

    上述Screen SpaceWorld Space 模式的排序层级通过设置SortingLayer 和 Order in Layer的值来确定,在SortingLayer 不同情况下,靠后的层级越高,当SortingLayer 一致的时候,将根据Order in Layer(层级上的排序)的数值越大,排序层级越高。

Unity渲染顺序(1)相关推荐

  1. Unity渲染顺序解析

    Unity渲染顺序 Unity引擎中影响渲染顺序的因素有: Camera Depth 透明.不透明物体分隔 同一个相机下 Sorting Layer Order In Layer RenderQueu ...

  2. Unity 渲染顺序

    Unity中的渲染顺序自上而下大致分为三层 渲染优先级 Camera depth > Sorting Layer > Order in Layer > RenderQueue Cam ...

  3. Unity渲染顺序(2)

    Camera 除了Screen Space - Overlay(屏幕空间覆盖模式)下的Canvas,场景中的其他物体需要渲染到屏幕中,都需要在指定的相机的绘制下.场景中可以创建多个相机,每个相机所拍摄 ...

  4. Unity渲染顺序文章收集

    UnityShader中的透明渲染 - 知乎 透明效果(二)-- (半)透明物体的渲染顺序_朽木zi的博客-CSDN博客_unity半透明渲染顺序

  5. Unity 中渲染顺序的理解以及一些坑点 以及2.5D游戏中的渲染排序解决方案

    1.ZTest & ZWrite ZTest:深度测试,开启后测试结果决定片元是否被舍弃,可配置  ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置 ZTest可设置的测 ...

  6. Unity中的物体渲染顺序

    big seven 文章目录 前言 一.摄像机渲染 二.划分渲染队列 三.不透明物体的渲染 四.透明物体的渲染 五.UGUI元素的渲染 总结 前言 Unity中物体的渲染顺序 提示:以下是本篇文章正文 ...

  7. Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要)

    Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要 写在前面 实验场景 实验1:红(不透明)+蓝(不透明)+默认渲染顺序(先渲染蓝Cube) 实验2:红(不透明+优先渲染)+蓝( ...

  8. Unity UI层元素渲染顺序

    今天做项目,做了一个UI界面,但是效果感觉很怪,本来作为背景图的iamge,结果蒙在了其他控件的上面. 百思不得解,问了同事才知道,Unity的UI元素有渲染顺序的差异,后渲染的元素自然就会覆盖在上面 ...

  9. unity渲染层级关系小结

    http://blog.csdn.net/meegomeego/article/details/42060389 最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这 ...

最新文章

  1. js调用浏览器的下载框
  2. Java hibernate假外键_java – Hibernate:没有实体类的外键,只能通过id
  3. ubuntu 12.04 eclipse 安装
  4. 美元指数DXY短线走高10逾点,现报90.77
  5. 发现身边90%的朋友都是负债累累,是什么情况?
  6. Python学习 Day7 Python3 函数
  7. Java发令枪ConcurrentExecutor之控制线程数,并发数
  8. 在现有集群环境下动态增加(下架)新的节点
  9. 面经 | NLP算法岗(百度)
  10. 个人项目之电商秒杀系统总结
  11. 【OpenCV学习笔记】【函数学习】七(改变图像尺寸)
  12. Java实现个人博客系统(附下载源码)
  13. 割平面法 matlab,割平面法matlab
  14. 贪吃蛇代码c语言100行,贪吃蛇代码-C语言.doc
  15. 渣男论(跟技术无关,随笔而已)——一蓑烟雨任平生
  16. 服装进销存软件哪个好?十大优质服装进销存管理软件排名
  17. 湘源控规7.0安装 详细图文教程
  18. 全球及中国紧急警报系统EAS行业竞争格局及市场前景预测分析报告2022-2028年
  19. 如何快速爬取一个网站所有图片链接
  20. vscode注释代码后无法将其折叠,在注释掉的代码前后分别加上//#regin和//#endregion

热门文章

  1. Linux cut命令详解
  2. 十六进制转八进制(蓝桥)
  3. 非常棒的几款chrome插件
  4. java创建长度为n的数组,神操作!
  5. HDU - 3038
  6. 【AI每日播报】人脸识别315躺枪,支付宝、商汤、云从等纷纷回应
  7. 模仿学习--技术综述
  8. 使用神经网络进行皮肤癌的诊断
  9. html表格边框void,绘制HTML表格边框
  10. Python frozenset集合