197 lines
9.4 KiB
Plaintext
197 lines
9.4 KiB
Plaintext
|
// Made with Amplify Shader Editor
|
||
|
// Available at the Unity Asset Store - http://u3d.as/y3X
|
||
|
Shader "FAE/Sunshaft"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
|
||
|
_MainTex ("Particle Texture", 2D) = "white" {}
|
||
|
_InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
|
||
|
_PanningSpeed("PanningSpeed", Range( 0 , 1)) = 0.33
|
||
|
_Fadedistance("Fade distance", Range( 0 , 150)) = 6
|
||
|
_Opacity("Opacity", Range( 0 , 1)) = 0.3
|
||
|
}
|
||
|
|
||
|
Category
|
||
|
{
|
||
|
SubShader
|
||
|
{
|
||
|
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
|
||
|
Blend SrcAlpha OneMinusSrcAlpha
|
||
|
ColorMask RGB
|
||
|
Cull Off
|
||
|
Lighting Off
|
||
|
ZWrite Off
|
||
|
ZTest LEqual
|
||
|
|
||
|
Pass {
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma vertex vert
|
||
|
#pragma fragment frag
|
||
|
#pragma target 2.0
|
||
|
#pragma multi_compile_particles
|
||
|
#pragma multi_compile_fog
|
||
|
#include "Lighting.cginc"
|
||
|
#include "UnityShaderVariables.cginc"
|
||
|
|
||
|
|
||
|
#include "UnityCG.cginc"
|
||
|
|
||
|
struct appdata_t
|
||
|
{
|
||
|
float4 vertex : POSITION;
|
||
|
fixed4 color : COLOR;
|
||
|
float4 texcoord : TEXCOORD0;
|
||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||
|
|
||
|
};
|
||
|
|
||
|
struct v2f
|
||
|
{
|
||
|
float4 vertex : SV_POSITION;
|
||
|
fixed4 color : COLOR;
|
||
|
float4 texcoord : TEXCOORD0;
|
||
|
UNITY_FOG_COORDS(1)
|
||
|
#ifdef SOFTPARTICLES_ON
|
||
|
float4 projPos : TEXCOORD2;
|
||
|
#endif
|
||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||
|
float4 ase_texcoord3 : TEXCOORD3;
|
||
|
};
|
||
|
|
||
|
uniform sampler2D _MainTex;
|
||
|
uniform fixed4 _TintColor;
|
||
|
uniform float4 _MainTex_ST;
|
||
|
uniform sampler2D_float _CameraDepthTexture;
|
||
|
uniform float _InvFade;
|
||
|
uniform float _Opacity;
|
||
|
uniform float _PanningSpeed;
|
||
|
uniform float _Fadedistance;
|
||
|
|
||
|
v2f vert ( appdata_t v )
|
||
|
{
|
||
|
v2f o;
|
||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||
|
float3 ase_worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
|
||
|
o.ase_texcoord3.xyz = ase_worldPos;
|
||
|
|
||
|
|
||
|
//setting value to unused interpolator channels and avoid initialization warnings
|
||
|
o.ase_texcoord3.w = 0;
|
||
|
|
||
|
v.vertex.xyz += float3( 0, 0, 0 ) ;
|
||
|
o.vertex = UnityObjectToClipPos(v.vertex);
|
||
|
#ifdef SOFTPARTICLES_ON
|
||
|
o.projPos = ComputeScreenPos (o.vertex);
|
||
|
COMPUTE_EYEDEPTH(o.projPos.z);
|
||
|
#endif
|
||
|
o.color = v.color;
|
||
|
o.texcoord = v.texcoord;
|
||
|
UNITY_TRANSFER_FOG(o,o.vertex);
|
||
|
return o;
|
||
|
}
|
||
|
|
||
|
fixed4 frag ( v2f i ) : SV_Target
|
||
|
{
|
||
|
#ifdef SOFTPARTICLES_ON
|
||
|
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;
|
||
|
#endif
|
||
|
|
||
|
#if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aselc
|
||
|
float4 ase_lightColor = 0;
|
||
|
#else //aselc
|
||
|
float4 ase_lightColor = _LightColor0;
|
||
|
#endif //aselc
|
||
|
float4 break31 = ase_lightColor;
|
||
|
float mulTime37 = _Time.y * ( _PanningSpeed * 0.1 );
|
||
|
float2 uv6 = i.texcoord.xy * float2( 1,1 ) + float2( 0,0 );
|
||
|
float2 panner4 = ( mulTime37 * float2( 0.5,0.9 ) + uv6);
|
||
|
float2 panner5 = ( mulTime37 * float2( 1.1,0.1 ) + uv6);
|
||
|
float lerpResult12 = lerp( 0.0 , ( tex2D( _MainTex, panner4 ).r * tex2D( _MainTex, panner5 ).g ) , tex2D( _MainTex, uv6 ).a);
|
||
|
float3 ase_worldPos = i.ase_texcoord3.xyz;
|
||
|
float4 appendResult32 = (float4(break31.r , break31.g , break31.b , saturate( ( _Opacity * ( lerpResult12 * ( distance( _WorldSpaceCameraPos , ase_worldPos ) / _Fadedistance ) * _InvFade ) ) )));
|
||
|
|
||
|
|
||
|
fixed4 col = appendResult32;
|
||
|
UNITY_APPLY_FOG(i.fogCoord, col);
|
||
|
return col;
|
||
|
}
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
/*ASEBEGIN
|
||
|
Version=15700
|
||
|
1928;29;1905;1004;1827.418;309.3177;1;True;True
|
||
|
Node;AmplifyShaderEditor.RangedFloatNode;2;-1500,45;Float;False;Property;_PanningSpeed;PanningSpeed;1;0;Create;True;0;0;False;0;0.33;0.23;0;1;0;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.RangedFloatNode;39;-1255.918,166.6823;Float;False;Constant;_Float0;Float 0;4;0;Create;True;0;0;False;0;0.1;0;0;0;0;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;38;-1109.918,94.68231;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.TextureCoordinatesNode;6;-853,387;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.SimpleTimeNode;37;-884.3455,147.3704;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.PannerNode;5;-498,215;Float;False;3;0;FLOAT2;1,0;False;2;FLOAT2;1.1,0.1;False;1;FLOAT;1;False;1;FLOAT2;0
|
||
|
Node;AmplifyShaderEditor.PannerNode;4;-500,70;Float;False;3;0;FLOAT2;1,0;False;2;FLOAT2;0.5,0.9;False;1;FLOAT;1;False;1;FLOAT2;0
|
||
|
Node;AmplifyShaderEditor.TemplateShaderPropertyNode;34;-774.3455,-180.6296;Float;False;0;0;_MainTex;Shader;0;5;SAMPLER2D;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.SamplerNode;8;-142,-4;Float;True;Property;_TextureSample0;Texture Sample 0;2;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;ProceduralTexture;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.SamplerNode;9;-157,213;Float;True;Property;_TextureSample1;Texture Sample 1;2;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;ProceduralTexture;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.WorldSpaceCameraPos;13;564.3344,361.8737;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
||
|
Node;AmplifyShaderEditor.WorldPosInputsNode;14;611.3344,478.8737;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
|
||
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;319.4025,163.132;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.DistanceOpNode;15;925.3344,409.8737;Float;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.RangedFloatNode;17;765.3344,676.8737;Float;False;Property;_Fadedistance;Fade distance;2;0;Create;True;0;0;False;0;6;6.1;0;150;0;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.SamplerNode;10;-147,434;Float;True;Property;_TextureSample2;Texture Sample 2;2;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;ProceduralTexture;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.SimpleDivideOpNode;16;1180.334,482.8737;Float;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.TemplateShaderPropertyNode;33;1556.735,436.1892;Float;False;0;0;_InvFade;Shader;0;5;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||
|
Node;AmplifyShaderEditor.LerpOp;12;575.3344,161.8737;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;18;1882.334,197.8737;Float;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.RangedFloatNode;30;1900.118,101.0789;Float;False;Property;_Opacity;Opacity;3;0;Create;True;0;0;False;0;0.3;0.5;0;1;0;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;2230.152,158.7226;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.LightColorNode;22;1636.152,-64.2774;Float;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2
|
||
|
Node;AmplifyShaderEditor.SaturateNode;25;2434.152,148.7226;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
|
||
|
Node;AmplifyShaderEditor.BreakToComponentsNode;31;2227.488,-62.87449;Float;False;COLOR;1;0;COLOR;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15
|
||
|
Node;AmplifyShaderEditor.TexturePropertyNode;7;-480,-227;Float;True;Property;_Alpha;Alpha;0;0;Create;True;0;0;False;0;None;None;False;white;Auto;Texture2D;0;1;SAMPLER2D;0
|
||
|
Node;AmplifyShaderEditor.DynamicAppendNode;32;2636.003,23.66153;Float;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
|
||
|
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;29;2820.45,37.362;Float;False;True;2;Float;;0;6;FAE/Sunshaft;0b6a9f8b4f707c74ca64c0be8e590de0;0;0;SubShader 0 Pass 0;2;True;2;5;False;-1;10;False;-1;0;1;False;-1;0;False;-1;False;True;2;False;-1;True;True;True;True;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
|
||
|
WireConnection;38;0;2;0
|
||
|
WireConnection;38;1;39;0
|
||
|
WireConnection;37;0;38;0
|
||
|
WireConnection;5;0;6;0
|
||
|
WireConnection;5;1;37;0
|
||
|
WireConnection;4;0;6;0
|
||
|
WireConnection;4;1;37;0
|
||
|
WireConnection;8;0;34;0
|
||
|
WireConnection;8;1;4;0
|
||
|
WireConnection;9;0;34;0
|
||
|
WireConnection;9;1;5;0
|
||
|
WireConnection;11;0;8;1
|
||
|
WireConnection;11;1;9;2
|
||
|
WireConnection;15;0;13;0
|
||
|
WireConnection;15;1;14;0
|
||
|
WireConnection;10;0;34;0
|
||
|
WireConnection;10;1;6;0
|
||
|
WireConnection;16;0;15;0
|
||
|
WireConnection;16;1;17;0
|
||
|
WireConnection;12;1;11;0
|
||
|
WireConnection;12;2;10;4
|
||
|
WireConnection;18;0;12;0
|
||
|
WireConnection;18;1;16;0
|
||
|
WireConnection;18;2;33;0
|
||
|
WireConnection;23;0;30;0
|
||
|
WireConnection;23;1;18;0
|
||
|
WireConnection;25;0;23;0
|
||
|
WireConnection;31;0;22;0
|
||
|
WireConnection;32;0;31;0
|
||
|
WireConnection;32;1;31;1
|
||
|
WireConnection;32;2;31;2
|
||
|
WireConnection;32;3;25;0
|
||
|
WireConnection;29;0;32;0
|
||
|
ASEEND*/
|
||
|
//CHKSM=259C78FB9940F133EB93AEE653ADD1B125BE64A4
|