写在前面

之前只对UI内部的层级关系有运用,对于各类物体(3D物体、UI、粒子特效等)之间的层级关系没怎么了解过。最近为了解决UI与特效的层级关系,特意学习了一下,现在总结一下自己的认知。

测试版本:Unity5.6.6f2

我的结论

先上我的总结:
• 不透明物体之间的遮挡关系按照前后关系(相对摄像机)相互遮挡
• 不透明物体与透明物体之间的遮挡关系也是按照按照前后关系(相对摄像机)相互遮挡
• 透明的物体之间的相互遮挡关系与Sorting Layer、Order in Layer、Render Queue都有关系,且优先级 Sorting Layer > Order in Layer > Render Queue,三种相同时,根据物体实际前后关系(相对摄像机)相互遮挡

基础认知

1 不要混淆Sorting Layer和Layer

2 可以使用Sorting Group设置

UI和粒子可以使用其自身的设置对Sorting Layer和Order in Layer进行设置,而对于其他物体可以使用Sorting Group组件修改设置,或者自行通过代码获得Renderer后进行修改

3 Render Queue

对于Render queue我们容易遗漏的一个就是2500的GeometryLast,这是不透明与透明物体的渲染队列的分界线,小于等于2500的队列用于不透明的物体,大于2500的队列用于透明物体。我们通过Frame Debugger查看可以发现渲染的时候有一个不透明渲染流程和一个透明渲染流程。不透明物体的状态变化少,区分开来渲染效率会更高,而透明物体的渲染较为复杂,仅仅通过一个Render Queue无法满足需求,因此又有Sorting Layer 和 Order In Layer两个参数来组合设置。


Last render queue that is considered “opaque”.

Render queues in [0, GeometryLast] range are treated as opaque objects (sorted to reduce render state changes), whereas queues in [GeometryLast+1, 5000] range are treated as semitransparent objects (sorted back-to-front).

测试流程

测试就不详述了,就是不断修改这些影响因素,根据得到的结果的不同进行总结。

参考资料

https://qxsoftware.github.io/Unity-Rendering-Order.html
https://www.jianshu.com/p/7a033810706f
https://docs.unity3d.com/560/Documentation/Manual/SL-SubShaderTags.html

Unity中的物体遮挡关系(一)——基础认知相关推荐

  1. Unity中的物体渲染顺序

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

  2. [教程] 在Unity中制作物体破碎效果

    这篇教程将教大家如何在Unity中制作一个简单的碎片效果.当物体撞击或销毁时,我们将物体分裂为更小的碎片来取代之前的仅仅直接"删除"物体. 需求 这篇教程需要最新版本的Unity, ...

  3. Shader实战(1):Unity中使物体不受光照影响(不区分明暗面)

    目录 前言 一.原场景效果 二.操作流程 三.效果演示 前言 在做项目时碰到需要在一个有光照场景中使某一个模型不受光照影响,即不区分明暗面,因此本文记录如何修改shader使模型在有光照的情况下不区分 ...

  4. unity中使物体无缝连接的方法

    有时候我们创建了两个物体,想使之无缝连接.如果一点一点调试未免太过繁琐,而且很难达到理想的效果.那么这时,我们可以用unity自带的方法来实现. 这里,我们用两个cube物体来做示范: 第一个方法: ...

  5. 在unity 中ZED物体追踪与人物识别无法使用

    ZED物体追踪与人物识别无法使用 https://www.stereolabs.com/developers/release/ 上面是ZED的SDK下载地址,可以找到unity包的下载:对应的 cub ...

  6. Unity中父子物体的坑

    如果父物体的位置为0时,则Inspector面板上子物体的参数就是子物体的世界坐标. Cube2的世界坐标为(2,0,0). 如果父物体的位置不为0时,则Inspector面板上子物体的参数就是子物体 ...

  7. Unity VR开发中UI始终优先渲染不被物体遮挡

    Unity VR开发中UI始终优先渲染不被物体遮挡 在用Vive开发VR的时候,3DUI很容易被场景中的物体遮挡,解决办法是使用一个Shader:Overlay.shader,这个shader很好找, ...

  8. 解决SolidWorks模型导入Unity中出现多层父物体的问题

    经验来源于博主 HDarker. 一.问题描述 在将SolidWorks等软件绘制的模型导入Unity中时,会出现多层父物体的问题,如下图所示. 下面介绍一种解决办法. 使用的软件是SolidWork ...

  9. 王者荣耀是怎样炼成的(二) 王者荣耀 unity安装及使用的小白零基础入门

    工欲善其事,必先利其器. 上回书<王者荣耀是怎样炼成的(一)<王者荣耀>用什么开发,游戏入门,unity3D介绍>说到,开发游戏用到unity和C#.本篇博客将从零开始做一个u ...

最新文章

  1. 十分钟了解算法面经:百度,寒武纪,作业帮,科大讯飞等常面问题
  2. Python基础之循环语句
  3. 【MCtalk直播】全面复盘直播答题,深度剖析产品架构的难点与坑
  4. 最大熵学习笔记(六)优缺点分析
  5. Workspace in use or cannot be created, choose a different one.--错误解决办法
  6. 被冻结的钱,银行可以私自处理吗?
  7. c语言字符串匹配函数index,C语言(函数)学习之index、rindex
  8. 查看文件二进制编码_小白也能学会系列:用python文件读写代码实例!(简单案例)...
  9. UML学习笔记(六)【状态图】
  10. android ffmpeg编译so,Android FFmpeg学习(一),将FFmpeg编译成so文件
  11. centos 5.11 mysql_CentOS 5.11rpm方式安装mysql
  12. 【Deep Learning 五】课程二(mproving Deep Neural Networks),第一周(Setting up your Machine Learning Applicat)答案
  13. 四叶草社交平台——十天冲刺(7)
  14. 龙腾P2P流媒体点播系统商业计划书
  15. 小米android点击,自动点击器小米版
  16. AI智能电子名片开发
  17. Photoshop cc 2019 破解教程
  18. Win10首次开机设置
  19. 很强大 转自猫扑 好男人=“破鞋专业户”
  20. 嵌入式 IIC(I2C)协议

热门文章

  1. 华硕笔记本节能证书_有这本证书的人恭喜啦,国家正式要求,企业必备
  2. 【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)
  3. 大厂面试爱问的HashMap死锁问题,看这一篇就够了
  4. 简易五子棋单机版(tkinter)
  5. 踔厉奋发,笃行不怠——2022年度引迈信息年终总结
  6. 利用python求循环小数(UVa202)
  7. Selenium Java启动国内Chromium系浏览器360、QQ等
  8. d3js 实现水球图
  9. Linux数据恢复工具之extundelete
  10. DSP学习(一)GPIO操作