第一:UGUI中:

一、条件:Render Mode都是Screen Space-Camera时的渲染顺序

1.遵循刷油漆规则

2.依次由Render Camera的Depth值、Sorting  Layer先后顺序、Order in Layer值决定

Render Camera不同时,由Render Camera的Depth决定

Render Camera相同时,由Sorting Layer先后顺序决定

Render Camera相同时,Sorting Layer相同,由Order in Layer值决定。

二、1.OverLay模式,永远覆盖在其他物体之上。出现在最上面。不受摄像机的Depth值影响。

2.有多个摄像机时,由摄像机的Depth值决定

3.只有一个摄像机时,由距离和方向决定World模式和Camera模式、它们的渲染结果 可前、可后、可穿插。

三、条件:同一个Canvas下,UI对象在Hierarchy窗口中越往上越先渲染,越往下越后渲染。

第二:所有的渲染:

Unity中的渲染顺序自上而下大致分为三层。 最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相机(具体的覆盖关系有don't clear, solid color等等几种)

比Camera层稍低一层的是sorting layer层, 随便找一个可以设置sorting layer的地方,选择sorting layer,点添加按钮,就可以看到当前所有的sorting layer,并且可以更改sorting layer的顺序,排位靠后的sorting layer会覆盖排位靠前的sorting layer。 设置好sorting layer的相互关系之后,就可以给任何一个继承于Renderer类,或者有renderer的子类作为field的对象设置sorting layer了。 注意这些sorting layer的遮挡关系是在同一个camera的层级下的。 不同camera下的renderer渲染顺序以camera的depth为准。 有的component的sorting layer可以直接在unity editor里面设置,比如Sprite Renderer。 有的则需要用代码来设置,比如设置Particle system的sorting layer, 就需要在代码中取到 ParticleSystem.Renderer.SortingLayer 来进行设置。

比sorting layer再低一层的是sorting order, 这个数字指代的是在同一个sorting layer下的渲染顺序,用法很明显就不赘述了。

需要注意不要混淆的是gameobject的layer,和renderer的sorting layer。 gameObject的layer个人理解是一个逻辑上的分层,用于camera的culling mask等。 而renderer的sorting layer则用于渲染。只有继承与renderer或者有renderer作为filed的component才需要设置sorting layer。

另外需要指出的是,常用的NGUI的widget depth其本质也是一个sorting layer下的sorting order。 NGUI好像用的是一个叫做“UI"的sorting layer。 由此大家如果有需要,也可以自己取Hack NGUI的代码,把NGUI的sorting layer暴露出来供自己定制。

简单总结一下,决定Unity渲染关系的层级顺序是:

Camera         //在不同的Camera中,渲染顺序由Depth决定,depth值越低,越先渲染,值越高,

越后渲染。

sorting layer    //在相同的Camera下,越在上层,越先渲染,越在下层,越后渲染。

sorting order    //在相同的 sorting layer下,值越小,越先渲染,值越大,越后渲染。

Unity渲染层级关系相关推荐

  1. unity渲染层级关系小结

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

  2. unity 渲染层级详解

    1  Camera  Camera是unity中最优先的渲染顺序控制.depth越大,渲染顺序越靠后. 2.Sorting Layer 在Tags & Layers设置中可见 3.Order ...

  3. Unity UGUI NGUI 模型 粒子特效 三者之间 渲染层级设置

    目录 1.介绍两大UI插件NGUI和UGUI  2.unity渲染顺序控制方式  3.NGUI的控制  4.UGUI的控制  5.模型深度的控制  6.粒子特效深度控制  7.NGUI与模型和粒子特效 ...

  4. [Unity]UGUI和特效MeshRender渲染层级问题

    相信点到这里进来的老哥们,八成也是遇到了我这样的问题: 美术做了一个特效,这个特效可能是粒子,也可能是一个MeshRender.然后策划想让这个特效显示在Image A上面,Image B下面. 就是 ...

  5. Unity 之 UGUI 图片 和 粒子特效显示层级关系调整

    Unity 之 UGUI 图片 和 粒子特效显示层级关系调整 通常我们使用UGUI时都是通过调整UI的先后顺序或者父物体的层级关系,可是当我使用到粒子特效和Image一起的时候发现光修改层级关系是达不 ...

  6. 【游戏开发实战】Unity粒子在UI界面中的裁切、蒙版、层级问题的解决(ScrollView裁切、Mask蒙版、UI粒子层级关系)

    文章目录 一.前言 二.最终效果 三.使用方法 1.引入插件dll 2.制作粒子特效 3.粒子材质球使用UIAdditive.shader 4.将粒子摆放在UI节点下 5.挂UIParticle组件 ...

  7. UGUI优化(三)Hierarchy层级关系导致DrawCall升高

    上文提到不同UI之间的交叉重叠是产生OverDraw的主要原因.那么除此之外是不是还有别的影响呢,答案是肯定的,本文就做个简单的实验. 前提: 场景中没有skybox,去除所有摄像机效果,只有一个Ca ...

  8. UITableView 调整 Header 层级关系

    UITableView 的 Header如何嵌在第一个 Cell 下面 为什么要调整层级关系 还用问嘛,当然是产品经理拿着四十米大刀告诉你我就要这个效果. 橙色 View 为轮播滚动效果. 一眼看过去 ...

  9. Unity渲染教程(九):复杂材质 https://www.jianshu.com/p/5e3af869870f

    Unity渲染教程(九):复杂材质 https://www.jianshu.com/p/5e3af869870f 同样的着色器,不同的贴图 用户界面 到目前为止,我们一直都为我们的材质使用Unity默 ...

最新文章

  1. Druid 内置Filter配置
  2. linux日常管理3
  3. fast.ai_使用fast.ai自组织地图—步骤4:使用Fast.ai DataBunch处理非监督数据
  4. 2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口
  5. 一个springboot能支持多少并发_跑滴滴一个月能挣多少?-好不好
  6. c语言显示数字p1=0x5b,模拟计算器数字输入及显示
  7. new 对象时的暗执行顺序
  8. Jquery取得iframe中元素的几种方法(转载)
  9. 8086汇编语言显示一串字符串中ASCII码最大的一个字符
  10. 显示器信号接口的发展历程
  11. 51Nod1601 完全图的最小生成树计数 Trie Prufer编码
  12. python按照日期筛选excel_用python判断Excel单元格格式为输出日期(日期字段位置不固定)的,按datetime格式输出日期(而非float)_python excle 日期列...
  13. python滚动条翻页爬取数据_scrapy实践之翻页爬取的实现
  14. 一次性说清楚秒验(本机号码一键登录)
  15. shadow dom
  16. 如何取消html5微信页面授权,微信授权登录网页管理在哪里看?如何取消授权
  17. 剑指Offer——银行考试
  18. 分数排名 mysql_MYSQL分数排名
  19. Word编辑页码不从第一页开始
  20. 位置定位(LocationManager)

热门文章

  1. 学会使用交互式命令行
  2. 【网络词典】端口大全
  3. 2019年伯克利大学 CS294-112《深度强化学习》第2讲:监督学习和模仿学习(笔记)
  4. vue移除事件绑定 Orz
  5. GitLab 部署及初始化
  6. int数据类型的取值范围
  7. 芝麻分从本地mongo中获取有效数据工具
  8. 【Java新人学习指南】Java基础知识点大梳理
  9. 读取文件名,写入execl
  10. Excel导入sql语句模板,解决转换时间戳问题