unity shader案例分析(二)

Shader "Custom/test_2" {
//光照材質
Properties{

_Color("Main Color",Color) = (1,1,1,0)//主顏色
_SpecColor("Spec Color",Color) = (1,1,1,1)//反射高光顏色
_Emission("Emission",Color) = (0,0,0,0)//自發光顏色
_Shininess("Shininess",Range(0.01,1)) = 0.7//光澤度

}

SubShader{

Pass{
Material{
//可調節的漫反射光和環境反射顏色
Diffuse [_Color]
Ambient [_Color]
//光澤度
Shininess [_Shininess]
//高光顏色
Specular [_SpecColor]
//自發光顏色
Emission [_Emission]
}
Lighting On
}

}

}


Shader "Custom/test_3" {
//一個簡單紋理載入Shader的方法
Properties{
//紋理
_MainTex("Main Tex",2D) = "White"{TexGen SphereMap}

}

SubShader{

Pass{
//設置紋理爲屬性中選擇的紋理
SetTexture[_MainTex]{combine texture}

}

}

Fallback "Diffuse"
}

整合上面的光照shader

Shader "Custom/test_3" {
//光照材質
Properties{

_Color("Main Color",Color) = (1,1,1,0)//主顏色
_SpecColor("Spec Color",Color) = (1,1,1,1)//反射高光顏色
_Emission("Emission",Color) = (0,0,0,0)//自發光顏色
_Shininess("Shininess",Range(0.01,1)) = 0.7//光澤度
_MainTex("Main Tex",2D) = "White"{}

}

SubShader{

Pass{
Material{
//可調節的漫反射光和環境反射顏色
Diffuse [_Color]
Ambient [_Color]
//光澤度
Shininess [_Shininess]
//高光顏色
Specular [_SpecColor]
//自發光顏色
Emission [_Emission]
}
//開啓光照
Lighting On
//開啓獨立鏡面反射
SeparateSpecular On
//設置紋理並進行紋理混合
SetTexture [_MainTex]
{
Combine texture * primary DOUBLE,texture * primary
}
}

}

}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章