日本超碰在线免费看,日本A级不打码按摩片,学生把老师弄高潮视频,一二三四国产精品,久久av色,免费麻豆av,两个男人互操

服務(wù)熱線熱線:

13818745178

九游(ninegame)娛樂中國(guó)官方網(wǎng)頁-企業(yè)入口

行業(yè)洞察

Unity 渲染原理(八)Unity渲染順序和路徑

發(fā)布時(shí)間:2025-06-08點(diǎn)擊次數(shù):

  前面的幾篇博客講了游戲渲染的基本原理和如何在Unity里寫一個(gè)Shader,這篇博客先插入兩個(gè)概念:

  在Unity中我們會(huì)有很多的物體,這些物體是不是同時(shí)渲染,渲染的順序是怎樣的,覆蓋關(guān)系又是怎樣的?我們一起看一下會(huì)影響的一些因素。

  這個(gè)屬性表明的是相機(jī)的深度,如果場(chǎng)景中存在多個(gè)攝像機(jī),深度越大的越靠后,也就是說,深度大的攝像機(jī)的內(nèi)容會(huì)直接覆蓋在深底小的攝像機(jī)的內(nèi)容上。

  相對(duì)于Sorting Layer的子排序,用這個(gè)值做比較時(shí)只有都在同一層時(shí)才有效。

  soringOrder也是Render的一個(gè)屬性,這個(gè)order是設(shè)置一個(gè)數(shù)字,數(shù)字越大,越在上面顯示。

  默認(rèn)情況下,Unity會(huì)基于對(duì)象距離攝像機(jī)的遠(yuǎn)近來排序你的對(duì)象。因此,當(dāng)一個(gè)對(duì)象離攝像機(jī)越近,它就會(huì)優(yōu)先繪制在其他更遠(yuǎn)的對(duì)象上面。對(duì)于大多數(shù)情況這是有效并合適的,但是在一些特殊情況下,你可能想要自己控制對(duì)象的繪制順序。而使用Tags{}塊我們就可以得到這樣的控制。

  Unity提供給我們一些默認(rèn)的渲染隊(duì)列,每一個(gè)對(duì)應(yīng)一個(gè)唯一的值,來指導(dǎo)Unity繪制對(duì)象到屏幕上。這些內(nèi)置的渲染隊(duì)列被稱為Background, Geometry, AlphaTest, GeometryLast,Transparent, Overlay。這些隊(duì)列不是隨便創(chuàng)建的,它們是為了讓我們更容易地編寫Shader并處理實(shí)時(shí)渲染的。

  同時(shí)需在SubShader中顯示聲明ZWrite Off,通知Unity我們會(huì)重寫物體的渲染深度排序。

Unity 渲染原理(八)Unity渲染順序和路徑(圖1)

  當(dāng)上面的要素都相同的時(shí)候,比如有幾個(gè)建筑物從攝像機(jī)看過去是層層遮擋的,那么最后渲染哪個(gè),取決于該物體與攝像機(jī)之間的距離。

  講完了渲染順序,我們講一下Unity中另外一個(gè)很相似的名詞,叫做渲染路徑

  Unity 的內(nèi)置渲染管線支持不同渲染路徑。渲染路徑是與光照和陰影相關(guān)的一系列操作。不同的渲染路徑具有不同功能和性能特征。應(yīng)根據(jù)項(xiàng)目類型以及目標(biāo)硬件,確定哪種渲染路徑最適合您的項(xiàng)目。

  可在 Graphics 窗口中選擇項(xiàng)目使用的渲染路徑,并可為每個(gè)攝像機(jī)覆蓋該路徑。

  如果運(yùn)行項(xiàng)目的設(shè)備上的 GPU 不支持所選的渲染路徑,則 Unity 將自動(dòng)使用較低保真度的渲染路徑。例如,在無法處理延遲著色的 GPU 上,Unity 使用前向渲染。

  采用前向渲染方式渲染實(shí)時(shí)光源會(huì)非常消耗資源。為了抵消此成本,可以選擇 Unity 在任何一個(gè)時(shí)間應(yīng)該為每個(gè)像素渲染的光源數(shù)量。Unity 會(huì)以較低保真度渲染場(chǎng)景中的其余光源:每個(gè)頂點(diǎn)或每個(gè)對(duì)象。

  如果項(xiàng)目沒有使用大量實(shí)時(shí)光源,或者光照保真度對(duì)項(xiàng)目而言不重要,則此渲染路徑可能是這個(gè)項(xiàng)目的不錯(cuò)選擇。

  延遲著色需要 GPU 支持,并且有一些局限性。這種著色方式不支持半透明對(duì)象(Unity 使用前向渲染來渲染這些對(duì)象)、正交投影(Unity 對(duì)這些攝像機(jī)使用前向渲染)或硬件抗鋸齒(但可以使用后期處理效果來獲得類似結(jié)果)。延遲著色對(duì)剔除遮罩的支持有限,并會(huì)將 Renderer.receiveShadows 標(biāo)志始終視為 true。

  如果項(xiàng)目具有大量的實(shí)時(shí)光源并需要高級(jí)別的光照保真度,而目標(biāo)硬件支持延遲著色,那么此渲染路徑對(duì)于該項(xiàng)目而言可能是一個(gè)不錯(cuò)的選擇。

  渲染路徑(Rendering Path)決定光照如何應(yīng)用到UnityShader中。為了獲取場(chǎng)景中的光源數(shù)據(jù),需要為每個(gè)Pass指定其渲染路徑。5.0以后的版本中,Unity支持前向渲染(Forward Renddering Path)和 延遲渲染(Deferred Rendering Path)。系統(tǒng)默認(rèn)情況下選擇的是前向渲染路徑,可以更改,同時(shí)若想使用多個(gè)渲染路徑,可以在不同的攝像機(jī)中調(diào)節(jié) Rendering Path選項(xiàng)。

  通過在每個(gè)Pass中使用標(biāo)簽來指定Pass使用的渲染路徑,即使用 LightMode標(biāo)簽實(shí)現(xiàn)。不同類型的渲染路徑可能包含多種標(biāo)簽設(shè)置。九游娛樂平臺(tái)九游娛樂平臺(tái)

上一篇:反垃圾技術(shù)花費(fèi)_網(wǎng)易易盾

返回列表

下一篇:VR桌游《Demeo》全平臺(tái)畫質(zhì)升級(jí)Vision Pro版支