什么是渲染队列?
unity shader学习笔记 渲染队列和深度测试(Queue和ZText)
举例:有4个队伍抽签谁先吃饭,有4个签,分别是1000,2000,3000,4000,谁抽到的值越小谁就优先进去吃饭。
也就是计算机的显卡优先绘制对象的图形。也就是先画猫?还是先画狗?
什么是深度测试?
首先现实角度上来说。同一水平线上的房子。你看得到离你近的前面的房子,看不到被遮住的后面的房子。计算机会优先绘制离你近的猫!这一次我们不从图形学上来说。我们就从现实来说。
举例:猫队列1000,狗队列2000,
猫先进去画好了,放在桌子上。过后,我画好了狗再放在桌子上,你只会看到狗,猫被狗挡住了,
如果我想让猫显示在前面怎么办?用深度测试。猫离你有10米远。如果把狗放在离你的20米远,猫便可以挡住狗了,
狗离我有20米远,可是我想看见狗怎么办?
你直接把深度测试关了。这样狗直接就会渲染在猫前面。因为关闭深度测试后,就由渲染队列的先后决定是否覆盖。后来的可以覆盖前面的。
所以渲染队列和深度测试能帮我们更方便的控制物体显示器上面的显示!
说的比喻可能不是很准确的,但比较好理解嘛。所以说如果我们想了一个物体始终显示在最前面。首先让他的队列最靠后。然后关闭深度测试。
最后上图,
新建两个正方体1白色(离相机10米远),2蓝色(离相机20米远)和两个着色器,
在2的shader2加上两行代码。
“Queue”=“Geometry+100”(Tags中加)
ZTest Off,(深度测试关闭)
说明:Geometry是unity默认渲染队列2000,加100后,便是2100,还有其他的队列可以自己去官方手册查看。
unity shader学习笔记 渲染队列和深度测试(Queue和ZText)
unity shader学习笔记 渲染队列和深度测试(Queue和ZText)

相关文章:

  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
  • 2021-12-31
  • 2021-11-17
  • 2021-08-07
猜你喜欢
  • 2021-06-07
  • 2021-10-17
  • 2021-12-08
  • 2021-12-23
  • 2021-11-17
  • 2022-01-09
  • 2021-08-21
相关资源
相似解决方案