Shader "Custom/WaterSimple" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _NormalMap ("Normal map", 2D) = "bump" {} _Bumpiness ("Bumpiness", Float) = 1.0 _Shininess ("Specular Shininess", Float) = 0.078125 _Gloss ("Specular Gloss", Float) = 0.078125 _Fresnel("Fresnel Coef.", Float) = 0.35 _SpecColor ("Spec Color", Color) = (1.0,1.0,1.0,1.0) _WorldS("World Scale", Float) = 1.0 _Opacity("Opacity", Float) = 0.5 _Scroll("Scroll", Vector) = (0,0,0,0) } SubShader { Blend SrcAlpha OneMinusSrcAlpha Tags { "RenderType"="Transparent" "Queue"="Transparent"} LOD 200 CGPROGRAM #pragma surface surf BlinnPhong #pragma target 3.0 sampler2D _MainTex; sampler2D _NormalMap; float _Bumpiness; float _Shininess; float _Gloss; float _Fresnel; float _WorldS; float _Opacity; float4 _Scroll; struct Input { float2 uv_MainTex; float3 worldPos; }; void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.a; float2 uvSrc = IN.worldPos.xz * _WorldS; float2 uv1 = uvSrc + _Time.y * _Scroll.xy; float2 uv2 = uvSrc + _Time.y * _Scroll.zw; float3 nm1 = UnpackNormal (tex2D (_NormalMap, uv1)); float3 nm2 = UnpackNormal (tex2D (_NormalMap, uv2)); float3 nm3 = (nm1 + nm2) * 0.5f; float3 nm = lerp(float3(0,0,1), nm3, _Bumpiness); o.Normal = nm; o.Gloss = _Gloss; o.Specular = _Shininess; o.Alpha =_Opacity; } ENDCG } FallBack "Diffuse" }