El sombreador de superficie con VertexLit causa un object negro

Escribí el sombreador de superficie más simple posible:

Shader "SimpleSurf" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags {"RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert sampler2D _MainTex; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = ca; } ENDCG } FallBack "Diffuse" } 

Cuando la ruta de renderizado "Adelante" está habilitada, ¡el object se ve bien! enter image description here

Pero cuando la ruta de representación "Vertex encendido" está habilitada, se ve negra: enter image description here

¿Porqué sucedió? ¿Cómo puedo usar sombreadores de superficie (o tal vez escribir un sombreador Vertex / Fragment que considerará focos) que tienen algunos efectos en la ruta de VertexLit?

 Shader "SimpleSurf" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert_img #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; float4 frag(v2f_img i) : COLOR { return tex2D(_MainTex, i.uv); } ENDCG } }} 

Editar: he entendido mal la pregunta. He reemplazado el sombreador anterior con el sombreador de vértices y fragments más simple que funciona en la ruta de renderizado VertexLit. Si desea que los objects reciban iluminación por píxel, deberá usar el renderizado Adelante o Diferido según http://docs.unity3d.com/Documentation/Manual/RenderingPaths.html

Intente configurar la reserva para el shader vertexlit. Fallback "VertexLit" No lo he probado por mi count, pero por mi conocimiento de la línea de renderizado, puedo suponer que funcionará. Básicamente, si (y en esta situación lo hará) la iluminación difusa basada en píxeles falla, se verá negra ya que no habrá iluminación para computar, necesita algo a lo que recurrir, vértice iluminado.

Esta edición le permite conservar los attributes del sombreado de la superficie sin tener que permanecer en las routes de renderización deffenetworking o forward.