The Reflective/Diffuse shader shipping with Unity 2.6.0 (haven’t checked 2.6.1 just yet) does not work properly when the object is lit exclusively with vertex lighting. Here’s how you fix it – it’s just one line.
|
Basically, the Reflective/VertexLit shader has two passes, not one and the Diffuse shader is only including the first one – the one used for the reflective term. The additional line adds in the second pass, and all is well.
EDIT: This only resolves the case where the object is lit ONLY by vertex lighting. In the event of pixel + vertex lighting, it still behaves as if only the pixel light was hitting it. Bah. Will suss it out later.