今天在写shader的时候发现这样一个问题:将一个不透明物体(该物体的queue为geometry或者background)的Zwrite设置为Off后,拖入一个空的场景,发现这个物体并不能够在场景中渲染出来。只有当queue的值为tranparent以上的时候(即render queue的值为3000以上)才可以在场景中出现。然后通过frame profile检测了一下渲染序列,并通过google查看了相关讨论,发现在unity5.x之后skybox的渲染顺序发生了变化。目前的渲染顺序为2500.5,在所有的opaque物体渲染完了以后才进行天空盒的渲染。

这时回到之前的问题,拖入场景的物体此时已经渲染完毕,并且因为zwrite off的缘故,在深度缓存中没有该物体的信息。之后进行skybox的渲染。skybox的渲染对于ztest是采用的默认设置,由于物体处的z值没有经过改变,还是最大值1,所以skybox的深度测试通过,将skybox的颜色写入颜色缓冲区内,也就是说把之前物体的渲染结果给覆盖掉了,从而产生了以上现象。

解决办法就是将该物体的zwrite off改为on,或者将render queue的值改为>2500。

总结一下渲染顺序就是:geometry--->skybox----->transparent/overlay。在geometry渲染的物体,不能将深度写入关闭,否则就会被skybox给遮挡住。

Unity天空盒渲染顺序及shader中的zwrite的设定相关推荐

  1. 【Unity】环境光探究,在shader中如何计算 : Ambient Color, Sky Color, Equator Color, Ground Color

    环境光 接触过光照模型的小伙伴肯定对环境光不陌生,比如phong光照模型,渲染结果就是下面几项的线性叠加: 环境光+漫反射+高光 而一般情况我们在Shader中计算环境光也是简单的不能再简单了,直接可 ...

  2. Unity 修改画面渲染顺序的几种实现方案

    首先看下Unity的渲染层级关系以及提供的各种默认渲染队列,然后再去看具体实现方案. 先按大项条件排序,后按小项条件排序 1.Camera Depth: 越小越优先 2.RenderQueue 250 ...

  3. Unity 渲染顺序

    Unity中的渲染顺序自上而下大致分为三层 渲染优先级 Camera depth > Sorting Layer > Order in Layer > RenderQueue Cam ...

  4. Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要)

    Unity半透明特效原理讲解(为什么半透明设置渲染顺序和深度写入这么重要 写在前面 实验场景 实验1:红(不透明)+蓝(不透明)+默认渲染顺序(先渲染蓝Cube) 实验2:红(不透明+优先渲染)+蓝( ...

  5. Unity渲染顺序解析

    Unity渲染顺序 Unity引擎中影响渲染顺序的因素有: Camera Depth 透明.不透明物体分隔 同一个相机下 Sorting Layer Order In Layer RenderQueu ...

  6. Unity渲染顺序(1)

    添加排序层级 在Unity编辑器的右上角选择Layers 按钮,在下拉菜单中点击Edit Layers-选项,将显示当前Unity的Tags, Sorting Layers,和Layers 编辑选项. ...

  7. UnityShader RenderTypeQueue 渲染顺序

    整理自这两篇博文 https://blog.csdn.net/u013477973/article/details/80607989?depth_1-utm_source=distribute.pc_ ...

  8. Unity 中渲染顺序的理解以及一些坑点 以及2.5D游戏中的渲染排序解决方案

    1.ZTest & ZWrite ZTest:深度测试,开启后测试结果决定片元是否被舍弃,可配置  ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置 ZTest可设置的测 ...

  9. Unity中的物体渲染顺序

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

  10. 【Unity天空盒】卡通渲染中如何实现云的消散效果

    写在前面 完成大气渲染之后,接下来就是考虑云渲染了.因为我想做的天空盒本身是想跟着这位大佬Unity 卡通渲染 程序化天空盒 - 知乎里叙述的进程来的,里面云实现的是原神里的云,原神又是在崩3的基础上 ...

最新文章

  1. 支付宝支付 第十二集:狂神、飞哥支付宝支付配置代码(免费资源,拿走不谢)
  2. VS集成环境中的JavaScript脚本语法检查
  3. element中el-image怎样显示图片
  4. OutOfMemoryError:解决方案反模式
  5. c语言循环10次代码,C语言教学(七-上)for循环
  6. 统计Linux服务器连接数
  7. 使用wsimport构建WebService客户端
  8. 山东大学电路分析实验1 万用表的使用
  9. HTML注册表单的页面制作
  10. 【Python】将xls格式转换为xlsx格式
  11. 找出大于200的最小的质数
  12. 一文了解成分句法分析
  13. 记录一个dell服务器的系统重装
  14. 银行的总行,营业部,支行,分理处有什么样的关系
  15. Chrome 浏览器调试的日常使用总结
  16. vue created和mounted区别
  17. 对抗样本学习笔记:Adversarial Examples: Attacks and Defenses for Deep Learning
  18. MPS | 简单易用的工业电源模块
  19. 一文读懂 HTTP 协议的演化历程
  20. 翻译小程序源码1.2最新版

热门文章

  1. 企业IT治理样板间首次直播,教您如何打造高效可控的云环境
  2. 0-Day CI : 我是Linux内核质检员
  3. java 向后台传两个json数据类型_前台向后台传递JSON字符串,处理JSON字符串类型的方法...
  4. 【瑕疵检测】基于matlab GUI OTSU织物疵点检测【含Matlab源码 860期】
  5. 【路径规划】基于matlab GUI D_star算法最短路径规划【含Matlab源码 634期】
  6. vue 请求嵌套_vue和jQuery嵌套实现异步ajax通信
  7. 使用github找资源
  8. (PyTorch0.4.0) TypeError: 'NoneType' object is not iterable
  9. 第一章计算机基础知识作业答案,计算机基础作业题1答案
  10. java list 超出范围_java.sql.SQLException参数索引超出范围(1参数个数,即0)