Unity Shader-法线贴图(Normal)及其原理URL和固定管线着色器

Unity Shader-法线贴图(Normal)及其原理URL:

http://blog.csdn.net/puppet_master/article/details/53591167

 

 

  1. //第一种  
  2. Shader "VRShader/AlphaTestDemo" {  
  3.   
  4.     Properties{  
  5.         _AlphaValue("透明度值",Range(0,1))=0.5  
  6.         _Color("主颜色",Color)=(1,1,1,1)  
  7.         _MainTex("主贴图",2D)=""{}  
  8.     }  
  9.     SubShader{  
  10.         Pass{  
  11.             //透明度测试  
  12.             AlphaTest Greater [_AlphaValue]  
  13.             //顶点光照  
  14.             Lighting On  
  15.             Material{  
  16.                 Diffuse[_Color]  
  17.             }  
  18.             SetTexture[_MainTex]{  
  19.                 //贴图与满发射颜色融合  
  20.                 Combine Texture * Primary  
  21.             }  
  22.         }  
  23.     }  
  24. }  
  25.   
  26.   
  27.   
  28.   
  29. //第二种  
  30. Shader "VRShader/ConstentShader02" {  
  31.     Properties {  
  32.         _Diffuse("Diffuse",Color)=(1,1,1,1)  
  33.         _Ambient("Ambient",Color)=(1,1,1,1)  
  34.         _Specular("Specular",Color)=(1,1,1,1)  
  35.         _Emission("Emission",Color)=(1,1,1,1)  
  36.         _Shininess("Shininess",Range(0.1,1))=1  
  37.         _MainTexture("MainTexture",2D)=""{}  
  38.         _DetailTexture("DetailTexture",2D)=""{}  
  39.     }  
  40.     SubShader{  
  41.          Pass{  
  42.             Lighting On  //顶点光照  
  43.             SeparateSpecular On  //镜面反射  
  44.   
  45.         //Blend SrcAlpha OneMinusSrcAlpha //开启Alpha透明通道  
  46.         //Blend One One     //相加混合  
  47.         //Blend One OneMinusDstColor  //柔和混合  
  48.         //Blend DstColor Zero //相乘混合  
  49.         //Blend DstColor SrcColor //2倍相乘混合  
  50.            Material{  
  51.               Diffuse[_Diffuse] //漫反射  
  52.               Ambient[_Ambient] //环境光  
  53.               Specular[_Specular] //高光  
  54.               Emission[_Emission] //自发光  
  55.               Shininess[_Shininess] //光泽度  
  56.             }  
  57.             SetTexture[_MainTexture]{  
  58.             //constantColor创建一个固定颜色  
  59.              constantColor(1,0,0,1)  
  60.              //Texture表示当前图片---_MainTexture  
  61.              //Constant表示固定颜色----constantColor的结果  
  62.              combine Texture+Constant  
  63.             }  
  64.             //Texture表示当前图片-----DetailTexture  
  65.             //Previlous表示上一次SetTexture后的结果  
  66.             SetTexture[_DetailTexture]{  
  67.             combine Texture*Previous Quad  
  68.             }  
  69.         }  
  70.         }  
  71. }  
  72.   
  73.   
  74.   
  75.   
  76. //第三种  
  77. Shader "VRShader/ConstentShader03" {  
  78.     Properties {  
  79.         _Color("Color",Color)=(1,1,1,1)  
  80.         _Texture01("_Texture01",2D)=""{}  
  81.         _Texture02("_Texture02",2D)=""{}  
  82.         _LerpValue("插值参数",Color)=(1,1,1,1)  
  83.     }  
  84.     SubShader{  
  85.         Pass{  
  86.               
  87.             Material{  
  88.                 Diffuse[_Color]  
  89.             }  
  90.             SetTexture[_Texture01]{  
  91.             combine texture * Primary  
  92.             }  
  93.             SetTexture[_Texture02]{  
  94.             ConstantColor[_LerpValue]  
  95.             combine Previous lerp(Constant) texture  
  96.             }  
  97.         }  
  98.     }  
  99.           
  100. }  
  101.   
  102.   
  103.   
  104.   
  105. //第四种  
  106. Shader "VRShader/ContentShaer01" {  
  107.     Properties{  
  108.         _DiffuseColor("漫反射颜色",Color)=(1,1,1,1)  
  109.         _AmbientColor("环境光颜色",Color)=(1,1,1,1)  
  110.         _Shininess("光泽度",Range(0.1,1))=0.1  
  111.         _Specular("高光颜色",Color)=(1,1,1,1)  
  112.         _Emission("自发光",Color)=(1,1,1,1)  
  113.     }  
  114.   
  115.     SubShader{  
  116.         //设置渲染队列  
  117.         Tags{"Queue"="Transparent"}  
  118.         Tags{"Queue"="Background+500"}  
  119.   
  120.         Pass{  
  121.             //剔除前面  
  122.             Cull Front  
  123.             //打开顶点光照  
  124.             Lighting On  
  125.             //开启镜面反射  
  126.             SeparateSpecular On  
  127.             //关闭深度测试  
  128.             Ztest Off  
  129.   
  130.             Material  
  131.             {  
  132.                 //满反射  
  133.                 Diffuse[_DiffuseColor]  
  134.                 //环境光  
  135.                 Ambient[_AmbientColor]  
  136.                 //光泽度  
  137.                 Shininess[_Shininess]  
  138.                 //高光颜色  
  139.                 Specular[_Specular]  
  140.                 //自发光颜色  
  141.                 Emission[_Emission]  
  142.             }  
  143.         }  
  144.         Pass{  
  145.         //剔除背面  
  146.         Cull Back  
  147.         //红色  
  148.         Color(1,0,0,1)  
  149.         }  
  150.        }  
  151. }  
  152.   
  153.   
  154.   
  155.   
  156. //第五种  
  157. Shader "VRShader/FirstShader" //定义shader的路径及名称  
  158. {  
  159.    //当前shader属性  
  160.     Properties{  
  161.         //定义一个浮点类型的属性  
  162.         //_FirstFloat-----变量名  
  163.         //“一个浮点数”在Inspector面板显示的该属性的名称(提示信息)  
  164.         //Float----变量类型  
  165.         //0.8-----变量初值  
  166.         _FirstFloat("一个浮点数",Float)=0.8  
  167.         //定义一个范围浮点数  
  168.         _FirstRange("一个范围数",Range(0,8))=4  
  169.         //定义一个四维数  
  170.         _FirstVector("一个四维数",Vector)=(1,2,3,4)  
  171.         //定义一个颜色  
  172.         _MainColor("主颜色",Color)=(0,0,255,1)  
  173.         //定义一个2阶贴图(宽高是2的N次幂)  
  174.         _MainTexture("主贴图",2D)=""{}  
  175.         //定义一个非2阶贴图  
  176.         _MainRect("副贴图",Rect)=""{}  
  177.         //定义一个立方体贴图  
  178.         _Cube("立方体贴图",Cube)=""{}  
  179.     }  
  180.     //子着色器(一个材质的解决方案)  
  181.     SubShader {  
  182.         //固定管线需要(Pass通道)  
  183.         Pass{  
  184.             //第一个Shader,渲染一个纯色  
  185. //          Color(1,1,0,1)  
  186.   
  187.             //通过外部属性,渲染一个纯色  
  188. //          Color[_MainColor]  
  189.   
  190.             //开启顶点光照  
  191.             Lighting On  
  192.             //特殊材质   
  193.             Material  
  194.             {  
  195.             //漫反射效果去渲染一个纯色  
  196.             Diffuse[_MainColor]  
  197.             }  
  198.         }  
  199.     }  
  200.     FallBack "Diffuse"  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值