Unity 修改画面渲染顺序的几种实现方案
首先看下Unity的渲染层级关系以及提供的各种默认渲染队列,然后再去看具体实现方案。
先按大项条件排序,后按小项条件排序
1.Camera Depth: 越小越优先
2.RenderQueue 2500以下
1. Sorting Layer/Order in Layer
1. 按照Sorting Layer/Order in Layer 设置的值,越小越优先
2. 无此属性,等同于 Sorting Layer=default ,Order in Layer=0 参与排序 2.RenderQueue 越小越优先
3.RenderQueue 相等,由近到远排序优先
3.RenderQueue 2500以上
1. Sorting Layer/Order in Layer
1. 按照Sorting Layer/Order in Layer 设置的值,越小越优先
2. 无此属性,等同于 Sorting Layer=default ,Order in Layer=0 参与排序 2.RenderQueue 越小越优先 3.RenderQueue 相等,
实现方案举例:
1.添加Overlay模式相机,添加layer层级,设置对应相机要渲染的模型层级;修改相机Depth(也就是在Base Camera中的顺序)
2.对应SpriteRender或Canvas下的UI等,修改Sorting Layer及Order in layer的值,越大越后渲染,即显示在前面。
3.对于3D物体,保证其材质Shader的Surface Type模式为Transparent,然后修改Render Queue(或Lit中的Priority),值越大的越后渲染,也就是会在画面最前面。
4.对于3D物体,保证其材质Shader的Surface Type模式为Transparent,且渲染队列值一致时,也可通过添加Sorting Group组件,设置其Sorting Layer。
5.对于非Transparent模式的3D模型(Opaque),修改以上不会生效,需要额外修改遮挡关系及深度数据等,具体实现后续再补充吧...
Unity 修改画面渲染顺序的几种实现方案相关推荐
- Unity中的物体渲染顺序
big seven 文章目录 前言 一.摄像机渲染 二.划分渲染队列 三.不透明物体的渲染 四.透明物体的渲染 五.UGUI元素的渲染 总结 前言 Unity中物体的渲染顺序 提示:以下是本篇文章正文 ...
- Unity 渲染顺序
Unity中的渲染顺序自上而下大致分为三层 渲染优先级 Camera depth > Sorting Layer > Order in Layer > RenderQueue Cam ...
- Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要)
Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要 写在前面 实验场景 实验1:红(不透明)+蓝(不透明)+默认渲染顺序(先渲染蓝Cube) 实验2:红(不透明+优先渲染)+蓝( ...
- UnityShader RenderTypeQueue 渲染顺序
整理自这两篇博文 https://blog.csdn.net/u013477973/article/details/80607989?depth_1-utm_source=distribute.pc_ ...
- uefi下的开机顺序_动态修改UEFI启动顺序的方法与流程
本发明涉及计算机领域,其主要 技术实现要素: 是动态修改UEFI启动顺序的方法. 背景技术: 固件是固化在Flash芯片中的软件程序.BIOS是计算机中最重要的固件之一,用于初始化硬件.管理硬件资源. ...
- Unity 中渲染顺序的理解以及一些坑点 以及2.5D游戏中的渲染排序解决方案
1.ZTest & ZWrite ZTest:深度测试,开启后测试结果决定片元是否被舍弃,可配置 ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置 ZTest可设置的测 ...
- Unity渲染顺序(1)
添加排序层级 在Unity编辑器的右上角选择Layers 按钮,在下拉菜单中点击Edit Layers-选项,将显示当前Unity的Tags, Sorting Layers,和Layers 编辑选项. ...
- Unity渲染顺序解析
Unity渲染顺序 Unity引擎中影响渲染顺序的因素有: Camera Depth 透明.不透明物体分隔 同一个相机下 Sorting Layer Order In Layer RenderQueu ...
- Unity UI层元素渲染顺序
今天做项目,做了一个UI界面,但是效果感觉很怪,本来作为背景图的iamge,结果蒙在了其他控件的上面. 百思不得解,问了同事才知道,Unity的UI元素有渲染顺序的差异,后渲染的元素自然就会覆盖在上面 ...
最新文章
- C语言flood fill 泛洪算法(附完整源码)
- android studio turn off hyperv,Android Studio 无法运行模拟器
- 二叉搜索树的插入与删除(C语言)
- 关于Java中被static修饰的静态变量 (类变量)
- 【kafka】kafka 错误代码解释
- 2012总结--第5篇--人脉篇
- JAVA之列表集合ArrayList
- OKHttp原理讲解之基本概念
- vue中使用ue编辑器的一些简易说明
- Vmware安装详细教程
- List of Algorithms
- 完美解决“word无法创建工作文件,请检查临时环境变量”
- 关于BFS和dijkstra(2019.04.20)
- GPT分区规划与各分区作用解析
- 百度盈利模式的弱点在哪里
- OpenCV4萌新之路——详解图像读取函数 “imread”
- 拼多多关键词推广技巧有哪
- ORB-SLAM2代码详解09: 闭环线程LoopClosing
- Vue 下 ESLint 的 error 解决办法
- linux关闭mysql失败_Linux系统mysql访问失败该怎样处理