Hi everyone,
Is it possible to write a shader that is completly invisible, but only shows lights reflection on it as the example below ?
Before applying shader

The plane is fully transparent, but it reflects the white light part, as a white diffuse

Real time result

Anyone know if something like that already exists ?
Thanks!
I found this shader here to show lighting only:
Shader "Lighting Only" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Blend SrcAlpha One
ZWrite Off
Tags {Queue = Transparent}
ColorMask RGB
// Vertex lights
Pass {
Tags {"LightMode" = "Vertex"}
Lighting On
Material {
Diffuse [_Color]
}
SetTexture [_MainTex] {
constantColor [_Color]
Combine texture * primary DOUBLE, texture * constant
}
}
}
Fallback "VertexLit", 2
}
Here is the result with “Lighting Only” shader:

I still have 2 problems with it, the light result is not clean (low definition?), and this shader does not accept shadows (unlike “Diffuse” shader) :

Thanks in advance
After multiples tests I finally found this, witch seems to be perfect:
Good result, but it still not recieves the projected shadow from the cube, any ideas ?
Shader "FX/Matte Shadow3" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.01
_ShadowStrength ("Shadow strength", Range(0,5)) = 1
}
SubShader {
Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
LOD 200
Blend Zero SrcColor
CGPROGRAM
#pragma surface surf ShadowOnly alphatest:_Cutoff
fixed4 _Color;
float _ShadowStrength;
struct Input {
float2 uv_MainTex;
};
inline fixed4 LightingShadowOnly (SurfaceOutput s, fixed3 lightDir, fixed atten){
fixed4 c;
c.rgb = s.Albedo*atten;
// c.rgb = lerp(_ShadowStrength *.75, 1, atten).rrr;
c.a = s.Alpha;
return c;
}
void surf (Input IN, inout SurfaceOutput o) {
//fixed4 c = _LightColor0 + _Color;
fixed4 c = _LightColor0 + 0.3*_Color;
//fixed4 c = _Color;
o.Albedo = c.rgb * _ShadowStrength;
o.Alpha = 0;
}
ENDCG
}
Fallback "Transparent/Cutout/VertexLit"
}

For anyone still struggeling with this and want a shader that is 2 sided transparent but still show the light glow, I changed the above shader a bit to make it work:
Shader "FX/Matte Shadow3" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.01
_ShadowStrength ("Shadow strength", Range(0,5)) = 1
}
SubShader {
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent" }
LOD 100
Blend srcAlpha oneMinusSrcAlpha
ZWrite Off
CGPROGRAM
#pragma surface surf ShadowOnly alphatest:_Cutoff
fixed4 _Color;
float _ShadowStrength;
struct Input {
float2 uv_MainTex;
};
inline fixed4 LightingShadowOnly (SurfaceOutput s, fixed3 lightDir, fixed atten){
fixed4 c;
c.rgb = s.Albedo*atten;
// c.rgb = lerp(_ShadowStrength *.75, 1, atten).rrr;
c.a = s.Alpha;
return c;
}
void surf (Input IN, inout SurfaceOutput o) {
//fixed4 c = _LightColor0 + _Color;
fixed4 c = _LightColor0 + 0.1*_Color;
//fixed4 c = _Color;
o.Albedo = c.rgb * _ShadowStrength;
o.Alpha = 0;
}
ENDCG
}
Fallback "Transparent/Cutout/VertexLit"
}
It can be better but I’m just starting to learn 
Make sure you set alpha cutoff to 0 (zero) for it to work properly.
Anyone found a solution that supports shadows?