I’m trying to create a particle shader that casts and receives shadows but i keep getting an error saying i have a syntax error in line 28 does anyone know what is the error, thanks in advance
Shader "Ethical Motion/Particles/Unity5/Lit Alpha Blend Emissive Soft Particle" {
Properties {
_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
_MainTex ("Base (RGB)", 2D) = "white" {}
_InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
_Thickness ("Thickness Factor", Range(0.0, 0.2)) = 0.05
_Cutoff ("Alpha cutoff", Range(0,1) ) = 0.5
_Color ("Main Color", Color) = (1.0, 1.0, 1.0, 1.0)
}
SubShader {
Pass
{
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent" }
Blend SrcAlpha OneMinusSrcAlpha
AlphaTest Greater .01
Cull Back
Zwrite Off
Lighting Off
CGPROGRAM
#pragma surface surf SmokeSelfIlluminated vertex:vert noforwardadd addshadow alpha:fade nodynlightmap nodirlightmap
#pragma target 3.0
#include "EMLighting.cginc"
sampler2D _MainTex;
sampler2D _CameraDepthTexture;
fixed4 _TintColor;
fixed _InvFade;
struct Input {
float2 uv_MainTex;
float4 color : COLOR;
float4 projPos : TEXCOORD1;
};
void vert(inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input, o);
float4 pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.projPos = ComputeScreenPos (pos);
COMPUTE_EYEDEPTH(o.projPos.z);
}
void surf (Input i, inout SurfaceOutputSmoke o) {
float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
float partZ = i.projPos.z;
float fade = saturate (_InvFade * (sceneZ-partZ));
i.color.a *= fade;
fixed4 c = tex2D(_MainTex, i.uv_MainTex) *_TintColor * i.color.a;
o.Albedo = 2 * c.rgb;
o.Alpha = 2 * c.a;
o.SelfIllumin = i.color.rgb;
}
ENDCG
}
Pass {
Name "ShadowCollector"
Tags { "LightMode" = "ShadowCollector" }
Fog {Mode Off}
ZWrite On ZTest LEqual
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#pragma multi_compile_shadowcollector
#define SHADOW_COLLECTOR_PASS
#include "UnityCG.cginc"
#include "AutoLightParticle.cginc"
struct v2f {
V2F_SHADOW_COLLECTOR;
float2 uv : TEXCOORD5;
};
uniform float4 _MainTex_ST;
float4x4 _Camera2World;
v2f vert (appdata_base v)
{
v2f o;
TRANSFER_SHADOW_COLLECTOR_PARTICLE(o)
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
uniform fixed4 _Color;
fixed4 frag (v2f i) : COLOR
{
fixed4 texcol = tex2D( _MainTex, i.uv );
clip( texcol.a*_Color.a - _Cutoff );
SHADOW_COLLECTOR_FRAGMENT(i)
}
ENDCG
}
}
Fallback "Hidden/Ethical Motion/Particles/Lit Alpha Blend Shadow Fallback"
}