261 lines
14 KiB
Plaintext
261 lines
14 KiB
Plaintext
// Made with Amplify Shader Editor
|
|
// Available at the Unity Asset Store - http://u3d.as/y3X
|
|
Shader "WORLD"
|
|
{
|
|
Properties
|
|
{
|
|
_flowmap("flowmap", 2D) = "white" {}
|
|
_TextureSample1("Texture Sample 1", 2D) = "white" {}
|
|
_TextureSample2("Texture Sample 2", 2D) = "white" {}
|
|
_Vector1("Vector 1", Vector) = (1,5,0,0)
|
|
_Float4("Float 4", Range( 0 , 1)) = 1
|
|
_Color0("Color 0", Color) = (0,0,0,0)
|
|
_Float6("Float 6", Range( 0 , 2)) = 0
|
|
_Vector0("uv", Vector) = (0,0,0,0)
|
|
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
|
[HideInInspector] __dirty( "", Int ) = 1
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags{ "RenderType" = "Transparent" "Queue" = "Background+0" "IgnoreProjector" = "True" }
|
|
Cull Back
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
|
|
CGINCLUDE
|
|
#include "UnityShaderVariables.cginc"
|
|
#include "UnityPBSLighting.cginc"
|
|
#include "Lighting.cginc"
|
|
#pragma target 3.0
|
|
#ifdef UNITY_PASS_SHADOWCASTER
|
|
#undef INTERNAL_DATA
|
|
#undef WorldReflectionVector
|
|
#undef WorldNormalVector
|
|
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
|
|
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
|
|
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
|
|
#endif
|
|
struct Input
|
|
{
|
|
float2 uv_texcoord;
|
|
float3 worldPos;
|
|
float3 worldNormal;
|
|
INTERNAL_DATA
|
|
};
|
|
|
|
uniform sampler2D _TextureSample1;
|
|
uniform sampler2D _flowmap;
|
|
uniform float2 _Vector0;
|
|
uniform sampler2D _TextureSample2;
|
|
uniform float _Float6;
|
|
uniform float4 _Color0;
|
|
uniform float _Float4;
|
|
uniform float2 _Vector1;
|
|
|
|
void surf( Input i , inout SurfaceOutputStandard o )
|
|
{
|
|
float2 temp_cast_0 = (_Vector0.x).xx;
|
|
float2 temp_cast_1 = (_Vector0.y).xx;
|
|
float2 uv_TexCoord80 = i.uv_texcoord * temp_cast_0 + temp_cast_1;
|
|
float2 temp_output_4_0 = ( (tex2D( _flowmap, uv_TexCoord80 )).rg * 0.25 );
|
|
float mulTime6 = _Time.y * 0.1;
|
|
float temp_output_2_0 = frac( sin( mulTime6 ) );
|
|
float4 tex2DNode16 = tex2D( _TextureSample1, ( ( temp_output_4_0 * temp_output_2_0 ) + i.uv_texcoord ) );
|
|
float4 tex2DNode18 = tex2D( _TextureSample2, ( i.uv_texcoord + ( temp_output_4_0 * frac( ( mulTime6 + 0.5 ) ) ) ) );
|
|
float4 appendResult72 = (float4(0.0 , tex2DNode16.r , tex2DNode18.g , 0.0));
|
|
o.Normal = ( appendResult72 * _Float6 ).xyz;
|
|
float temp_output_23_0 = abs( ( ( temp_output_2_0 * 2.0 ) - 1.0 ) );
|
|
float lerpResult24 = lerp( tex2DNode16.r , tex2DNode18.r , temp_output_23_0);
|
|
o.Albedo = ( lerpResult24 * _Color0 ).rgb;
|
|
o.Metallic = 0.9;
|
|
float3 ase_worldPos = i.worldPos;
|
|
float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
|
|
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
|
|
float fresnelNdotV32 = dot( ase_worldNormal, ase_worldViewDir );
|
|
float fresnelNode32 = ( 0.0 + _Vector1.x * pow( 1.0 - fresnelNdotV32, _Vector1.y ) );
|
|
float temp_output_78_0 = ( pow( lerpResult24 , _Float4 ) * fresnelNode32 );
|
|
o.Smoothness = temp_output_78_0;
|
|
o.Alpha = temp_output_78_0;
|
|
}
|
|
|
|
ENDCG
|
|
CGPROGRAM
|
|
#pragma surface surf Standard keepalpha fullforwardshadows
|
|
|
|
ENDCG
|
|
Pass
|
|
{
|
|
Name "ShadowCaster"
|
|
Tags{ "LightMode" = "ShadowCaster" }
|
|
ZWrite On
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma target 3.0
|
|
#pragma multi_compile_shadowcaster
|
|
#pragma multi_compile UNITY_PASS_SHADOWCASTER
|
|
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
|
|
#include "HLSLSupport.cginc"
|
|
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
|
|
#define CAN_SKIP_VPOS
|
|
#endif
|
|
#include "UnityCG.cginc"
|
|
#include "Lighting.cginc"
|
|
#include "UnityPBSLighting.cginc"
|
|
sampler3D _DitherMaskLOD;
|
|
struct v2f
|
|
{
|
|
V2F_SHADOW_CASTER;
|
|
float2 customPack1 : TEXCOORD1;
|
|
float4 tSpace0 : TEXCOORD2;
|
|
float4 tSpace1 : TEXCOORD3;
|
|
float4 tSpace2 : TEXCOORD4;
|
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
|
UNITY_VERTEX_OUTPUT_STEREO
|
|
};
|
|
v2f vert( appdata_full v )
|
|
{
|
|
v2f o;
|
|
UNITY_SETUP_INSTANCE_ID( v );
|
|
UNITY_INITIALIZE_OUTPUT( v2f, o );
|
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
|
|
UNITY_TRANSFER_INSTANCE_ID( v, o );
|
|
Input customInputData;
|
|
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
|
|
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
|
|
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
|
|
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
|
|
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
|
|
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
|
|
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
|
|
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
|
|
o.customPack1.xy = customInputData.uv_texcoord;
|
|
o.customPack1.xy = v.texcoord;
|
|
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
|
|
return o;
|
|
}
|
|
half4 frag( v2f IN
|
|
#if !defined( CAN_SKIP_VPOS )
|
|
, UNITY_VPOS_TYPE vpos : VPOS
|
|
#endif
|
|
) : SV_Target
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID( IN );
|
|
Input surfIN;
|
|
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
|
|
surfIN.uv_texcoord = IN.customPack1.xy;
|
|
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
|
|
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
|
|
surfIN.worldPos = worldPos;
|
|
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
|
|
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
|
|
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
|
|
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
|
|
SurfaceOutputStandard o;
|
|
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
|
|
surf( surfIN, o );
|
|
#if defined( CAN_SKIP_VPOS )
|
|
float2 vpos = IN.pos;
|
|
#endif
|
|
half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
|
|
clip( alphaRef - 0.01 );
|
|
SHADOW_CASTER_FRAGMENT( IN )
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
Fallback "Diffuse"
|
|
CustomEditor "ASEMaterialInspector"
|
|
}
|
|
/*ASEBEGIN
|
|
Version=18935
|
|
2148;206;1466;728;-1622.055;649.9653;2.649051;True;True
|
|
Node;AmplifyShaderEditor.Vector2Node;81;-745.5871,-144.9146;Inherit;False;Property;_Vector0;uv;8;0;Create;False;0;0;0;False;0;False;0,0;20,81.42;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
|
|
Node;AmplifyShaderEditor.TextureCoordinatesNode;80;-462.5818,-158.4611;Inherit;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.RangedFloatNode;7;-346.7054,606.8792;Inherit;False;Constant;_Float1;Float 1;1;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleTimeNode;6;-422.8454,235.0545;Inherit;True;1;0;FLOAT;0.1;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SamplerNode;1;-123.5,-211.5;Inherit;True;Property;_flowmap;flowmap;0;0;Create;True;0;0;0;False;0;False;-1;None;3d4d2b3e9e3c40a49b9f8aaa707a4fef;True;0;False;white;LockedToTexture2D;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;8;31.40314,532.5624;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;5;49.29597,89.69943;Inherit;False;Constant;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;0.25;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.ComponentMaskNode;3;170.9104,-256.1393;Inherit;True;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.SinOpNode;108;-85.01563,193.1452;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;19;232.6269,825.6918;Inherit;False;Constant;_Float2;Float 2;4;0;Create;True;0;0;0;False;0;False;2;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;331.4034,23.59912;Inherit;True;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.FractNode;10;397.2934,489.3843;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.FractNode;2;146.8803,208.2355;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;21;373.8575,790.483;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;608.4376,372.689;Inherit;True;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;9;658.4402,-96.42233;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.TexCoordVertexDataNode;13;636.6515,71.12521;Inherit;False;0;2;0;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.RangedFloatNode;20;553.8987,921.9341;Inherit;False;Constant;_Float3;Float 3;4;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;12;909.8405,319.5907;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;14;991.9231,28.0001;Inherit;True;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.SimpleSubtractOpNode;22;640.3754,794.5624;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.AbsOpNode;23;1432.154,502.1381;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SamplerNode;18;1144.574,294.4584;Inherit;True;Property;_TextureSample2;Texture Sample 2;3;0;Create;True;0;0;0;False;0;False;-1;None;5f8e403c1d7798f40baf54e0a42735ef;True;0;False;white;LockedToTexture2D;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.SamplerNode;16;1912.25,-174.6874;Inherit;True;Property;_TextureSample1;Texture Sample 1;2;0;Create;True;0;0;0;False;0;False;-1;None;5f8e403c1d7798f40baf54e0a42735ef;True;0;False;white;LockedToTexture2D;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.Vector2Node;50;2234.158,972.703;Inherit;False;Property;_Vector1;Vector 1;4;0;Create;True;0;0;0;False;0;False;1,5;1.24,0.14;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
|
|
Node;AmplifyShaderEditor.LerpOp;24;2715.637,127.0987;Inherit;True;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;64;2018.977,334.6451;Inherit;False;Property;_Float4;Float 4;5;0;Create;True;0;0;0;False;0;False;1;0.04;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.PowerNode;62;3103.69,414.4761;Inherit;True;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.FresnelNode;32;2439.021,710.5945;Inherit;True;Standard;WorldNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;76;2962.712,159.7926;Inherit;False;Property;_Float6;Float 6;7;0;Create;True;0;0;0;False;0;False;0;0;0;2;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.DynamicAppendNode;72;2580.199,-362.8462;Inherit;True;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
|
|
Node;AmplifyShaderEditor.ColorNode;68;3100.3,-229.7987;Inherit;False;Property;_Color0;Color 0;6;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0.9615385,0.8352941,0.972549;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;78;3561.495,716.2853;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;107;3551.923,375.3416;Inherit;False;Constant;_Float7;Float 7;9;0;Create;True;0;0;0;False;0;False;0.9;0;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;77;3745.448,81.82875;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;61;3481.539,-350.8777;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;75;2340.698,-169.6378;Inherit;True;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
|
|
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;57;4207.306,332.2799;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;WORLD;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;5;True;True;0;True;Transparent;;Background;All;18;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
|
|
WireConnection;80;0;81;1
|
|
WireConnection;80;1;81;2
|
|
WireConnection;1;1;80;0
|
|
WireConnection;8;0;6;0
|
|
WireConnection;8;1;7;0
|
|
WireConnection;3;0;1;0
|
|
WireConnection;108;0;6;0
|
|
WireConnection;4;0;3;0
|
|
WireConnection;4;1;5;0
|
|
WireConnection;10;0;8;0
|
|
WireConnection;2;0;108;0
|
|
WireConnection;21;0;2;0
|
|
WireConnection;21;1;19;0
|
|
WireConnection;11;0;4;0
|
|
WireConnection;11;1;10;0
|
|
WireConnection;9;0;4;0
|
|
WireConnection;9;1;2;0
|
|
WireConnection;12;0;13;0
|
|
WireConnection;12;1;11;0
|
|
WireConnection;14;0;9;0
|
|
WireConnection;14;1;13;0
|
|
WireConnection;22;0;21;0
|
|
WireConnection;22;1;20;0
|
|
WireConnection;23;0;22;0
|
|
WireConnection;18;1;12;0
|
|
WireConnection;16;1;14;0
|
|
WireConnection;24;0;16;1
|
|
WireConnection;24;1;18;1
|
|
WireConnection;24;2;23;0
|
|
WireConnection;62;0;24;0
|
|
WireConnection;62;1;64;0
|
|
WireConnection;32;2;50;1
|
|
WireConnection;32;3;50;2
|
|
WireConnection;72;1;16;1
|
|
WireConnection;72;2;18;2
|
|
WireConnection;78;0;62;0
|
|
WireConnection;78;1;32;0
|
|
WireConnection;77;0;72;0
|
|
WireConnection;77;1;76;0
|
|
WireConnection;61;0;24;0
|
|
WireConnection;61;1;68;0
|
|
WireConnection;75;0;16;0
|
|
WireConnection;75;1;18;0
|
|
WireConnection;75;2;23;0
|
|
WireConnection;57;0;61;0
|
|
WireConnection;57;1;77;0
|
|
WireConnection;57;3;107;0
|
|
WireConnection;57;4;78;0
|
|
WireConnection;57;9;78;0
|
|
ASEEND*/
|
|
//CHKSM=84B822C73FC3DCDD97D5EA915CEBFB59A90CE45F |