著色器 unity3d教程

2021-08-27 12:06:21 字數 1546 閱讀 2778

unity3d教程手冊

如下圖所示,在project面板中新建乙個new material.這樣子就準備好了乙個空白的著色器。它能支援的型別也就在shader中全部顯示出來。不得不說,很好很強大。

所有這些pixel[畫素]著色器,預設的diffuse算是資源開銷較小的渲染選擇。隨後那些帶有凹凸貼圖的著色器,其次就是bumped specular[凹凸高光],parallax specular[視差高光]類等開銷大。所有基於頂點光照的著色器開銷都比pixel著色器的開銷小。但是相對來說效果可能不是那麼強大,畢竟打造好的視覺效果增大開銷是在所難免。

著色器共有的主要屬性:

diffuse[散射]:定義物件的基本顏色,可以使用貼圖或者簡單的顏色選擇器來控制散射,所有的著色器都帶有某種型別的散射屬性。

bump and parallax bump[凹凸和視差凹凸]:名稱中帶有bump或者parallax的著色器都帶有的乙個屬性,使得他們可以模擬物件的高度和深度。比如我們需要對物件的每乙個傷痕或者細節進行建模,這樣很耗費資源,此時聚划算的方法就是使用凹凸貼圖來模擬。

specular[高光]:帶有specular屬性的著色器都可以使物件在光源照射下具有漂亮的光澤,注意這和反射是不同的。

下面,建立乙個吧:

1:先把toonshading

2:在project面板中建立乙個materials,將著色器的shader選為:toon—〉basicoutline。

4:把我們project面板的著色器直接拖給場景的cube物體。

我把outlinecolor和outlinewidth都改一下。

關於天空盒[skybox]的著色器,就是shader下的renderfx/skybox。選擇他以後你會看到下邊列出了front—back—left—right—up—down的每個填充項。你用對應的天空貼圖填充,就可以得到乙個天空盒著色器了。

動態表面效果著色器指令碼

shader "effects/plasma" 

_colorband ("base (rgb)", 2d) = "white" {}

}subshader

pass

endcg}}

fallback off

}

Unity3D內建著色器

unity內部提供了一些可以直接使用的著色器,這些內建著色器包括以下6個方面 1 performance of unity shaders specular 高光,強度和camera的觀察角度有關,main tex的alpha通道可以用來做specular map 反射貼圖,也稱gloss map ...

Unity3D著色器Shader程式設計入門

自學unity3d也有大半年了,對shader一直不敢入坑,最近看了些資料,以及通過自己的實踐,對shader還是有一點了解了,分享下僅作入門參考。狗刨學習網 因shader是對影象影象渲染的,學習前可以去了解下圖形影象學及gpu程式設計相關的知識。強烈推薦 gpu 程式設計與cg 語言之陽春白雪下...

Unity3d 頂點和片段著色器學習筆記

一 cg頂點程式必須在結構中傳遞頂點資料。幾種常用的頂點結構定義在檔案unitycg.cginc中。在大部分情況下僅僅使用它們就夠了。結構如下 二 如果你想訪問個別的頂點資料,你必須自己宣告頂點結構。結構中的成員必須是屬於以下列表中的 1 float4 vertex 頂點位置 2 float3 no...