1.shader脚本里面,除了CG语言模块外,不需要语句结束符号;
2.shader脚本的名字和shader的命名(类似于C#脚本的类),不需要相同,区别于C#脚本;
3.shader脚本中,Properties------定义属性的模块.谨记;
4.例子:_Color("MyColor",Color) = (1,1,1,1)---------------_Color,这是定义属性在脚本中的名字;MyColor,这是属性在inspector面板中的显示名字;Color这是属性的类型;
5.shader语言中,常见的数据定义类型(区别与CG语言模块的实例化属性),包括Color,Vector,Int,Float,Range(min,max),2D,Cube,3D等,其中2D,3D,Cube是纹理类型;
6.shader脚本中的子shader,SubShader,一个shader脚本中可以有多个subshader(至少一个).当显卡运行时,依次选择使用,哪个效果可以实现就用哪个subshader;
7.每个subshader里面至少有一个pass模块,类似于功能模块,注意此模块中的CGPROGRAM-ENDCG,这是CG语言部分,注意符号,此处存在结束符号.
8.CG语言部分,需要把需要的属性实例化,然后使用.
9.Fallback"(shader名字)",该语句是在所有的subshader无法使用时,调用的备用shader.
10.float,half,fixed,都是小数类型,一定情况下可以互换,位数不同,需要合理使用,降低缓存.
PS:QQ交流群:581264959,欢迎加入!