Unity3D內建Shader翻譯三

2021-06-21 01:25:49 字數 935 閱讀 9742

上次講的是transparent shader family,他們是繪製半透明的物件使用的,但他們並不能滿足我們全部的要求。

transparent cutout shader family是對半透明物件shader的一類補充,與transparent shader family有所區別的是:cutout shader faimily中的shaders不允許繪製部分透明的區域。就是說,使用這種shader繪製出來的物件,要麼是全透明,要麼是半透明。使用這個家族 shader的物件通常用來轉換和接受陰影。半透明物件中常有的排序問題在使用這類shader的時候不存在。

這個家族裡面的所有shader都定義了乙個alpha cutout的數值,紋理中alpha大於alpha cutout數值的,被認為是不透明的,否則就是全透明的。通過這個alpha cutoff數值,我們可以控制哪些區域全透明,哪些區域不透明。(也可以用來做一些動畫的控制,***)

這個家族只包含了6個shader,分別是

(1) transparent cutout vertex-lit

(2)transparent cutout diffuse

(3) transparent cutout specular

(4) transparent cutout bumped diffuse

(5)transparent cutoff bumped specular

(6) transparent cutout soft edge unlit

這個是官方文件裡面沒有記錄的,估計是後面新加入的。這個shader繪製物體的正反兩面,不受光照影響,常常用來繪製花草,樹木,葉子。

他包含了兩個pass,第一次將物件中alpha大於alpha cutoff的部分以不透明的方式繪製。第二次關閉寫zbuffer後,以半透明的方式繪製alpha小於alpha cutoff的部分。這樣做可以將綠草這種半透明的物件不需要排序就能繪製正確。

Unity3D內建Shader翻譯一

unity3d內建了很多shader,文件很詳細,自己翻一下.便於加深印象.首先先解釋下unity3d的shader.unity裡面的shaders是使用一種叫shaderlab的語言編寫的,它同微軟 的.fx檔案或者nvidia的cgfx有些類似。傳統意義上的vertex shader和pixel...

unity 3D模型流光Shader

今天分享下unity中3d模型的一些shader。先來個最簡單的,就是上下滾動的純色流光。通過調整 centerrange來實現上下滾動。o.objz v.vertex.x 這裡使用模型的模型座標系模型被旋轉過所以這裡用的是x軸,同學如果想用得改下哈。flag saturate flag flag被...

Unity3D中的shader高階

unity3d shader 基礎知識 unity3d shader 官方教程翻譯 1.unity中配備了強大的陰影和材料的語言工具稱為shaderlab,以程式語言來看,它類似於cgfx和direct3d的效果框架語法,它描述了材質所必須要的一切諮詢,而不僅僅侷限於平面頂點 畫素著色。2.在uni...