深圳国内设计网站,小学手工制作100种,上海柘中建设股份有限公司网站,重庆餐饮网站建设Unity Shader-真实下雨路面 简介素材1.准备插件Amplify Shader Editor#xff08;这里我使用的是1.6.4最新版#xff09;2.贴纸和切图d 一、创建一个Shader Surface#xff0c;实现气泡播放效果二、叠加一次气泡播放效果#xff0c;使其看起来更多#xff0c;更无序三、小… Unity Shader-真实下雨路面 简介素材1.准备插件Amplify Shader Editor这里我使用的是1.6.4最新版2.贴纸和切图d 一、创建一个Shader Surface实现气泡播放效果二、叠加一次气泡播放效果使其看起来更多更无序三、小波浪无序四、将做好的三替换二中的Scale五、添加实物Albedo和Normal六、最终连线七、代码如下 简介
根据YouToBe PolyToots实现 效果
素材
1.准备插件Amplify Shader Editor这里我使用的是1.6.4最新版
2.贴纸和切图d
水波纹法线切图 地板法线切图 地板贴图
一、创建一个Shader Surface实现气泡播放效果
Time的Scale值为1 Flipbook UV Animation插件自带方法循环播放区域材质值设置如图 效果如下动态气泡循环播放
二、叠加一次气泡播放效果使其看起来更多更无序
其中的Divide的B值为0.6无序效果 Scale为波纹大小0为无波纹加大波纹加深 Blend Normals将两次效果叠加
三、小波浪无序
上下两层方向分别不同上层Panner为1,1 下层Panner为-1-1 Ripple Mask Speed为波浪遮罩的播放速度
四、将做好的三替换二中的Scale
如图所示 五、添加实物Albedo和Normal
Albedo Tiling 文理大小
Normal使其发现文理进行移动波纹 Puddle Speed是速度 Puddle Strength波纹深度
六、最终连线 七、代码如下
如果不适用插件可以将下述注释删除
// Made with Amplify Shader Editor // Available at the Unity Asset Store - http://u3d.as/y3X Shader “Rain/Test” { Properties { _Texture0(“Texture 0”, 2D) “bump” {} _RippleTiling(“Ripple Tiling”, Float) 12 _Albedo(“Albedo”, 2D) “white” {} _AmbientOcclusion(“Ambient Occlusion”, 2D) “white” {} _RippleSpeed(“Ripple Speed”, Float) 12 _NormalMap(“Normal Map”, 2D) “bump” {} _Wetness(“Wetness”, Range( 0 , 1)) 0.766323 _RippleXY(“Ripple XY”, Vector) (0,0,0,0) _PubbleNormals(“Pubble Normals”, 2D) “bump” {} _RippleMaskSpeed(“Ripple Mask Speed”, Float) 0.32 _Tint(“Tint”, Color) (1,1,1,0) _Tilling(“Tilling”, Float) 1 _RippleStrength(“Ripple Strength”, Float) 1 _PuddleTiling(“Puddle Tiling”, Float) 0.5 _PuddleStrength(“Puddle Strength”, Float) 0.02 _PuddleSpeed(“Puddle Speed”, Float) 0 [HideInInspector] _texcoord( “”, 2D ) “white” {} [HideInInspector] __dirty( “”, Int ) 1 }
SubShader
{Tags{ RenderType Opaque Queue Geometry0 }Cull BackCGPROGRAM#include UnityStandardUtils.cginc#include UnityShaderVariables.cginc#pragma target 3.0#pragma surface surf Standard keepalpha addshadow fullforwardshadows struct Input{float2 uv_texcoord;};uniform sampler2D _NormalMap;uniform float _Tilling;uniform sampler2D _Texture0;uniform float _RippleStrength;uniform float _RippleMaskSpeed;uniform float _RippleTiling;uniform float _RippleSpeed;uniform float2 _RippleXY;uniform sampler2D _PubbleNormals;uniform float _PuddleStrength;uniform float _PuddleSpeed;uniform float _PuddleTiling;uniform sampler2D _Albedo;uniform sampler2D _AmbientOcclusion;uniform float4 _Tint;uniform float _Wetness;float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) 1.0 ) * x ); }float snoise( float2 v ){const float4 C float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );float2 i floor( v dot( v, C.yy ) );float2 x0 v - i dot( i, C.xx );float2 i1;i1 ( x0.x x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );float4 x12 x0.xyxy C.xxzz;x12.xy - i1;i mod2D289( i );float3 p permute( permute( i.y float3( 0.0, i1.y, 1.0 ) ) i.x float3( 0.0, i1.x, 1.0 ) );float3 m max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );m m * m;m m * m;float3 x 2.0 * frac( p * C.www ) - 1.0;float3 h abs( x ) - 0.5;float3 ox floor( x 0.5 );float3 a0 x - ox;m * 1.79284291400159 - 0.85373472095314 * ( a0 * a0 h * h );float3 g;g.x a0.x * x0.x h.x * x0.y;g.yz a0.yz * x12.xz h.yz * x12.yw;return 130.0 * dot( m, g );}void surf( Input i , inout SurfaceOutputStandard o ){float2 temp_cast_0 (_Tilling).xx;float2 uv_TexCoord64 i.uv_texcoord * temp_cast_0;float3 NormalMap69 UnpackNormal( tex2D( _NormalMap, uv_TexCoord64 ) );float temp_output_36_0 ( _Time.y * _RippleMaskSpeed );float RippleTiling14 _RippleTiling;float2 temp_cast_1 (RippleTiling14).xx;float2 uv_TexCoord37 i.uv_texcoord * temp_cast_1;float2 panner40 ( temp_output_36_0 * float2( 1,1 ) uv_TexCoord37);float simplePerlin2D41 snoise( panner40 );float2 temp_cast_2 (RippleTiling14).xx;float2 uv_TexCoord38 i.uv_texcoord * temp_cast_2;float2 panner39 ( temp_output_36_0 * float2( -1,-1 ) uv_TexCoord38);float simplePerlin2D42 snoise( panner39 );float RippleMask46 ( _RippleStrength * ( simplePerlin2D41 simplePerlin2D42 ) );float2 temp_cast_3 (RippleTiling14).xx;float2 uv_TexCoord4 i.uv_texcoord * temp_cast_3;float4 appendResult11 (float4(frac( uv_TexCoord4.x ) , frac( uv_TexCoord4.y ) , 0.0 , 0.0));float temp_output_7_0 ( _Time.y * _RippleSpeed );// *** BEGIN Flipbook UV Animation vars ***// Total tiles of Flipbook Texturefloat fbtotaltiles2 4.0 * 4.0;// Offsets for cols and rows of Flipbook Texturefloat fbcolsoffset2 1.0f / 4.0;float fbrowsoffset2 1.0f / 4.0;// Speed of animationfloat fbspeed2 temp_output_7_0 * 1.0;// UV Tiling (col and row offset)float2 fbtiling2 float2(fbcolsoffset2, fbrowsoffset2);// UV Offset - calculate current tile linear index, and convert it to (X * coloffset, Y * rowoffset)// Calculate current tile linear indexfloat fbcurrenttileindex2 round( fmod( fbspeed2 0.0, fbtotaltiles2) );fbcurrenttileindex2 ( fbcurrenttileindex2 0) ? fbtotaltiles2 : 0;// Obtain Offset X coordinate from current tile linear indexfloat fblinearindextox2 round ( fmod ( fbcurrenttileindex2, 4.0 ) );// Multiply Offset X by coloffsetfloat fboffsetx2 fblinearindextox2 * fbcolsoffset2;// Obtain Offset Y coordinate from current tile linear indexfloat fblinearindextoy2 round( fmod( ( fbcurrenttileindex2 - fblinearindextox2 ) / 4.0, 4.0 ) );// Reverse Y to get tiles from Top to Bottomfblinearindextoy2 (int)(4.0-1) - fblinearindextoy2;// Multiply Offset Y by rowoffsetfloat fboffsety2 fblinearindextoy2 * fbrowsoffset2;// UV Offsetfloat2 fboffset2 float2(fboffsetx2, fboffsety2);// Flipbook UVhalf2 fbuv2 appendResult11.xy * fbtiling2 fboffset2;// *** END Flipbook UV Animation vars ***float2 temp_cast_5 (( RippleTiling14 / 0.6 )).xx;float2 uv_TexCoord29 i.uv_texcoord * temp_cast_5 _RippleXY;float4 appendResult25 (float4(frac( uv_TexCoord29.x ) , frac( uv_TexCoord29.y ) , 0.0 , 0.0));float fbtotaltiles26 4.0 * 4.0;float fbcolsoffset26 1.0f / 4.0;float fbrowsoffset26 1.0f / 4.0;float fbspeed26 temp_output_7_0 * 2.0;float2 fbtiling26 float2(fbcolsoffset26, fbrowsoffset26);float fbcurrenttileindex26 round( fmod( fbspeed26 0.0, fbtotaltiles26) );fbcurrenttileindex26 ( fbcurrenttileindex26 0) ? fbtotaltiles26 : 0;float fblinearindextox26 round ( fmod ( fbcurrenttileindex26, 4.0 ) );float fboffsetx26 fblinearindextox26 * fbcolsoffset26;float fblinearindextoy26 round( fmod( ( fbcurrenttileindex26 - fblinearindextox26 ) / 4.0, 4.0 ) );fblinearindextoy26 (int)(4.0-1) - fblinearindextoy26;float fboffsety26 fblinearindextoy26 * fbrowsoffset26;float2 fboffset26 float2(fboffsetx26, fboffsety26);half2 fbuv26 appendResult25.xy * fbtiling26 fboffset26;float3 RippleNormals16 BlendNormals( UnpackScaleNormal( tex2D( _Texture0, fbuv2 ), RippleMask46 ) , UnpackScaleNormal( tex2D( _Texture0, fbuv26 ), RippleMask46 ) );float2 temp_cast_7 (_PuddleSpeed).xx;float2 temp_cast_8 (_PuddleTiling).xx;float2 uv_TexCoord52 i.uv_texcoord * temp_cast_8;float2 panner53 ( 1.0 * _Time.y * temp_cast_7 uv_TexCoord52);float2 temp_cast_9 (_PuddleSpeed).xx;float2 panner54 ( -1.0 * _Time.y * temp_cast_9 uv_TexCoord52);float3 BuddleNormals60 BlendNormals( UnpackScaleNormal( tex2D( _PubbleNormals, panner53 ), _PuddleStrength ) , UnpackScaleNormal( tex2D( _PubbleNormals, panner54 ), _PuddleStrength ) );o.Normal BlendNormals( BlendNormals( NormalMap69 , RippleNormals16 ) , BuddleNormals60 );float4 tex2DNode66 tex2D( _AmbientOcclusion, uv_TexCoord64 );float4 Albedo73 ( ( tex2D( _Albedo, uv_TexCoord64 ) * tex2DNode66 ) * ( tex2DNode66 * _Tint ) );o.Albedo Albedo73.rgb;o.Smoothness _Wetness;o.Alpha 1;}ENDCG
}
Fallback Diffuse
CustomEditor ASEMaterialInspector} /ASEBEGIN Version16400 -68;39;1666;1014;817.8931;260.8338;1;True;False Node;AmplifyShaderEditor.CommentaryNode;12;-3355.09,-989.1117;Float;False;586.944;326.0742;Comment;2;14;3;Ripple Comment;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;3;-3294.911,-930.9709;Float;False;Property;_RippleTiling;Ripple Tiling;1;0;Create;True;0;0;False;0;12;12;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;32;-3351.029,1190.761;Float;False;2071.651;1523.767;Comment;15;47;46;45;44;43;42;41;40;39;38;37;36;35;34;33;RippleMask;1,1,1,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;14;-3015.1,-927.4686;Float;False;RippleTiling;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleTimeNode;33;-3263.728,1541.358;Float;False;1;0;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;34;-3262.683,1835.785;Float;False;Property;_RippleMaskSpeed;Ripple Mask Speed;9;0;Create;True;0;0;False;0;0.32;0.32;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;47;-3282.994,1282.761;Float;False;14;RippleTiling;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;35;-3260.323,2173.169;Float;False;14;RippleTiling;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;61;-3353.301,-483.8907;Float;False;2941.288;1503.865;Comment;22;15;21;20;4;29;5;23;6;24;10;9;25;7;11;26;2;19;48;27;8;31;16;RippleNormals;1,1,1,1;0;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;37;-2931.994,1265.761;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.TextureCoordinatesNode;38;-2909.323,2156.169;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.SimpleMultiplyOpNode;36;-2885.041,1699.937;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.PannerNode;40;-2597.995,1264.761;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.PannerNode;39;-2575.324,2155.169;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;-1,-1;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.GetLocalVarNode;15;-3303.301,92.51138;Float;False;14;RippleTiling;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NoiseGeneratorNode;41;-2273.634,1258.99;Float;True;Simplex2D;1;0;FLOAT2;0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NoiseGeneratorNode;42;-2262.773,2144.102;Float;True;Simplex2D;1;0;FLOAT2;0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.Vector2Node;21;-2947.847,715.9747;Float;False;Property;_RippleXY;Ripple XY;7;0;Create;True;0;0;False;0;0,0;0.36,0.78;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.SimpleDivideOpNode;20;-2940.057,366.9143;Float;False;2;0;FLOAT;0;False;1;FLOAT;0.6;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;44;-1979.375,1396.604;Float;False;Property;_RippleStrength;Ripple Strength;12;0;Create;True;0;0;False;0;1;0.9;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;43;-2037.874,1689.104;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2567.736,570.6806;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.TextureCoordinatesNode;4;-2526.319,-339.3379;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.FractNode;24;-2258.77,754.4778;Float;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.FractNode;9;-2188.35,-185.1644;Float;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.FractNode;10;-2187.643,-433.8907;Float;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.FractNode;23;-2252.16,459.6964;Float;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;45;-1740.173,1683.904;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;6;-2678.741,215.9942;Float;False;Property;_RippleSpeed;Ripple Speed;4;0;Create;True;0;0;False;0;12;12;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleTimeNode;5;-2681.187,-45.40055;Float;False;1;0;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;11;-1965.409,-332.1539;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.RangedFloatNode;50;-3613.844,3350.654;Float;False;Property;_PuddleTiling;Puddle Tiling;13;0;Create;True;0;0;False;0;0.5;3;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;49;-3341.595,2939.066;Float;False;1872.621;950.4155;Comment;10;60;59;58;57;56;55;54;53;52;51;Normal;1,1,1,1;0;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;7;-2414.156,77.1777;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;25;-1974.77,607.4779;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.RegisterLocalVarNode;46;-1483.587,1684.71;Float;False;RippleMask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;51;-3064.832,3325.1;Float;False;Property;_PuddleSpeed;Puddle Speed;15;0;Create;True;0;0;False;0;0;0.01;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;52;-3350.564,3332.414;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.TexturePropertyNode;19;-1898.052,151.8211;Float;True;Property;_Texture0;Texture 0;0;0;Create;True;0;0;False;0;816e17b685c814145a564d588ff4cb47;816e17b685c814145a564d588ff4cb47;True;bump;Auto;Texture2D;0;1;SAMPLER2D;0 Node;AmplifyShaderEditor.TFHCFlipBookUVAnimation;2;-1664.473,-272.2601;Float;False;0;0;6;0;FLOAT2;0,0;False;1;FLOAT;4;False;2;FLOAT;4;False;3;FLOAT;1;False;4;FLOAT;0;False;5;FLOAT;0;False;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.RangedFloatNode;63;-3744.713,4469.7;Float;False;Property;_Tilling;Tilling;11;0;Create;True;0;0;False;0;1;2;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;48;-1532.046,134.3046;Float;False;46;RippleMask;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.TFHCFlipBookUVAnimation;26;-1687.59,662.1809;Float;False;0;0;6;0;FLOAT2;0,0;False;1;FLOAT;4;False;2;FLOAT;4;False;3;FLOAT;2;False;4;FLOAT;0;False;5;FLOAT;0;False;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.PannerNode;53;-2751.471,3004.115;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RangedFloatNode;56;-2835.062,3325.482;Float;False;Property;_PuddleStrength;Puddle Strength;14;0;Create;True;0;0;False;0;0.02;1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.PannerNode;54;-2710.547,3636.487;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;-1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.CommentaryNode;74;-3180.966,4156.568;Float;False;1446.282;780.4399;Comment;7;73;72;71;70;67;66;65;Albedo;1,1,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;8;-1313.615,-247.9286;Float;True;Property;_RippleNormals;Ripple Normals;0;0;Create;True;0;0;False;0;6a25882c01ccc5645a09189a437c4190;6a25882c01ccc5645a09189a437c4190;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CommentaryNode;62;-3180.601,5107.166;Float;False;658.8622;308;Comment;2;69;68;Normal Map;1,1,1,1;0;0 Node;AmplifyShaderEditor.SamplerNode;27;-1321.132,494.5757;Float;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;False;0;None;816e17b685c814145a564d588ff4cb47;True;0;False;white;Auto;True;Object;-1;Auto;Texture2D;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.TextureCoordinatesNode;64;-3549.375,4468.769;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.TexturePropertyNode;55;-2593.646,3325.723;Float;True;Property;_PubbleNormals;Pubble Normals;8;0;Create;True;0;0;False;0;77fdad851e93f394c9f8a1b1a63b56f3;77fdad851e93f394c9f8a1b1a63b56f3;True;bump;Auto;Texture2D;0;1;SAMPLER2D;0 Node;AmplifyShaderEditor.SamplerNode;58;-2343.102,2989.066;Float;True;Property;_PuddleNormals;PuddleNormals;12;0;Create;True;0;0;False;0;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;57;-2349.544,3664.634;Float;True;Property;_TextureSample2;Texture Sample 2;12;0;Create;True;0;0;False;0;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;67;-3122.965,4206.567;Float;True;Property;_Albedo;Albedo;2;0;Create;True;0;0;False;0;None;7af3ece29374c234f9406a3bb35df76c;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;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;66;-3130.966,4438.568;Float;True;Property;_AmbientOcclusion;Ambient Occlusion;3;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;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.ColorNode;65;-3107.266,4730.008;Float;False;Property;_Tint;Tint;10;0;Create;True;0;0;False;0;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.BlendNormalsNode;31;-976.1909,125.1722;Float;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SamplerNode;68;-3130.601,5167.686;Float;True;Property;_NormalMap;Normal Map;5;0;Create;True;0;0;False;0;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;71;-2667.965,4331.567;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;69;-2764.738,5157.166;Float;False;NormalMap;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;70;-2641.283,4644.619;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.BlendNormalsNode;59;-2007.547,3272.481;Float;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;16;-660.0125,116.6779;Float;False;RippleNormals;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;76;-136.3259,-43.13544;Float;False;69;NormalMap;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;78;-148.276,221.2466;Float;False;16;RippleNormals;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;60;-1719.975,3268.117;Float;False;BuddleNormals;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;72;-2250.93,4473.839;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.BlendNormalsNode;77;111.0801,70.11458;Float;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;73;-1977.684,4468.96;Float;False;Albedo;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;79;185.2241,502.6126;Float;False;60;BuddleNormals;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;18;432.9712,683.4807;Float;False;Property;_Wetness;Wetness;6;0;Create;True;0;0;False;0;0.766323;0.912;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.BlendNormalsNode;75;432.551,129.3415;Float;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;17;451.5947,-256.6484;Float;False;73;Albedo;1;0;OBJECT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;826.3973,89.31544;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;Rain/Test;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;True;True;True;True;True;True;True;True;True;True;True;True;True;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;0;0;False;-1;0;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;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;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;14;0;3;0 WireConnection;37;0;47;0 WireConnection;38;0;35;0 WireConnection;36;0;33;0 WireConnection;36;1;34;0 WireConnection;40;0;37;0 WireConnection;40;1;36;0 WireConnection;39;0;38;0 WireConnection;39;1;36;0 WireConnection;41;0;40;0 WireConnection;42;0;39;0 WireConnection;20;0;15;0 WireConnection;43;0;41;0 WireConnection;43;1;42;0 WireConnection;29;0;20;0 WireConnection;29;1;21;0 WireConnection;4;0;15;0 WireConnection;24;0;29;2 WireConnection;9;0;4;2 WireConnection;10;0;4;1 WireConnection;23;0;29;1 WireConnection;45;0;44;0 WireConnection;45;1;43;0 WireConnection;11;0;10;0 WireConnection;11;1;9;0 WireConnection;7;0;5;0 WireConnection;7;1;6;0 WireConnection;25;0;23;0 WireConnection;25;1;24;0 WireConnection;46;0;45;0 WireConnection;52;0;50;0 WireConnection;2;0;11;0 WireConnection;2;5;7;0 WireConnection;26;0;25;0 WireConnection;26;5;7;0 WireConnection;53;0;52;0 WireConnection;53;2;51;0 WireConnection;54;0;52;0 WireConnection;54;2;51;0 WireConnection;8;0;19;0 WireConnection;8;1;2;0 WireConnection;8;5;48;0 WireConnection;27;0;19;0 WireConnection;27;1;26;0 WireConnection;27;5;48;0 WireConnection;64;0;63;0 WireConnection;58;0;55;0 WireConnection;58;1;53;0 WireConnection;58;5;56;0 WireConnection;57;0;55;0 WireConnection;57;1;54;0 WireConnection;57;5;56;0 WireConnection;67;1;64;0 WireConnection;66;1;64;0 WireConnection;31;0;8;0 WireConnection;31;1;27;0 WireConnection;68;1;64;0 WireConnection;71;0;67;0 WireConnection;71;1;66;0 WireConnection;69;0;68;0 WireConnection;70;0;66;0 WireConnection;70;1;65;0 WireConnection;59;0;58;0 WireConnection;59;1;57;0 WireConnection;16;0;31;0 WireConnection;60;0;59;0 WireConnection;72;0;71;0 WireConnection;72;1;70;0 WireConnection;77;0;76;0 WireConnection;77;1;78;0 WireConnection;73;0;72;0 WireConnection;75;0;77;0 WireConnection;75;1;79;0 WireConnection;0;0;17;0 WireConnection;0;1;75;0 WireConnection;0;4;18;0 ASEEND/ //CHKSM3EAB7961F0450BC6B867D77FCEB0E844159182DC
有兴趣的可以一起研究一下更多AAA级 shader