shader型別區分:
shader基本框架:
shader "shader名稱"
//---------------------------------【子著色器1】----------------------------------
subshader
} //---------------------------------【備胎】----------------------------------------
//備胎設為unity自帶的普通漫反射
fallback" diffuse "
}
properties:
name ("display name", range (min, max)) =number
定義浮點數屬性,在檢視器中可通過乙個標註最大最小值的滑條來修改。
name ("display name", color) =(number,number,number,number)
定義顏色屬性
name ("display name", 2d) = "name"
定義2d紋理屬性
name ("display name", rect) = "name"
定義長方形(非2次方)紋理屬性
name ("display name", cube) = "name"
定義立方貼圖紋理屬性
name ("display name", float) = number
定義浮點數屬性
name ("display name", vector) =(number,number,number,number)
定義乙個四元素的容器(相當於vector4)屬性
material:使用的地方是在subshader中的乙個pass中新開乙個material塊,包含了包含材質如何和光線產生作用的一些設定
diffuse color(r,g,b,a)
漫反射顏色構成。這是物件的基本顏色。
ambient color(r,g,b,a)
環境色顏色構成.這是當物件被rendersettings.中設定的環境色所照射時物件所表現的顏色。
specular color(r,g,b,a)
物件反射高光的顏色。(r,g,b,a)四個分量分別代表紅綠藍和alpha,取值為0到1之間。
shininess number
加亮時的光澤度,在0和1之間。0的時候你會發現更大的高亮也看起來像漫反射光照,1的時候你會獲得乙個細微的亮斑。
emission color
自發光顏色,也就是當不被任何光照所照到時,物件的顏色。(r,g,b,a)四個分量分別代表紅綠藍和alpha,取值為0到1之間。
subshader的tags塊
tags
佇列標籤(queue tag):
後台(background) - 這個渲染佇列在所有佇列之前被渲染,被用於渲染天空盒之類的物件。
幾何體(geometry,預設值)- 這個佇列被用於大多數物件。 不透明的幾何體使用這個佇列。
透明(transparent) - 這個渲染佇列在幾何體佇列之後被渲染,採用由後到前的次序。任何採用alpha混合的物件(也
就是不對深度緩衝產生寫操作的著色器)應該在這裡渲染(如玻璃,粒子效果等)
覆蓋(overlay) - 這個渲染佇列被用於實現疊加效果。任何需要最後渲染的物件應該放置在此處。(如鏡頭光暈等)
變數名稱解析規則
使用gcc編譯模板類時,容易遇到編譯錯誤。形如 找不到變數等。為此問題,在網上搜尋了一番。模板類的變數解析分為兩個步驟 1.模板類解析過程 這個過程中,需要解析與泛型引數無關的變數名 函式名。如下 typedef void cb template class testclass virtual vo...
以string型別獲取變數名稱
描述問題 條件 int i string str string.empty 目的 str i 一般的變數名稱還沒有找到合適的方法,只能獲取對於class中成員變數的名稱。類 test中有成員變數a b class test 獲取類test的fields陣列 system.reflection.fie...
冷門 C 小技巧之獲取變數名稱
今天在自我規範程式設計的時候,變數名匹配字串來自配置檔案,網上找了一會兒發現也有朋友在找尋這種方式,很不容易找到乙個解決方案來自 下面就是今天找到的進行詳細解答 首先需要自定義乙個靜態方法 擴充套件 獲取變數名稱 字串 return string public static string getva...