unity shader tags設置

對於shaderlab中的tags官方給出的解釋是:Subshader使用tag來告訴他們期望如何以及何時將其渲染到渲染引擎。

其中有

Queue(渲染隊列)

確定繪製對象的順序

  • Background-此渲染隊列先於其他任何隊列渲染。您通常會將它用於確實需要在後臺進行的操作。
  • Geometry (默認) -用於大多數對象。不透明幾何使用此隊列。
  • AlphaTest-經過Alpha測試的幾何使用此隊列。它是一個單獨的隊列,Geometry因爲在繪製所有實體後,渲染經過Alpha測試的對象效率更高。
  • Transparent-此渲染隊列以從後到前的順序在Geometry和之後渲染AlphaTest。任何與alpha混合的內容(即不寫入深度緩衝區的着色器)都應放在此處(玻璃,粒子效果)。
  • Overlay-此渲染隊列用於疊加效果。最後渲染的任何東西都應該放在這裏(例如鏡頭光暈)。

舉個例子,這是正常情況

如果你在pass中設置了Blend SrcAlpha OneMinusSrcAlpha(傳統的透明度)但是並沒有在tag中寫入"Queue"="Teansparent",那麼就會出現這種情況

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章