http://blog.csdn.net/meegomeego/article/details/42060389

最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来。

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

sorting layer

sorting order

转载于:https://www.cnblogs.com/alps/p/7078653.html

unity渲染层级关系小结相关推荐

  1. Unity渲染层级关系

    第一:UGUI中: 一.条件:Render Mode都是Screen Space-Camera时的渲染顺序 1.遵循刷油漆规则 2.依次由Render Camera的Depth值.Sorting  L ...

  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. CWE视图层级关系解析:节点关系查询

    依据<CWE视图层级关系的解析 之 CWE节点的存储和定义> 中对CWE在xml文件中存储的结构和定义的描述.我们将CWE存储在xml文件中的信息转换到数据库中.数据库采用了轻量级的SQL ...

最新文章

  1. C++ 输入输出流 文本文件 二进制文件读写
  2. 在Servlet中向客户端写Cookie信息
  3. Jupyter notebook中用python matplotlib ax3.plot_surface绘制的三维图(3D图)(三维函数)无法旋转解决办法(%matplotlib notebook)
  4. 深度解析 | 基于DAG的分布式任务调度平台:Maat
  5. MongoDB 4.2 新特性解读
  6. python基础(14)之 类和对象
  7. 基于android的交流平台,基于Android的移动学习交流平台的设计与实现
  8. A. 抽象类和抽象方法(abstract)
  9. java web 局部刷新页面_如何实现页面局部刷新(Java)
  10. 打开ps显示计算机内存不足怎么办,电脑PS提示内存不足怎么解决
  11. EPP (Enhanced Parallel Port 增强型并口)
  12. 湖南大学计算机专业推免生,湖南大学2018年招收推荐免试攻读研究生简章
  13. cad看图软件哪个更好用(免费cad看图软件推荐)
  14. 如何快速判断页面是服务端渲染还是客户端渲染
  15. 新经济的蛀虫——互联网大厂反腐那些事
  16. javaScript的时间操作
  17. 【Mybatis源码】源码分析
  18. imagecreatefromjpeg():gd-jpeg:JPEG
  19. 第二届全国高校计算机能力挑战赛-Java程序设计赛
  20. 区块链开发之BTC离线签名

热门文章

  1. python批量改名_Python写个批量改名工具
  2. eclipse的tomcat如何运行自动弹网页_如何在 3 天内零成本完成 AI 小程序开发
  3. 如何让项目一步步走向灭亡
  4. TreeMap源码分析
  5. Swfit 常用特性(Attribute)关键字
  6. (0084)iOS开发之测试iOS远程消息推送
  7. IIS设定 CORS 跨域请求(跨域)
  8. 【深入浅出-JVM】(序)
  9. maven中snapshot版本和正式版本的区别
  10. Linux 下 的 cc 和 gcc