之前按照别人的代码,出问题了。其实还是对unity shader的理解不够深。下面是遇到的一个关于surfaceouput的弱鸡问题。
struct SurfaceOutput {
half3 Albedo; // 该像素的反射率,反应了像素的基色half3 Normal; // 该像素的法线方向
half3 Emission; // 该像素的自发光颜色,使得即便没有光照也可以物体本身也可以发出光
half Specular; // 该像素的高光指数
half Gloss; // 该像素的高光光滑度,值越大高光反射越清晰,反之越模糊
half Alpha; // 该像素的不透明度
};
unity 定义的,不需要在shader中再编写了,不需要把这段代码加上了,否则会提示句法错误(surf函数部分以及代码中多的surfaceoutput定义部分),Syntax error;
surfaceoutput中的变量也是定义好的,我们只需使用修改即可。