1  Camera 
Camera是unity中最优先的渲染顺序控制。depth越大,渲染顺序越靠后。

2、Sorting Layer
在Tags & Layers设置中可见

3、Order In Layer
相对于Sorting Layer的子排序,用这个值做比较时只有都在同一层时才有效。
4、RenderQueue
Shader中对Tags设置的“Queue”。

当Sorting Layer和Order In Layer相同时
RenderQueue小的先进渲染管线。

当Sorting Layer和Order In Layer不相同时!
当两个材质使用了不同的RenderQueue,且这两个RenderQueue都在[0~2500]或[2501~5000]时,SortingLayer和OrderInLayer的排序生效。

当两个材质使用了不同的RenderQueue,且这两个RenderQueue分别在[0~2500]和[2501~5000]时,则一定会按照RenderQueue绘制,无视SortingLayer、OrderInLayer的排序

5、 MeshRenderer 和SpriteRenderer 都是继承于 Renderer 的组件 
它们的 sorting 和 orderinlayer 都是暴露出来的属性  可以在属性视图修改
模型蒙皮  skinned mesh render 虽然也继承了 Renderer 但在属性视图没有出现该属性    一般只能更改蒙皮的shader  RenderQueue  调整默认sorting layer 和 Orderinlayer下 和其他物体的层级
所以一般设置材质的renderQueue或直接在shader中设置。

在ShaderLab中,有4个提前定义好的render queue,你可以设置更多的在他们之间的值:
Background :表示渲染在任何物体之前 
Geometry(default):渲染大多数几何物体所用的render queue 
AlphaTest:用于alpha测试 
Transparent:用于渲染半透明物体 
Overlay:渲染所有物体之上

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果混用 2DUI 和 模型  模型又穿插在两个 NGUI panle中间  不通过增加摄像机数量来解决的话应该怎么办:
默认情况下 游戏中只有一个默认的 sorting layer , 和一个默认的 OrderInLayer 。 所有物体都在一个 sorting layer 和
OrderInLayer 下面  ,
这时候设置渲染顺序的方式就是通过更改 RenderQueue ,较小的先渲染  ,   Ngui panle 会默认根据drawcall 优化操作 设置当前panle下的ui RenderQueue (一般是3000起)。

Automatic:由NGUI自动生成 
StartAt:手动设置一个值 
Explicit:同一个panel下的RenderQueue的值相同

看代码可以理解一下,UIPanel.cs

而使用 skinned mesh render , 则是更改使用材质处shader 的 skinned mesh render ,  设置值在两个panle  RenderQueue 之间就行了。

如果是使用龙骨和spine 动画还有粒子系统的话, 层级控制就只能在默认 sorting layer 下更改 龙骨、 spine、粒子系统的 orderinlayer ,    再打开 ngui panle 上的 oder in layer 选项,   通过设置3者之间的oder in layer值调整顺序就好了 。

再加上 使用skinned mesh render 蒙皮的模型的话,在开启ngui panle的 oder in layer 后,  由于模型默认在最低的 order in layer 下,此时 ,再怎么调整模型的 shader RenderQueue 模型都不会渲染到最上面,解决办法是:
通过脚本获取 模型 skinned mesh render 的  oderinlayer 参数,  并修改它的值穿插在各层之间

(1 性能上可能增加drawCall 还未具体测试过 , 模型是不是这样修改渲染层级我也不知道 ,没怎么用过 ,这只是我自己的解决方案。 2 还于到一个情况  ,如果Ngui的panle  打开了Oder in layer 选项而又 设值为0 的情况下  ,该panle下的对象 可能渲染到最上层,原因可能要看代码了)。

unity 渲染层级详解相关推荐

  1. 零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏

    零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏 六大推荐理由 理由一:系统 理由二:详细 理由三:专业 理由四:图解 理由五:深度 理由六:实例 一键直达:<UGUI 控件详解 ...

  2. Unity动画系统详解3:如何播放、切换动画?

    摘要:[长文预警,建议先收藏]有了模型和多个动画以后,在Unity中如何控制它们的播放和切换呢?本文带你一站式解析Unity的Animator模块. 洪流学堂,让你快人几步.你好,我是跟着大智学Uni ...

  3. unity导出面板详解(pc版)

    unity导出面板详解(pc版) 目录 Resolution and Presentation(分辨率和显示) Fullscreen Mode(全屏模式) 全屏模式 参数 功能 Fullscreen ...

  4. Unity动画系统详解7:Layer是什么?

    摘要:使用Layer可以用来管理角色的不同身体部位.比如下半身用于行走或跑步,上半身用于射击或投掷物体. 洪流学堂,让你快人几步.你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu) ...

  5. vue.js循环for(列表渲染)详解

    vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...

  6. Unity动画系统详解10:子状态机是什么?

    摘要:除了使用Layer还有没有更好的组织状态的方式呢?感觉一个Layer里面状态多的时候,还是很显得很乱. 洪流学堂,让你快人几步.你好,我是跟着大智学Unity的萌新,我叫小新,这是复(yu)习( ...

  7. Unity动画系统详解9:Target Matching是什么?

    摘要:在游戏中,经常有这种情况:角色的手或者脚需要在特定时间放在特定的位置.比如角色需要用手撑着跳过一个石头或一堵墙,或者跳起抓住房梁.Target Match就是让动画的特定片段去匹配特定的位置. ...

  8. Unity动画系统详解5:BlendTree混合树是什么?

    摘要:"Animator中有一个功能,用来解决多个动画之间的混合,经常用于移动动画之间的混合,这个功能叫做BlendTree,混合树." 洪流学堂,让你快人几步.你好,我是跟着大智 ...

  9. 云渲染一张图贵吗?渲染问题详解

    我们知道使用云渲染可以个高效快捷的渲染工程项目文件,节省很多时间,广受CG行业人员的喜爱,而且也相信有很多小伙伴经常会有疑问:云渲染一张图多钱?今天,就随云渲染小编一起来了解清楚这些问题... 一.云 ...

最新文章

  1. 通信电子线路期末复习第一章和第二章上
  2. 技术面试老是有劲使不出,该怎么办?
  3. LeetCode——Same Tree(判断两棵树是否相同)
  4. Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用
  5. gradle 2.1构建android出现错误的解决方案
  6. console java_Java Console writer()方法与示例
  7. android红米3调用相机,红米3有什么接口?红米3有HDMI接口吗?
  8. 性能优化之节流、防抖
  9. 零基础 Amazon Web Services (AWS) 入门教程 (列表)
  10. 在一台机器上使用gluster
  11. 【数学建模】基于matlab模拟十字路口车辆通行【含Matlab源码 1106期】
  12. 想用数据库“读写分离”,请先明白“读写分离”解决什么问题
  13. python实现图书借阅管理系统
  14. VC dimension(Vapnik-Chervonenkis dimension)
  15. 九大内置对象的作用以及应用场景
  16. 卡尔曼滤波原理详解及系统模型建立(simulink)
  17. Linux丢包故障的解决与思路
  18. 基于51单片机的多线程操作系统设计
  19. 计算机中解决不匹配,电脑显示屏显示不匹配.怎么办
  20. GeeM2引擎弹出装备显示框的设置方法

热门文章

  1. ubuntu赋予当前用户root权限
  2. 网约车收费器设计(lunwen+任务书+翻译及原文+答辩PPT+程序+原理图)
  3. 置液晶显示器的台式计算机,能为液晶显示器提供直流电的台式计算机电源的制作方法...
  4. CSS给元素添加边框(样式、颜色、宽度)
  5. HTML 为元素设置边框
  6. Sublime Text3(mac版)上好用的插件
  7. 生成pdf带跳转的书签
  8. Git-error: dst refspec branch matches more than one
  9. ORA-12516错误的处理
  10. java学习数据类型