unity實現切換渲染模式

2021-07-24 07:37:22 字數 1046 閱讀 2309

在unity中,有些少數情況下我們需要用**來建立材質。比如說在材質非常多,而僅僅是紋理不一樣的時候。

而用**建立的材質是沒有對應的資源檔案的,我們也就無法使用inspector來設定它的rendering mode。

關於rendering mode,許我稍作介紹:

材質(material)的屬性檢視面板(inspector)裡的第一項為渲染模式(renderingmode)。

渲染模式

意思適用物件舉例

說明opaque

不透明石頭

適用於所有的不透明的物體

cutout

鏤空破布

透明度不是0%就是100%,不存在半透明的區域。

fade

隱現物體隱去

與transparent的區別為高光反射會隨著透明度而消失。

transparent

透明玻璃

適用於像彩色玻璃一樣的半透明物體,高光反射不會隨透明而消失。

有時候我們需要在程式**

(script)中設定材質的渲染模式,這時候我們該怎麼做呢?這時候可以通過新增以下**來實現。

public

enum

renderingmode

public

static

void

setmaterialrenderingmode (material material, renderingmode renderingmode)

}

使用方法:

void

start ()

注意:測試前先在目標物體後放置乙個其他物體,如果未新增**前不可以看到後面物體,而新增之後可以了,那麼就表示此**設定renderingmode成功。

成功和不成功的結果是這樣的:

unity 不再渲染區域性 unity 渲染第二步

先不要用 unity shader 提供給你的轉換矩陣,看看螢幕上的圖形,你會學到更多。unity 渲染箴言 假設你 create 了乙個 cube,放在預設的位置,預設的 rotation,預設的 scale,此時,create 乙個你自己的 material,再建立乙個你自己的 unlit sh...

Unity渲染路徑

unity支援不同的渲染路徑。您應具體取決於你的遊戲內容和目標平台 硬體來選擇使用哪乙個。不同的渲染路徑有不同的特點和效能特點,主要影響燈光和陰影 如果圖形卡不能處理選定的渲染路徑,unity將自動使用乙個較低保真度的設定。因此,在gpu上不能處理延遲照明 deferred lighting 將使用...

unity渲染路徑

1 deferred shading 有最佳的光照和陰影效果,在場景中存在許多的實時光照時,使用deferred shading也是最佳的方案,之所以叫做deferred 延遲 是因為shading的時機不是發生在第乙個pass的頂點 片元函式內,而是存在延遲,直到第二pass的時候才執行,每個光源...