今天学习了shader的基本的结构。
打开unity创建一个Shader,Material(命名为M-first),和一个正方体(命名为First),把正方体的材质换成自己刚刚创建的。因为这样可以进行修改材质。选中正方体会在Insport面板底部出现一个材质球,一般在Custom中会有自己进行创建的Shader进行指定就完成了。双击打开Shader,删除里面的代码,这时候回到场景中会发现游戏对象变成了粉红色,而且还有报错。把下面的代码复制过去
Shader "ShaderLearn"{//这里进行指定Shader的名称,不要求和文件名称一致。
Properties{//一些基本的属性
}
SubShader{//SubShader可以有很多个 显卡运行效果的时候从第一个SubShader开始,如果第一个SubShader里面的效果都可以实现
//那么就是用第一个SubShader,如果显卡发现这个SubShader里面的某些效果不能够实现里面的某些效果,他会自动运行下一个SubShader
//当有多个SubShader的时候显示效果一个不如一个,就是就一个SubShader不如第二个 我们写多个SubShader如果先科不支持第一个那么还有第二个
Pass{//至少有一个Pass块 一般情况下只有一个Pass块 一个Pass块相当于一个功能方法 在这个里面进行编写Shader代码
//这里需要有两个声明
CGPROGRAM
//使用CG进行编写代码
ENDCG
}
}
Fallback "VertexLit"//用来指定unity内置的一些Shader效果 当unity发现先科上面的SubShader都支持的时候才会执行这一个
}
这个时候游戏对象就变成了黑色。这就是ShaderLab。