您的位置:首页 > 移动开发 > Unity3D

【日常记录】Unity3D 中的 Surface Shader 是不支持在 Pass中使用的,因为自动生成了 Pass

2017-07-30 09:33 489 查看
如题

搞了好久,一直报错:

Shader error in 'custom_outline_effect': Parse error: syntax error, unexpected TOK_PASS, expecting TOK_SETTEXTURE or '}' at line 69

只要是把 #pragma surface ... 写在 Pass中就算出错,这种情况只要不写 Pass{} 中就行了,因为会自动生成的

1         Pass { // 这样写会报错,使用 surface 不需要写在 Pass 中
2                 CGPROGRAM
3                     #pragma surface surf Lambert
4
5                     sampler2D _MainTex;
6
7                     struct Input {
8                         float2 uv_MainTex;
9                     };
10
11                     void surf (Input IN, inout SurfaceOutput o) {
12                         half4 c = tex2D (_MainTex, IN.uv_MainTex);
13                         o.Albedo = c.rgb;
14                         o.Alpha = c.a;
15                     }
16                  ENDCG
17         }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐