日常记录Unity3D 中的 Surface Shader 是不支持在 Pass中使用的
Posted 理性、感性
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常记录Unity3D 中的 Surface Shader 是不支持在 Pass中使用的相关的知识,希望对你有一定的参考价值。
如题
搞了好久,一直报错:
Shader error in ‘custom_outline_effect‘: Parse error: syntax error, unexpected TOK_PASS, expecting TOK_SETTEXTURE or ‘}‘ at line 69
只要是把 #pragma surface ... 写在 Pass中就算出错
1 Pass { // Pass 中无法使用 surface 渲染模式,也就是说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 }
以上是关于日常记录Unity3D 中的 Surface Shader 是不支持在 Pass中使用的的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D日常BUG记录Unity打包运行出现:PlatformNotSupportedException该平台不支持此操作的解决记录
Unity3D日常BUG记录Unity打包运行出现:PlatformNotSupportedException该平台不支持此操作的解决记录