最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity-ShaderLab:子著色器標(biāo)簽 (SubShader Tags)

2021-04-14 11:03 作者:unity_某某師_高錦錦  | 我要投稿

子著色器使用標(biāo)簽來告知它們期望何時(shí)以何種方式被渲染到渲染引擎。

語法

指定?TagName1?具有?Value1,TagName2?具有?Value2??筛鶕?jù)需要添加任意數(shù)量的標(biāo)簽。

詳細(xì)信息

從根本上說,標(biāo)簽就是鍵/值對(duì)。在?SubShader?中,標(biāo)簽用于確定子著色器的渲染順序和其他參數(shù)。請(qǐng)注意,以下由 Unity 識(shí)別的標(biāo)簽必須位于 SubShader 部分中,不能在 Pass 中!

除了 Unity 可以識(shí)別的內(nèi)置標(biāo)簽外,您還可以使用自己的標(biāo)簽并使用?Material.GetTag?函數(shù)來查詢這些標(biāo)簽。

渲染順序 - Queue 標(biāo)簽

您可以使用?Queue?標(biāo)簽來確定對(duì)象的繪制順序。著色器決定其對(duì)象屬于哪個(gè)渲染隊(duì)列,這樣任何透明著色器都可以確保它們?cè)谒胁煌该鲗?duì)象之后繪制,依此類推。

有四個(gè)預(yù)定義的渲染隊(duì)列,但預(yù)定義的渲染隊(duì)列之間可以有更多的隊(duì)列。預(yù)定義隊(duì)列包括:

  • Background?- 此渲染隊(duì)列在任何其他渲染隊(duì)列之前渲染。通常會(huì)對(duì)需要處于背景中的對(duì)象使用此渲染隊(duì)列。

  • Geometry(默認(rèn)值)- 此隊(duì)列用于大部分對(duì)象。不透明幾何體使用此隊(duì)列。

  • AlphaTest?- 進(jìn)行 Alpha 測(cè)試的幾何體將使用此隊(duì)列。這是不同于?Geometry?隊(duì)列的單獨(dú)隊(duì)列,因?yàn)樵诶L制完所有實(shí)體對(duì)象之后再渲染經(jīng)過 Alpha 測(cè)試的對(duì)象會(huì)更有效。

  • Transparent?- 此渲染隊(duì)列在?Geometry?和?AlphaTest?之后渲染,按照從后到前的順序。任何經(jīng)過 Alpha 混合者(即不寫入深度緩沖區(qū)的著色器)都應(yīng)該放在這里(玻璃、粒子效果)。

  • Overlay?- 此渲染隊(duì)列旨在獲得覆蓋效果。最后渲染的任何內(nèi)容都應(yīng)該放在此處(例如,鏡頭光暈)。

說明如何在透明隊(duì)列中渲染對(duì)象的示例

對(duì)于特殊用例,可以使用中間隊(duì)列。在內(nèi)部,每個(gè)隊(duì)列由整數(shù)索引表示;Background?是 1000,Geometry?是 2000,AlphaTest?是 2450,Transparent?是 3000,Overlay?是 4000。如果著色器使用如下所示的隊(duì)列:

這將使對(duì)象在所有不透明對(duì)象之后渲染,但在透明對(duì)象之前渲染,因?yàn)殇秩娟?duì)列索引值將是 2001(幾何體索引值加一)。如果您希望始終在其他對(duì)象集之間繪制某些對(duì)象,那么這非常有用。例如,在大多數(shù)情況下,透明的水應(yīng)該在不透明對(duì)象之后繪制,但又要在透明對(duì)象之前繪制。

索引值高達(dá) 2500 的隊(duì)列(“Geometry+500”)視為“不透明”,并且會(huì)優(yōu)化對(duì)象的繪制順序以獲得最佳性能。 較高索引的渲染隊(duì)列被認(rèn)為是“透明對(duì)象”并按距離將對(duì)象進(jìn)行排序,從距離最遠(yuǎn)的對(duì)象開始渲染,最后渲染距離最近的對(duì)象。天空盒在所有不透明對(duì)象和所有透明對(duì)象之間繪制。

RenderType 標(biāo)簽

RenderType?標(biāo)簽將著色器分為幾個(gè)預(yù)定義的組,例如,不透明的著色器,或經(jīng)過 Alpha 測(cè)試的著色器等等。著色器替換將使用該標(biāo)簽,在某些情況下還用于產(chǎn)生攝像機(jī)的深度紋理。

DisableBatching 標(biāo)簽

使用繪制調(diào)用批處理時(shí),一些著色器(主要是進(jìn)行對(duì)象空間頂點(diǎn)變形的著色器)不起作用,這是因?yàn)榕幚頃?huì)將所有幾何體轉(zhuǎn)換為世界空間,所以“對(duì)象空間”丟失。

可使用?DisableBatching?標(biāo)簽來指示這一情況。有三個(gè)可能的值:“True”(始終對(duì)此著色器禁用批處理)、“False”(不禁用批處理;這是默認(rèn)值)和“LODFading”(當(dāng) LOD 淡化處于激活狀態(tài)時(shí)禁用批處理;主要用于樹)。

ForceNoShadowCasting 標(biāo)簽

如果提供了?ForceNoShadowCasting?標(biāo)簽并且值為“True”,則使用該子著色器渲染的對(duì)象絕不會(huì)投射陰影。對(duì)透明對(duì)象使用著色器替換并且不希望從其他子著色器繼承陰影通道時(shí),這非常有用。

IgnoreProjector 標(biāo)簽

如果提供了?IgnoreProjector?標(biāo)簽并且值為“True”,則使用此著色器的對(duì)象不會(huì)受到投影器的影響。這對(duì)半透明對(duì)象非常有用,因?yàn)橥队捌鳠o法影響它們。

CanUseSpriteAtlas 標(biāo)簽

如果著色器用于精靈,請(qǐng)將?CanUseSpriteAtlas?標(biāo)簽設(shè)置為“False”,這樣在精靈打包到圖集內(nèi)時(shí),該標(biāo)簽將不起作用,(請(qǐng)參閱精靈打包器 (Sprite Packer))。

PreviewType 標(biāo)簽

PreviewType?指示材質(zhì)檢視面板預(yù)覽應(yīng)如何顯示材質(zhì)。默認(rèn)情況下,材質(zhì)顯示為球體,但也可以將 PreviewType 設(shè)置為“Plane”(將顯示為 2D)或“Skybox”(將顯示為天空盒).


Unity-ShaderLab:子著色器標(biāo)簽 (SubShader Tags)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
金秀| 西昌市| 瑞安市| 墨江| 娱乐| 兴和县| 侯马市| 专栏| 岳池县| 梓潼县| 西平县| 绵竹市| 鹿邑县| 五河县| 吴桥县| 龙陵县| 涪陵区| 齐河县| 邵武市| 翼城县| 得荣县| 曲沃县| 丰城市| 河北区| 德庆县| 克山县| 勐海县| 阜康市| 乐安县| 博乐市| 屏南县| 奎屯市| 本溪| 重庆市| 高碑店市| 平乐县| 观塘区| 建阳市| 青浦区| 广水市| 壤塘县|